hier ist mal mein programm ich hoff man verstehts einigermasen wenn was nicht verstanden wird fragt bitte!! (habs so gut wie möglich komentiert)
Code:$regfile = "m16def.dat" $crystal = 1000000 'Konfiguration der Ausgangspins Config Pind.2 = Output 'Richtung Motor rechts Config Pind.3 = Output 'Richtung Motor links Config Pind.4 = Output 'Takt Motor rechts Config Pind.5 = Output 'Takt Motor links 'Konfiguration der Einganspins Config Pinb.0 = Input 'Sensor vorne links Config Pinb.1 = Input 'Sensor vorne rechts Config Pinb.2 = Input 'Sensor hinten links Config Pinb.3 = Input 'Sensor hinten rechts 'Deklaration Ausgänge Motre Alias Portd.2 'Variable für Richtung Motor rechts Motli Alias Portd.3 'Variable für Richtung Motor links Taktre Alias Portd.4 'Variable für Takt des Rechten Motors Taktli Alias Portd.5 'Variable für Takt des linken Motors 'Deklaration Eingänge 'Vornli Alias Pinb.0 'Variable für Sensor vorne links 'Vornre Alias Pinb.1 'Variable für Sensor vorne rechts 'Hintli Alias Pinb.2 'Variable für Sensor hinten links 'Hintre Alias Pinb.3 'Variable für Sensor hinten rechts Declare Sub Vornli Declare Sub Vornre Declare Sub Hintli Declare Sub Hintre Wait 2 'Bewegung nach vorne Motre = 0 'motor rechts vorwärts Motli = 0 'motor links vorwärts Do Taktre = 1 Taktli = 1 Waitus 1000 Taktre = 0 Taktli = 0 Waitus 1000 'Aufruf Unterprogramm für Sensor vorne links If Pinb.0 = 0 Then Gosub Vornli 'Aufruf Unterprogramm für Sensor vorne rechts 'If Pinb.1 = 0 Then Gosub Vornre 'Aufruf Unterprogramm für Sensor hinten links 'If Pinb.2 = 0 Then Gosub Hintli 'Aufruf Unterprogramm für Sensor hinten rechts 'If Pinb.3 = 0 Then Gosub Hintre Loop 'Unterprogramm für Sensor vorne links Sub Vornli 'rückwärts fahren Dim A As Integer A = 0 Motre = 1 'Motor rechts rückwärts Motli = 1 'Motor links rückwärts Do Taktre = 1 Taktli = 1 Waitus 1000 Taktre = 0 Taktli = 0 Waitus 1000 A = A + 1 'Aufruf Unterprogramm für Sensor vorne rechts 'If Pinb.1 = 0 Then Gosub Vornre Aufruf Unterprogramm für Sensor hinten links 'If Pinb.2 = 0 Then Gosub Hintli 'Aufruf Unterprogramm für Sensor hinten rechts 'If Pinb.3 = 0 Then Gosub Hintre Loop Until A > 500 'Dauer der Rückwärtsbewegung 'Rechtsdrehung 90° Dim B As Integer B = 0 Motre = 1 'drehung nach rechts Motli = 0 Do Taktre = 1 Taktli = 1 Waitus 1000 Taktre = 0 Taktli = 0 Waitus 1000 B = B + 1 'Aufruf Unterprogramm für Sensor vorne rechts 'If Pinb.1 = 0 Then Gosub Vornre 'Aufruf Unterprogramm für Sensor hinten links 'If Pinb.2 = 0 Then Gosub Hintli 'Aufruf Unterprogramm für Sensor hinten rechts 'If Pinb.3 = 0 Then Gosub Hintre Loop Until B > 500 'winkel (dauer) der drehung End Sub 'hier läuft das programm nicht weiter d.h. der bot dreht sich immer lustig im kreis!! 'eigentlich war es von mir geplant dass er wieder in die hauptschleife springt und wieder geradeausfährt
vielen dank wenn ihr mir helft!!!
mfg Arndt







Zitieren

Lesezeichen