- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 13

Thema: Mauseklavier 3 Wahlschalter aber 5 Programme

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied Avatar von Der bastler
    Registriert seit
    09.05.2011
    Ort
    Langenhorn, Hamburg, Germany, Germany
    Beiträge
    72
    Blog-Einträge
    1

    Mauseklavier 3 Wahlschalter aber 5 Programme

    Hallo ist es möglich mit Bascom einen mausklavier der 3 schalter hat 5 programme auszuführen?

    mein beispiel:
    Code:
    Do
    If Dip1 = 0 Then Gosub Prog_1       'Lauflicht1
    If Dip2 = 0 Then Gosub Prog_2       'Lauflicht2
    If Dip3 = 0 Then Gosub Prog_3       'Lauflicht3
    Dip1 = 1 : Dip2 = 1 : Dip3 = 1 Then Gosub Testlauf    'Ausgang TEST
    Loop
    Würde mich sehr freuen Vielen dank schonmal
    Mit Freundtlichen Grüßen
    Thorsten Sch.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Hallo bastler,

    mit drei Dipschaltern, kann man 2^3=8 binäre Kombinationen einstellen.
    1. 000
    2. 001
    3. 010
    4. 011
    5. 100
    6. 101
    7. 110
    8. 111

    Dezimal sind das die Zahlen von 0 bis 7. Deshalb würde ich die Dipschalter an einen Port des µCs, beginnend mit Portpin 0, anschließen. Durch kann man die Schalter recht einfach abfragen und mit der SELECT-CASE Anweisung weiterverarbeiten.

    Im Code werden durch "and &B0000_0111" nur die Zustände der Dipschalter an PINB.0, PINB.1 und PINB.2 in die Variable Kodierschalter übernommen und Bit 3 bis Bit 7 in Kodierschalter auf 0 gesetzt.

    Danach einfach mit SELECT-CASE die Unterprogramme anspringen.

    Code:
    Dim Kodierschalter As Byte
    
    Kodierschalter = PINB And &B0000_0111
    
    Select Case Kodierschalter
      Case 0 : Gosub Prog_0
      Case 1 : Gosub Prog_1
      Case 2 : Gosub Prog_2
    '  Case 3 : Gosub Prog_3
    '  Case 4 : Gosub Prog_4
      Case 7 : Gosub Testlauf
    '  Case Else: gosub xy
    End Select

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  3. #3
    Benutzer Stammmitglied Avatar von Der bastler
    Registriert seit
    09.05.2011
    Ort
    Langenhorn, Hamburg, Germany, Germany
    Beiträge
    72
    Blog-Einträge
    1
    Hallo Searcher
    wenn ich richtig verstehe kommt das was in der do loop schleife nichts rein richtig?

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Zitat Zitat von Der bastler Beitrag anzeigen
    wenn ich richtig verstehe kommt das was in der do loop schleife nichts rein richtig?
    Das hängt von Deinem Programm ab. Wenn die Schalter ständig abgefragt werden müssen bzw sollen, sähe es so aus:

    Code:
    do
    
    Kodierschalter = PINB And &B0000_0111
    
    Select Case Kodierschalter
      Case 0 : Gosub Prog_0
      Case 1 : Gosub Prog_1
      Case 2 : Gosub Prog_2
    '  Case 3 : Gosub Prog_3
    '  Case 4 : Gosub Prog_4
      Case 7 : Gosub Testlauf
    '  Case Else: gosub xy
    End Select
    
    Loop
    Das SELECT-CASE ist der Ersatz für Dein IF THEN und müßte Deinem Beispiel nach auch in die DO LOOP Schleife zusammen mit der PIN Abfrage. Wie gesagt, hängt von Deinem übrigen Programm ab.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  5. #5
    Benutzer Stammmitglied Avatar von Der bastler
    Registriert seit
    09.05.2011
    Ort
    Langenhorn, Hamburg, Germany, Germany
    Beiträge
    72
    Blog-Einträge
    1
    Juhu Searcher
    werde es morgen mal propieren vielen dank

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Zu den 3 Dipschaltern, sollte man noch einen Taster für Übernehme vorsehen. (Ist bei meinem alten 8048 so, bei dem man das S-RAM, komplett über Schalter binär programmieren muß).

    Sinn des ganzen, ist daß wenn der µC läuft und man grade dabei ist die Schalterstellungen zu ändern, nicht die Schalterstellungen eingelesen werden, wärend man den ersten Schalter schon richtig eingestellt hat, aber die beiden anderen noch falsch stehen.
    Dadurch würde das falsche Programm angesprungen werden.
    Im Extremfall wenn alle drei Schalterstellungen verändert werden müssen, würden beim Wechseln des Programms dann folgendes passieren.
    Ausführen der Programme.
    altes Programm
    falsches Programm 1
    falsches Programm 2
    neues Programm

    Wenn es egal ist, das beim Programm wechsel bis zu zwei falsche Programme kurzzeitig ausgeführt werden, oder wenn die Programmwahl nur erfolgt wenn der µC stromlos (ausgeschaltet) ist, dann braucht man keinen Übernahmentaster.

    Sonst würde man nur den Taster überwachen und nur wenn dieser gedückt ist in das CASE verzweigen und die Programmwahl durchführen.
    Geändert von i_make_it (14.06.2018 um 10:36 Uhr)

Ähnliche Themen

  1. Golem.de guckt: Aber nein, aber ja, aber nein
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 15.09.2012, 09:10
  2. RP6 Programme
    Von J.M im Forum Robby RP6
    Antworten: 1
    Letzter Beitrag: 22.02.2008, 21:52
  3. Programme
    Von AsUro-KidY im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 16.03.2007, 21:59
  4. Programme in .hex
    Von xxxmichixxx im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 8
    Letzter Beitrag: 24.01.2006, 21:38
  5. Programme für PDA
    Von Felixx87 im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 2
    Letzter Beitrag: 13.01.2005, 18:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress