/
mapb19ator
/
cpp
Обзор
Документация
Войти
/
mapb19ator
/
cpp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
manline.cpp
86 строк
2 KB
mapb19ator
update: manline.cpp
03 май 2026, 15:16
Верифицирован
03 май 2026, 15:16
037fddb
Код
Авторство
О чём код?
class Motors { private: int _left_speed; int _right_speed; int _left_dir1; int _left_dir2; int _right_dir1; int _right_dir2; public: Motors(int l_s, int r_s, int l_d1, int l_d2, int r_d1, int r_d2) { _left_speed = l_s; _right_speed = r_s; _left_dir1 = l_d1; _left_dir2 = l_d2; _right_dir1 = r_d1; _right_dir2 = r_d2; } void init() { pinMode(_left_speed, OUTPUT); pinMode(_right_speed, OUTPUT); pinMode(_left_dir1, OUTPUT); pinMode(_left_dir2, OUTPUT); pinMode(_right_dir1, OUTPUT); pinMode(_right_dir2, OUTPUT); } void forward(int speed){ analogWrite(_left_speed, speed); analogWrite(_right_speed, speed); digitalWrite(_left_dir1, HIGH); digitalWrite(_right_dir1, HIGH); digitalWrite(_left_dir2, LOW); digitalWrite(_right_dir2, LOW); } void stop(){ analogWrite(_left_speed, 0); analogWrite(_right_speed, 0); digitalWrite(_left_dir1, LOW); digitalWrite(_right_dir1, LOW); digitalWrite(_left_dir2, LOW); digitalWrite(_right_dir2, LOW); } void right(int speed){ analogWrite(_left_speed, speed); analogWrite(_right_speed, speed); digitalWrite(_left_dir1, HIGH); digitalWrite(_left_dir2, LOW); digitalWrite(_right_dir1, LOW); digitalWrite(_right_dir2, HIGH); } void left(int speed){ analogWrite(_left_speed, speed); analogWrite(_right_speed, speed); digitalWrite(_left_dir1, LOW); digitalWrite(_left_dir2, HIGH); digitalWrite(_right_dir1, HIGH); digitalWrite(_right_dir2, LOW); } }; Motors motors(9,3,7,6,5,4); int line1 = 10; int line2 = 11; void setup() { motors.init(); pinMode(line1, INPUT); pinMode(line2, INPUT); } void loop() { if(digitalRead(line1) == HIGH && digitalRead(line2) == HIGH) { motors.forward(200); } if(digitalRead(line1) == HIGH && digitalRead(line2) == LOW) { motors.right(150); } if(digitalRead(line1) == LOW && digitalRead(line2) == HIGH) { motors.left(150); } if(digitalRead(line1) == LOW && digitalRead(line2) == LOW) { motors.stop(); } }