- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 10

Thema: Servo über Tastatur steuern

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    336

    Servo über Tastatur steuern

    Anzeige

    E-Bike
    hallo ich wollte machen, wenn ich die 2 drücke soll der Servo weiter nach rechts fahren, wenn ich die 8 drücke soll er weiter nach links fahren. Doch er meldet mir immer einen Fehler in Line 53 (also in der letzten Zeile) und der Servo fährt bis auf Anschlag nach links.

    Code:
    $regfile = "m32def.dat"
    $crystal = 8000000
    $baud = 9600
    
    Config Keyboard = Pinb.0 , Data = Pinb.1 , Keydata = Keydata
    Config Servos = 1 , Servo1 = Portc.7 , Reload = 10
    Config Portc = Output
    
    Enable Interrupts
    
    Dim Key As Byte
    Dim I As Byte
    I = 120
    Servo(1) = I
    Print "Test"
    
    Do
       Key = Getatkbd()
       If Key <> 0 Then
          Print "Taste " ; Chr(key) ; "I =" ; I
    
    End If
       If Key = 8 Then
       I = I + 10
       If Key = 2 Then
       I = I + 10
    
    
    Loop
    End
    
    
    Keydata:
    
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
    Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
    Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
    Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
    Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
    Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
    Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
    
    
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
    Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
    Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
    Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
    Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
    Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    336
    für was steht überhaupt das End If? weil wenn ich dies weg mache, dann meldet er mir den gleichen Fehler

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    336
    das mit links recht funktioniert jetzt schon. doch ich muss die tasten immer 2 mal drücken damit ich ein Ergebnis bekomme. was muss ich da noch ändern?
    Do
    Servo(1) = I


    Key = Getatkbd()
    If Key = 56 Then
    Print "Taste " ; Chr(key) ; " (" ; Key ; ")" ; " I=" ; I
    I = I + 1

    End If

    Key = Getatkbd()
    If Key = 50 Then
    Print "Taste " ; Chr(key) ; " (" ; Key ; ")" ; " I=" ; I
    I = I - 1

    End If


    Loop

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    GetatKybd wartet, bis eine Taste gedrückt wird.
    Wenn also NICHT 56, dann liest er nochmal.
    Vorschlag:
    Code:
    do
        Key = Getatkbd() 
        If Key = 56 Then 
           Print "Taste " ; Chr(key) ; " (" ; Key ; ")" ; " I=" ; I 
           I = I + 1 
        End If 
        If Key = 50 Then 
           Print "Taste " ; Chr(key) ; " (" ; Key ; ")" ; " I=" ; I 
           I = I - 1 
        End if
    
    loop
    Gleichzeitig 50 + 56 kannst du eh nicht drücken
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    336
    Danke es funktioniert

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    336
    kann man das Warten nicht unterbrechen, oder nur eine Taste abfragen, und dann mit dem Programm weiter machen? is ja nicht besonders gut wenn dann gleich dass Programm stehen bleibt.

  7. #7
    Gast
    hallo

    sorry das ich diesen alten theard nochmal raushole.

    Aber ich beschäftige mich erst kurz damit.

    Könnte mir jemand helfen und sagen was ich alles brauch um 4 Servos per tastatur zu steuern

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2005
    Beiträge
    219
    4 servos, ne tastatur...

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.12.2004
    Beiträge
    486
    Und nen MC
    Kabel!
    Vielleicht Stecker und noch eine Stromversorgung.
    Und natürlich die Servobefehle von Bascom
    Alle sagten: "Das geht nicht!" Dann kam einer, der wusste das nicht und hat´s gemacht

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    336
    hallo also ich habe einen Atmega 32 eine alte PS2 Tastatur und 16 Servos. Die kann ich alle per tastatur steuern. Mehr brauchst du dazu nicht.

Berechtigungen

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

12V Akku bauen