-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: 3x IS471 an C-Control

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.04.2004
    Ort
    Basel
    Alter
    30
    Beiträge
    378

    3x IS471 an C-Control

    Anzeige

    Moin nochmals
    um nicht extra nen neuen Thread aufzumachen, stell ich meine Frage gleich in diesen: Ich hab für meinen bot 3 IS471 angebracht, und möchte sie nun mit dem C-Control verbinden. Das geht ja über die Digitalports, oder? Mein Problem ist nun aber das programmieren. Kann mir jemand kurz ein befehl für den CC tippen, mit einen if (IR empfängt signal) und Then befehl?
    Wie kann ich dem CC klar machen, dass er an einem bestimmten digitalport ein Input Signal abwarten soll, und diesen Dann in ein Output signal umwandeln soll?

    thx ^^

    Serge

    Es ist thematisch und von Bezug her ab dieser Stelle völlig neu, deshalb neuer Thread. Manf

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.11.2003
    Ort
    Leipzig
    Alter
    31
    Beiträge
    578
    Soweit ich das richtig sehe, liefern diese IS471 ein digitales Signal.
    Entweder: Gegenstand oder Kein Gegenstand.
    define Sensor1 port[1]
    int taste;
    If Sensor1=0 THEN GOSUB Taste1

    #Taste1
    Hier kommt dein Code
    Next
    Wenn du auf das Ereigniss warten willst, sollte das so gehen:
    wait Sensor1=0
    Melde dich nochmal, wenns nicht funktioniert.
    Ich habe selber lange nichts mit meiner CC1 gemacht.

    MfG ACU
    http://www.roboterbastler.de
    endlich wieder online

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.04.2004
    Ort
    Basel
    Alter
    30
    Beiträge
    378
    Hi ACU
    Danke für deine rasche Antwort. Ich hab zwar den Code noch nicht ausprobiert, aber ich verstehe ihn nicht genau

    define Sensor1 port[1]
    -> das ist klar


    int taste;
    -> Was bedeutet das genau?

    If Sensor1=0 THEN GOSUB Taste1
    -> Wenn sensor1 kein signal liefert, dann...
    Was bedeutet GOSUB?

    #Taste1
    Hier kommt dein Code
    -> das ist klar

    wait Sensor1=0
    -> wo müsste ich diesen Befehl hinsetzen, damit der CC zB all Sekunde den Zustand des Ports abruft?

    Danke und Gruss
    Serge

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    15.01.2005
    Beiträge
    80
    Hallo ACU,
    sollte in deinem Programmbeispiel statt 'Next' nicht besser ein 'return' kommen? [-o<

    MfG
    GaronG

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    15.01.2005
    Beiträge
    80
    Hallo roboter n00b,

    der Befehl 'wait' wartet solange, bis eine bestimmte Bedingung erfüllt ist. Wenn du einen Port zyklisch abfragen willst, solltest du die timer-Funktion verwenden.

    MfG
    GaronG

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    wait Sensor1=0
    hat ja keinen Sinn, wenn mehrere Sensoren überwacht werden sollen.

    GoSub ist eine Unterfunktion, wo du schreiben kannst, was passieren soll.

    Ansonsten sollte auch in einer SChleife:

    port[1]=port[2]

    gehen oder?

    MFg moritz

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.04.2004
    Ort
    Basel
    Alter
    30
    Beiträge
    378
    Zitat Zitat von RCO
    wait Sensor1=0
    hat ja keinen Sinn, wenn mehrere Sensoren überwacht werden sollen.
    wieso nicht? Ich müsste halt diese Zeilen für alle 3 Sensoren schreiben oder?

    Zitat Zitat von RCO
    port[1]=port[2]
    hä? Sorry, das versteh ich nicht ^^ (*,) , wieso ist Port1=port2?


    sorry das ich mich so dämlich anstelle oO

    Serge

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    wieso nicht? Ich müsste halt diese Zeilen für alle 3 Sensoren schreiben oder?
    Das Problem ist, dass die CC soweit ich weiß solange bei einer bedingung hängt, bis sie erfüllt ist, du kannst also nur einen port überwachen, wenn an einem anderen port was passiert, merkt die CC nix davon.
    wait sensor=0 wartet halt bis der sensor = 0 ist.

    Mit port[1]=port[2] meinte ich, dass Port[1] den Zustand von port[2] erhält.
    So wie Variable A = 5

    Du programmiert wohl noch nicht alzu lange, oder?
    Wenn die Anweisung so richtig ist, könntest du in einer Schleife ständig den Ausgangports die Eingangszustände zuweisen, das wolltest du doch, oder?

    Dazu gehört natürlich noch die richtige Definition der ports, aber dafür habeich zu lange nicht mehr mit der CC gearbeitet.

    MFG Moritz

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.04.2004
    Ort
    Basel
    Alter
    30
    Beiträge
    378
    Hi Moritz

    Zitat Zitat von RCO
    Du programmiert wohl noch nicht alzu lange, oder?
    richtig

    Zitat Zitat von RCO
    RCO"]Das Problem ist, dass die CC soweit ich weiß solange bei einer bedingung hängt, bis sie erfüllt ist, du kannst also nur einen port überwachen, wenn an einem anderen port was passiert, merkt die CC nix davon.
    wait sensor=0 wartet halt bis der sensor = 0 ist.
    ok, also würde folgendes Progi nicht laufen?

    #loop
    define Sensor1 port[1]
    int taste;
    If Sensor1=0 THEN GOSUB Taste1

    #Taste1
    define Led1 port[2]
    Led1 = on

    define Sensor2 port[3]
    int taste;
    If Sensor1=0 THEN GOSUB Taste2

    #Taste2
    define Led2 port[4]
    Led2 = on

    goto loop



    Zitat Zitat von RCO
    Mit port[1]=port[2] meinte ich, dass Port[1] den Zustand von port[2] erhält.
    So wie Variable A = 5
    Hmm, also an port[1] und port[2] sind ja 2 sensoren. Und was ist nun genau der Sinn von der sache, dass port[1]=port[2] wird?



    Zitat Zitat von RCO
    Dazu gehört natürlich noch die richtige Definition der ports, aber dafür habeich zu lange nicht mehr mit der CC gearbeitet.



    ok, thx für eure Mühe =D>

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Hmm, also an port[1] und port[2] sind ja 2 sensoren. Und was ist nun genau der Sinn von der sache, dass port[1]=port[2] wird?
    Achso, mir war noch nciht ganz klar, was jetzt wo dran hängt, wenn ich das jetzt richtig sehe, dann so:

    Sensor1 --> Port1
    Led1 --> Port2
    Sensor2 --> Port3
    ...
    Du verwirrst mich echt, im Beispiel schreibst du:
    define Sensor1 port[1]
    int taste;
    If Sensor1=0 THEN GOSUB Taste1

    #Taste1
    define Led1 port[2]
    Led1 = on
    und dann:

    Hmm, also an port[1] und port[2] sind ja 2 sensoren.
    Ich gehe mal davon aus, dass sie jetzt so angeschlossen sind:

    Sensor1 --> Port1
    Led1 --> Port2
    Sensor2 --> Port3
    ...

    Dann müsste es natürlich so heißen:

    Hier die ports definieren...

    #loop
    Led1 = Sensor1
    Led2 = Sensor2
    Led3 = Sensor3
    goto loop

    Du brauchst hier keine Unterfunktionen, da sich da nicht lohnt, das bringts nur, wenn da mehr drin steht.

    MFG Moritz

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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