Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
main:motors:2wd_smartelements [2020/03/30 12:08]
smartadmin ↷ Страница перемещена из main:моторы_драйверы_шасси:шасси_2wd_smartelements в main:motors:шасси_2wd_smartelements
main:motors:2wd_smartelements [2020/07/28 14:48]
smartadmin [Пример подключения и использования]
Строка 61: Строка 61:
   - Сверху,​ на Power Shield закрепите плату Motor shield, путём совмещения контактов Motor shield с контактами платы Power Shield.   - Сверху,​ на Power Shield закрепите плату Motor shield, путём совмещения контактов Motor shield с контактами платы Power Shield.
   - Подключите моторы к плате расширения Motor shield, к клеммным колодкам М1 и М2 (на схеме сверху выделены оранжевым прямоугольником с номером 3). Правый мотор подключите к клеммной колодке M1, красный провод к контакту "​+",​ чёрный к контакту "​-"​. Аналогично подключите левый мотор к клеммной колодке М2.   - Подключите моторы к плате расширения Motor shield, к клеммным колодкам М1 и М2 (на схеме сверху выделены оранжевым прямоугольником с номером 3). Правый мотор подключите к клеммной колодке M1, красный провод к контакту "​+",​ чёрный к контакту "​-"​. Аналогично подключите левый мотор к клеммной колодке М2.
 +
 +**Библиотеки**
 +Для удобного и быстрого программирования работы платформы существует библиотека,​ скачать и посмотреть её описание можно на [[main:​shields:​motor_drive_shield|странице Мотор шилда]].
  
 **Скетч для загрузки:​** **Скетч для загрузки:​**
 <file Arduino> <file Arduino>
-#define E1 6 //Вывод платы расширения Motor Drive Shield, используемый ​для контроля скорости мотора А. +robotSE myRobot; ​//​создание объекта робота 
-#define E2 5 //​Вывод платы расширения Motor Drive Shield, используемый для контроля скорости мотора В. +  
-#define M1 7 //​Вывод платы расширения Motor Drive Shield, используемый для ​контроля направления вращения мотора А. +int delay_time = 1500; //​время задержки для движения 
-#define M2 4 //​Вывод платы расширения Motor Drive Shield, используемый для контроля направления вращения мотора В. +  
- + 
-int motorSpeed = 255;    //​Переменная для хранения скорости вращения моторов (вы можете задать свою скорость вращения колес). +
-int delay_time = 1500; +
- +
-void motor_drive_config() ​//Инициализация ​выводов платы расширения Motor Drive Shield. +
-+
-  pinMode(M1, OUTPUT); ​   //​Назначение вывода M1 выходом+
-  pinMode(M2, OUTPUT); ​   //​Назначение вывода M2 выходом. +
-  pinMode(E1, OUTPUT); ​   //​Назначение вывода E1 выходом. +
-  pinMode(E2, OUTPUT); ​   //​Назначение вывода E2 выходом. +
-+
- +
-void move_forward() //​Движение робота вперед. +
-+
-  digitalWrite(M1,​ HIGH); ​      //​Левые колеса вращаются вперед. +
-  digitalWrite(M2,​ HIGH); ​      //​Правые колеса вращаются вперед. +
-  analogWrite(E1,​ motorSpeed); ​ //​Скорость вращения правых колес. +
-  analogWrite(E2,​ motorSpeed); ​ //​Скорость вращения левых колес. +
-+
- +
-void move_right() //​Движение робота вправо. +
-+
-  digitalWrite(M1,​ LOW);        //​Левые колеса вращаются назад+
-  digitalWrite(M2,​ HIGH); ​      //​Правые колеса вращаются вперед. +
-  analogWrite(E1,​ motorSpeed); ​          //​Скорость вращения левых колес. +
-  analogWrite(E2,​ motorSpeed); ​ //​Скорость вращения правых колес. +
-+
- +
-void move_left() //Движение робота влево. +
-+
-  digitalWrite(M1,​ HIGH); ​      //​Левые ​колеса вращаются вперед. +
-  digitalWrite(M2,​ LOW);        //​Правые колеса вращаются назад. +
-  analogWrite(E1,​ motorSpeed); ​ //​Скорость вращения левых колес. +
-  analogWrite(E2,​ motorSpeed); ​          //​Скорость вращения правых колес. +
-+
- +
-void move_stop() //​Остановка робота. +
-+
-  digitalWrite(M1,​ LOW);  //​Левые колеса вращаются назад+
-  digitalWrite(M2,​ LOW);  //​Правые колеса вращаются назад+
-  analogWrite(E1,​ 0);     //​Скорость вращения колес снизить до 0. +
-  analogWrite(E2,​ 0);     //​Скорость вращения колес снизить до 0. +
-+
- +
-void move_back() //Движение робота назад. +
-+
-  digitalWrite(M1,​ LOW);        //​Левые колеса вращаются назад. +
-  digitalWrite(M2,​ LOW);        //​Правые колеса вращаются назад. +
-  analogWrite(E1,​ motorSpeed); ​ //​Скорость вращения левых колес. +
-  analogWrite(E2,​ motorSpeed); ​ //​Скорость вращения правых колес. +
-} +
 void setup() // Задание начальных параметров системы. void setup() // Задание начальных параметров системы.
 { {
-  ​motor_drive_config();       ​//инициализация выводов платы расширения Motor Drive Shield. +  ​myRobot.setSpeed(255); //установка максимальной скорости вращения колёс
-  move_stop(); ​               //начальная позиция ​робота — робот ​стоит.  ​+
 } }
 + 
 void loop() //​Основной цикл void loop() //​Основной цикл
 { {
-  move_forward(); ​    //​движение вперёд+  ​myRobot.move_forward(); ​    //​движение вперёд
   delay(delay_time); ​ //​задержка   delay(delay_time); ​ //​задержка
-  move_right(); ​      //​движение вправо+  ​myRobot.move_right(); ​      //​движение вправо
   delay(delay_time); ​ //​задержка   delay(delay_time); ​ //​задержка
-  move_left(); ​       //​движение влево+  ​myRobot.move_left(); ​       //​движение влево
   delay(delay_time); ​ //​задержка   delay(delay_time); ​ //​задержка
-  move_back(); ​       //​движение назад+  ​myRobot.move_back(); ​       //​движение назад
   delay(delay_time); ​ //​задержка   delay(delay_time); ​ //​задержка
-  move_stop(); ​       //​остановка+  ​myRobot.move_stop(); ​       //​остановка
   delay(delay_time); ​ //​задержка   delay(delay_time); ​ //​задержка
 } }
 </​file>​ </​file>​