Перейти к содержанию

valter61

Members
  • Постов

    1
  • Зарегистрирован

  • Посещение

Информация

  • Город
    СПб

Электроника

  • Стаж в электронике
    Не связан с электроникой

Достижения valter61

Новичок

Новичок (1/14)

  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

0

Репутация

  1. В первый день отпуска собрал для сына простейшего робота, двигающегося по полосе. Код пока наипростейший #define PWMA 9 #define AIN1 7 #define AIN2 8 #define PWMB 3 #define BIN1 5 #define BIN2 4 #define STBY 6 int analogPin0 = 14; int analogPin1 = 15; int val0 = 0; // переменная для хранения считываемого значения int val1 = 0; void setup() { /* Настроить все 7 выводов на выходы, идущие к драйверу TB6612FNG */ pinMode(PWMA,OUTPUT); pinMode(AIN1,OUTPUT); pinMode(AIN2,OUTPUT); pinMode(PWMB,OUTPUT); pinMode(BIN1,OUTPUT); pinMode(BIN2,OUTPUT); pinMode(STBY,OUTPUT); digitalWrite(STBY,HIGH); } void loop() { val0 = analogRead(analogPin0); // считываем значение val1 = analogRead(analogPin1); if (val0 < 100 && val1 < 100) { goForward(); } if (val0 > 100 && val1 < 100) { rotateLeft(); } if (val0 < 100 && val1 > 100) { rotateRight(); } } void goForward () { digitalWrite (AIN1,HIGH); digitalWrite (AIN2,LOW); analogWrite(PWMA,150); digitalWrite (BIN1,HIGH); digitalWrite (BIN2,LOW); analogWrite(PWMB,150); } void rotateRight () { digitalWrite (AIN1,HIGH); digitalWrite (AIN2,LOW); analogWrite(PWMA,100); digitalWrite (BIN1,LOW); digitalWrite (BIN2,HIGH); analogWrite(PWMB,200); } void rotateLeft () { digitalWrite (AIN1,LOW); digitalWrite (AIN2,HIGH); analogWrite(PWMA,200); digitalWrite (BIN1,HIGH); digitalWrite (BIN2,LOW); analogWrite(PWMB,100); } Видео
×
×
  • Создать...