-         
+ Antworten
Ergebnis 1 bis 10 von 10

Thema: Robby Programm Touch-Stop

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    16.10.2004
    Alter
    26
    Beiträge
    67

    Robby Programm Touch-Stop

    Hi,
    ich hoffe mal das thema passt! *gg*
    Also ich habe ein Problem *gg*
    Ich habe das Programm Einführung Antrieb so verändert, dass Robby eine bestimmte Zeit stoppen soll, wenn man den Touchsensor berührt!
    Aber Robby stoppt automatisch nach der eingegeben Zeit! Immer! Das ist doch komisch oder?

    Also hier die Modifikation:

    if TOUCH then goto Stop
    if (ACSL_F and ACSR_F)=on then goto rotate
    if ACSL_F=on then goto move_right
    if ACSR_F=on then goto move_left
    SYS FWDR:SYS FWDL:SPEED_L=255:SPEED_R=255:goto loop

    #Stop
    SPEED_L=0:SPEED_R=0ause 500:SYS ROTR:goto loop




    Was habe ich falsch gemacht?


    mfg

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    18.09.2004
    Ort
    Hessen
    Beiträge
    26
    Hi,
    wo fängt dein #loop an? Und welche eingegebene Zeit meinst du?

    Gruß

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    16.10.2004
    Alter
    26
    Beiträge
    67
    So hier einmal ab dem loop:

    #loop
    pause 5:SYS COMNAV_STATUS
    '--------- LEDs ansteuern --------------------
    if ACSL_F=on then gosub LED4ON else gosub LED4OFF
    if ACSR_F=on then gosub LED1ON else gosub LED1OFF
    '--------- AUSWEICHMANÖVER EINLEITEN ---------
    if TOUCH then goto Stop
    if (ACSL_F and ACSR_F)=on then goto rotate
    if ACSL_F=on then goto move_right
    if ACSR_F=on then goto move_left
    SYS FWDR:SYS FWDL:SPEED_L=255:SPEED_R=255:goto loop

    '-------- AUSWEICHEN NACH RECHTS -------------
    #move_right
    SPEED_R=100:SPEED_L=255:goto loop
    '-------- AUSWEICHEN NACH LINKS -------------
    #move_left
    SPEED_L=100:SPEED_R=255:goto loop
    '---------- ROTIEREN --------------------
    #rotate
    SPEED_L=150:SPEED_R=150:SYS ROTR:goto loop
    '----------------------------------------------
    #Stop
    SPEED_L=0:SPEED_R=0ause 500:SYS ROTR:goto loop



    Also bei #Stop ist ja eine Pause angegeben (500) <-- Das ist auch die Zeit nach der Robby automatisch stehen bleit - die Pause beim Touch und beim normalen fahren stimmen überein!

    mfg

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941

    touch problem

    hallo, du musst einen vergleichswert eingeben.
    je nach feuchtigkeit der finger geht er von ca 20- 200.
    mfg pebisoft
    "if touch > 70 then goto stop"

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    18.09.2004
    Ort
    Hessen
    Beiträge
    26
    OK.
    Also ich habe es nicht probiert, aber ich vermute das TOUCH immer zutrifft, probiere mal die Abfrage:
    if TOUCH > 25 then goto Stop

    Gruß

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    16.10.2004
    Alter
    26
    Beiträge
    67
    oh, hab ich ganz übersehen!
    Mit if touch > 70 then goto stop und funktioniert reibungslos!
    Aber wieso hat er vorher immer nach der Zeit gestoppt?

    thx!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    18.09.2004
    Ort
    Hessen
    Beiträge
    26
    Wenn du nichts drückst ist die Variable TOUCH = 0!

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941

    nicht immer ist touch "0"

    da er vom adc-port kommt, kann er auch manchmal einen anderen wert annehmen. frag mal mit einer schleife den "ad[5]" port ab und gib den wert einmal mit print am pc aus.
    mfg pebisoft

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    16.10.2004
    Alter
    26
    Beiträge
    67
    werde ich morgen mal testen! Die Akkus müssen nu erstmal wieder laden

    mfg

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    16.10.2004
    Alter
    26
    Beiträge
    67
    So - Robby hat nu wieder Saft! Ad[5] ist doch der Touch Sensor oder irre ich mich da? Wenn ich ihn durchgehend abfrage dürfte eigentlich kein Signal kommen jedenfalls nicht wenn ich ihn nicht berühre? Was bringt das dann?

    mfg

+ Antworten

Berechtigungen

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