PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmierfehler Rechts, links und vorwärtsbewegung. Hilfe!



MischaMV
26.04.2006, 09:53
Hallo. Ziel des Programms zwei Motoren über L293DNE anzusteuern. Ein Antriebsmotor und Lenkmotor, beide sind ganz normale DC Motoren.

Sinn der Sache, ich möchte, dass Auto dem Licht folgt
"ist halt mein erster Roboter, deshalb wollte mit ganz einfachem anfangen", also wird es mit zwei Phototransistoren gesteuert, zum Asprobieren habe ich erstmal zwei Taster angschlossen.

Rechts = Lenkmotor (rechts), Antrieb (an)
Links = Lenkmotor (links), Antrieb (an)
Geradeaus=Lenkmotor(aus), Antrieb(an)
kein Licht= alles aus

Das Programm habe ich geschrieben.
Aber nur der Lenkmotor funktioniert richtig.


$regfile = "m8def.dat"
$crystal = 4194000
Ddrd = &B11111100
Do

'Rechtslauf

If Pind.0 = 1 And Pind.1 = 0 Then
Portd.2 = 1 '1A
Portd.3 = 1 '1,2EN
Portd.4 = 0 '2A
End If

'Linkslauf

If Pind.1 = 1 And Pind.0 = 0 Then
Portd.2 = 0 '1A
Portd.3 = 1 '1E,N
Portd.4 = 1 '2A
End If

'Kein Licht Lenkmotor aus

If Pind.0 = 0 And Pind.1 = 0 Then
Portd.2 = 0 '1A
Portd.3 = 0 '1,2EN
Portd.4 = 0 '2A
End If

'Geradeaus, wenn das Licht von Vorne strahlt

If Pind.0 = 1 And Pind.1 = 1 Then
Portd.2 = 0 '1A
Portd.3 = 0 '1,2EN
Portd.4 = 0 '2A
End If

'Aktivierung des Antriebmotors wenn eine oder beide Pins aktiviert sind

If Pind.0 = 1 Or Pind.1 = 1 Then
Portd.5 = 1 '3A
Portd.6 = 1 '3,4EN
Portd.7 = 0 '4A
End If

'Stoppt den Antriebmotor wenn beide Pins deaktiviert sind
If Pind.0 = 0 And Pind.1 = 0 Then
Portd.5 = 0 '3A
Portd.6 = 0 '3,4EN
Portd.7 = 0 '4A
End If
Loop

End


Danke.
Gruß Michi