Робот машинка
- Войдите на сайт для отправки комментариев
Втр, 08/12/2020 - 22:54
Помогите доделать робота)
нужно добавить датчик расстояния и запрограммируйте его так, чтобы робот мог не только двигаться по черной линии, но и останавливаться перед препятствиями
// Include Libraries
#include "Arduino.h"
#include "DCMDriverL298.h"
// Pin Definitions
#define DCMOTORDRIVERL298_PIN_INT1 2
#define DCMOTORDRIVERL298_PIN_ENB 6
#define DCMOTORDRIVERL298_PIN_INT2 3
#define DCMOTORDRIVERL298_PIN_ENA 5
#define DCMOTORDRIVERL298_PIN_INT3 4
#define DCMOTORDRIVERL298_PIN_INT4 7
#define IRLINEFOLLOW_1_PIN_OUT 8
#define IRLINEFOLLOW_2_PIN_OUT 9
const int mySpeed = 255;
void setup() {
pinMode(IRLINEFOLLOW_1_PIN_OUT, INPUT);
pinMode(IRLINEFOLLOW_2_PIN_OUT, INPUT);
pinMode(DCMOTORDRIVERL298_PIN_INT1, OUTPUT)
pinMode(DCMOTORDRIVERL298_PIN_INT2, OUTPUT)
pinMode(DCMOTORDRIVERL298_PIN_INT3, OUTPUT)
pinMode(DCMOTORDRIVERL298_PIN_INT4, OUTPUT)
analogWrite(ENA, mySpeed);
analogWrite(ENB, mySpeed);
delay(1000);
}
void loop() {
if (digitalRead(IRLINEFOLLOW_1_PIN_OUT) &&
digitalRead(IRLINEFOLLOW_2_PIN_OUT)) {
// Move Forward
moveForward();
}
if (!(digitalRead(IRLINEFOLLOW_1_PIN_OUT)) &&
digitalRead(IRLINEFOLLOW_2_PIN_OUT)) {
// Turn right
turnRight();
}
if (digitalRead(IRLINEFOLLOW_1_PIN_OUT) &&
!(digitalRead(IRLINEFOLLOW_2_PIN_OUT))) {
// turn left
turnLeft();
}
if (!(digitalRead(IRLINEFOLLOW_1_PIN_OUT)) &&
!(digitalRead(IRLINEFOLLOW_2_PIN_OUT))) {
// stop
stopMove();
}
}
void moveForward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(1000);
}
void moveBackward() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(1000);
}
void stopMove() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
void turnRight() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(1000);
}
void turnLeft() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(1000);
}
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
1. С такими просьбами - прямиком в платный раздел "Ищу исполнителя".
2. Код надо выкладывать по правилам (а для этого прежде, чем писать на форум - читать правила).
3. Этот код "неремонтопригодный", надо будет переписывать с нуля.
нужно добавить датчик расстояния и запрограммируйте его так, чтобы ...
Мда ... а Вы что будете делать?
Получать профит же.
Получать профит же.
Понятно, тогда так и напишем
Евгений Петрович, эта печать без Вашей визы не действительна )))