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.
Code:
$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
Lesezeichen