Einfachster Linienfolger-Roboter
Komponenten und Verbrauchsmaterialien
| | × | 1 | |
| SparkFun Dual H-Bridge Motortreiber L298 | | × | 1 | |
| | × | 2 | |
| | × | 1 | |
Über dieses Projekt
Der Linienfolger-Roboter ist die Welt der Robotik-Arena. Dieser Linienfolger ist ein sehr einfacher, leicht zu bauender Roboter.
Code
- Arduino-basierter Linienfolger-Roboter
Arduino-basierter Linienfolger-Roboter C/C++
/*-------Definition der Eingänge------*/#define LS 2 // linker Sensor#define RS 5 // rechter Sensor/*-------definieren der Ausgänge- -----*/#define LM1 11 // linker Motor#define LM2 10 // linker Motor#define RM1 9 // rechter Motor#define RM2 6 // rechter Motorvoid setup () { PinMode (LS, INPUT); PinMode (RS, EINGANG); pinMode (LM1, AUSGANG); PinMode (LM2, AUSGANG); pinMode (RM1, AUSGANG); pinMode (RM2, OUTPUT);}void loop () {if ((digitalRead (LS) ==LOW) &&(digitalRead (RS) ==LOW)) // Condition_1 stop { MoveForward (); } if ((digitalRead (LS) ==HOCH) &&(digitalRead (RS) ==HOCH)) // ZUSTAND-2 FORWRD { Stop (); } if ((digitalRead (LS) ==LOW) &&(digitalRead (RS) ==HIGH)) // RECHTS { TurnLeft (); } if ((digitalRead (LS) ==HOCH) &&(digitalRead (RS) ==NIEDRIG)) { TurnRight (); }}void MoveForward () { analogWrite (LM1, 50); analogWrite (LM2, 0); analogWrite (RM1, 50); analogWrite (RM2, 0); Verzögerung (20);} TurnRight () ungültig machen { AnalogWrite (LM1, 0); analogWrite (LM2, 60); analogWrite (RM1, 60); analogWrite (RM2, 0); Verzögerung (30); } TurnLeft () { analogWrite (LM1, 60); analogWrite (LM2, 0); analogWrite (RM1, 0); analogWrite (RM2, 60); Verzögerung (30);}void Stop () { AnalogWrite (LM1, 0); analogWrite (LM2, 0); analogWrite (RM1, 0); analogWrite (RM2, 0); Verzögerung(20);}
Schaltpläne