-
        

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 36

Thema: Hilfe bei Bumpern!!

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.01.2005
    Alter
    28
    Beiträge
    40

    Hilfe bei Bumpern!!

    Anzeige

    Hallo,
    vor kurzem habe ich mir auch eine C-unit gekauft und bin nun seit etwa 2 wochen mit meinem eigenen Roboter beschäftigt...
    (und dieses Forum hat einiges dazu beigetragen...)
    ich bin leider auch im programmieren der C-unit vollkommener Anfänger. Bis vor 2 Tage hab ich das noch mit dem CC-Plus gemacht.
    lange Rede kurzer Sinn..
    Warum funktioniert mein Porggramm nicht?? l
    Vielleicht hab ich ja auch einfach nur absoluten Mist gemacht...

    Code:
    define Sensor1 port[1]                  'Sensor vorne/links
    define Sensor2 port[2]                  'Sensor vorne/mitte
    define Sensor3 port[3]                  'Sensor vorne/rechts
    define Motor1v port[4]                  'Motor links/vorwärts
    define Motor1r port[5]                  'Motor links/rückwärts
    define Motor2v port[6]                  'Motor rechts/vorwärts
    define Motor2r port[7]                  'Motor rechts/rückwärts
    
    #loop
    
    Motor1v=On                              'Beide Motoren an (vorwärts)
    Motor2v=On
    
    if Sensor1 then Motor1v=Off             'Wenn Sensor1 schaltet, dann beide Motoren aus
    if Sensor1 then Motor2v=Off
    if Sensor1 then Motor1r=On              'Anschließend beide Motoren wieder an (rückwärts)
    if Sensor1 then Motor2r=On
    Pause=100
    Motor1r=Off
    Motor2r=Off
    Motor1v=On
    Pause=20
    ...

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    22.12.2004
    Beiträge
    5
    Was macht das Programm denn? Gar nix oder ?
    Wenn es beim Compiler schon einen Fehler gegeben hat ... nach meinem Handbuch darf zwischen PAUSE und der Dauer kein = stehen (also PAUSE 100 und nicht PAUSE=100). Das merkt aber die Entwicklungsumgebung normalerweise, wenn auch mit etwas kryptischen Fehlermeldungen.
    Hats Du es mal mit dem Simulator laufen lassen? Da sieht man schnell ob die Ports wenigstens einigermaßen was tun.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    17.01.2005
    Alter
    28
    Beiträge
    40
    also beim compilieren meldet er keinen Fehler.
    und im simulator fangen beide ausgänge für die motoren 1 und 2 an zu laufen, aba wenn man nun ein signal an den sensorport gibt dann hörne sie einfach nich auf??????
    danke für die schnelle antwort..
    mfg
    Ich

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791

    CC1-Prog

    Hallo "ich",

    genau weiss ich nicht, was Dein Prog so machen soll. Nach dem Ausschnitt soll in einer Schleife ...:
    1. Der Roboter die Vorwärtsfahrt stoppen, wenn Sensor 1 anspricht.
    2. Dann sofort mit der Rückwärtsfahrt beginnen.
    3. Er soll 2 Sekunden lang (PAUSE 100) rückwärts fahren.
    4. Dann wird die Rückwärtsfahrt gestoppt.
    5. Dann geht's links vorwärts für 0,4 Sekunden.
    6. Was dann passiert, ist unbekannt.

    Das sollte so auch nach deinem Prog passieren, aber in der realen Sensor-Abfrage solltest du nicht dreimal hintereinander den Sensor abfragen, weil das unterschiedliche Ergebnisse erzielen kann. Deine Programmlogik geht aber davon aus, dass dreimal immer der selbe Wert gelesen wird. Du musst also alles was nach "IF Sensor1 then ..." passieren soll, in einen Block ohne neue IF-Abfrage packen.

    Gruß Dirk

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    17.01.2005
    Alter
    28
    Beiträge
    40
    hi
    1. genau so soll das programm laufen, laut simulator tut es das aber nicht .
    im simulator geht der port für vorwärts fahren nicht aus und der port für rückwärts fahren nicht an!
    2. Wie mach ich dass denn alles in einen Block??? wär schön du könntest es mir mal erklären...ich bin ziemlicher anfänger...
    danke
    Ich

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    also so würdest du theoretisch alles in eine block packen. jetzt wird der sensor nur einmal abgefragt, und dann alle befehle nacheinander ausgeführt

    if Sensor1 then
    Motor1v=Off
    Motor2v=Off
    Motor1r=On
    Motor2r=On
    endif

    (ohne gewähr dass die syntax stimmt weil ich schon ewig kein basic mehr geproggt hab...)

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    17.01.2005
    Alter
    28
    Beiträge
    40
    Wenn ich es so mache...
    Code:
    #loop
    
    Motor1v=On                              'Beide Motoren an (vorwärts)
    Motor2v=On
    
    if Sensor1 then
    Motor1v=Off             'Wenn Sensor1 schaltet, dann beide Motoren aus
    Motor2v=Off
    Motor1r=On              'Anschließend beide Motoren wieder an (rückwärts)
    Motor2r=On
    Pause=500
    endif
    Dann bringt er beim compilieren einen fehler.
    und zwar: "Zeile 21: undefiniertes Label ENDIF"
    Zeile 21 ist die zeile "endif" (logischer weise)

    ich hoffe mir kann jemand helfen...
    danke
    Ich

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    also nicht korrekt mein code...
    entweder du findest selbst raus wie du mehrere befehle in eine if-abfrage packen kannst (handbuch?) oder du machst es quick+dirty: du setzt in der sensor-if-abfrage eine variable auf 1 oder true, und fragst dann immer dies varaiable ab...

    evtl geht es aber auch mit begin... end um die vier motorbefehle herum...

    if Sensor1 then
    begin
    Motor1v=Off
    Motor2v=Off
    Motor1r=On
    Motor2r=On
    end

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    17.01.2005
    Alter
    28
    Beiträge
    40
    danke erstmal!
    also mit begin tritt ähnlicher fehler auf udn handbuchmäßig is auch nich viel drin. Ist meiner meinung nahc auch nicht so besonders dokumentiert das ganze.
    ich werde mich dann ma wieta auf die Suche machen und es probieren selbst rauszubekommmen.
    danke
    Ich

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    17.01.2005
    Alter
    28
    Beiträge
    40
    ich habs hinbekommen!!!! \/
    man muss schreiben

    if Sensor1 then goto Rueckwaerts

    als beispiel

    und in #Rueckwaerts schriebt man dann:
    Motor1=On
    Motor2=Off

    usw.

    mfg
    Ich

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

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