Самый простой робот-последователь линии
Компоненты и расходные материалы
| | × | 1 | |
| Драйверы двигателя SparkFun Dual H-Bridge L298 | | × | 1 | |
| | × | 2 | |
| | × | 1 | |
Приложения и онлайн-сервисы
Об этом проекте
Робот-последователь линии - привет мир на арене робототехники. Этот последователь линии очень простой и легкий в сборке робот.
Код
- Робот-последователь линии на базе Arduino
Робот-последователь линии на основе Arduino C / C ++
/ * ------- определение входов ------ * / # определение LS 2 // левый датчик # определение RS 5 // правый датчик / * ------- определение выходов- ----- * / # определить LM1 11 // левый двигатель # определить LM2 10 // левый двигатель # определить RM1 9 // правый двигатель # определить RM2 6 // правый двигательvoid setup () {pinMode (LS, INPUT); pinMode (RS, ВХОД); pinMode (LM1, ВЫХОД); pinMode (LM2, ВЫХОД); pinMode (RM1, ВЫХОД); pinMode (RM2, OUTPUT);} void loop () {if ((digitalRead (LS) ==LOW) &&(digitalRead (RS) ==LOW)) // Condition_1 stop {MoveForward (); } if ((digitalRead (LS) ==HIGH) &&(digitalRead (RS) ==HIGH)) // УСЛОВИЕ-2 ВПЕРЕД {Stop (); } if ((digitalRead (LS) ==LOW) &&(digitalRead (RS) ==HIGH)) // ВПРАВО {TurnLeft (); } если ((digitalRead (LS) ==HIGH) &&(digitalRead (RS) ==LOW)) {TurnRight (); }} void MoveForward () {analogWrite (LM1, 50); analogWrite (LM2, 0); analogWrite (RM1, 50); analogWrite (RM2, 0); задержка (20);} void TurnRight () {analogWrite (LM1, 0); analogWrite (LM2, 60); analogWrite (RM1, 60); analogWrite (RM2, 0); задержка (30); } void TurnLeft () {analogWrite (LM1, 60); analogWrite (LM2, 0); analogWrite (RM1, 0); analogWrite (RM2, 60); задержка (30);} void Stop () {analogWrite (LM1, 0); analogWrite (LM2, 0); analogWrite (RM1, 0); analogWrite (RM2, 0); задержка (20);}
Схема