Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
main:shields:motor_shield [2018/10/29 16:50] smartadmin создано |
main:shields:motor_shield [2020/07/27 16:16] smartadmin [Пример подключения и использования] |
||
---|---|---|---|
Строка 40: | Строка 40: | ||
* Разъём для внешнего питания (со светодиодом-индикатором) | * Разъём для внешнего питания (со светодиодом-индикатором) | ||
* Совмещает в себе два шилда - шилд для управления моторами и сенсор шилд | * Совмещает в себе два шилда - шилд для управления моторами и сенсор шилд | ||
+ | |||
+ | ==== Библиотеки ==== | ||
+ | * [[http://files.smartelements.ru/know_libs/robotSE.zip|Библиотека robotSE]] | ||
+ | |||
+ | ==== Описание библиотеки ==== | ||
+ | Для более удобной работы с шилдом предусмотрена библиотека robotSE. Ниже приведено описание работы с библиотекой. | ||
+ | |||
+ | === Инициализация === | ||
+ | |||
+ | |||
+ | Инициализация и создание объекта для управления движением происходит с помощью типа robotSE. Простейший способ создания объекта робота: | ||
+ | |||
+ | <file> | ||
+ | robotSE myRobot; | ||
+ | </file> | ||
+ | |||
+ | При таком вызове выводы шилда назначены по-умолчанию. Если требуется указать явно номера выводов, используйте создание объекта с параметрами: | ||
+ | |||
+ | <file> | ||
+ | robotSE myRobot(E1, E2, M1, M2, speed) | ||
+ | </file> | ||
+ | где: | ||
+ | - **E1** - вывод подключения пина мотор-шилда Е1 | ||
+ | - **E2** - вывод подключения пина мотор-шилда E2 | ||
+ | - **M1** - вывод подключения пина мотор-шилда M1 | ||
+ | - **M2** - вывод подключения пина мотор-шилда M2 | ||
+ | - **speed** - скорость вращения моторов (задаётся значением от 0 до 255, где 0 - колёса вращаться не будут). По-умолчанию скорость равна 150. | ||
+ | |||
+ | === Установка скорости === | ||
+ | Для управления скоростью предусмотрен метод **setSpeed(speed)**, имеющий единственный параметр - скорость, от 0 до 255. | ||
+ | |||
+ | === Движение === | ||
+ | Для управления движением предусмотрены следующие методы (движение происходит со скоростью, указанной при изначальном создании объекта робота или установленной с помощью метода setSpeed(speed)): | ||
+ | |||
+ | * **move_forward()** - робот движется вперед | ||
+ | * **move_right()** - робот движется вправо | ||
+ | * **move_left()** - робот движется влево | ||
+ | * **move_back()** - робот движется назад | ||
+ | * **move_stop()** - робот останавливается | ||
+ | * **randomMove()** - робот движется в случайном направлении. Техника движения следующая: сначала случайным образом робот поворачивает с заданной выше скоростью в течении 200 мс, затем движется вперёд. | ||
+ | |||
===== Пример подключения и использования ===== | ===== Пример подключения и использования ===== | ||
**Пример:** Для демонстрации работы шилда используется простейший робот, который движется по четырём направлениям (вперед, назад, вправо и влево). Робот собирается очень просто - берётся трёхколёсное шасси с двумя моторами, на платформу шасси крепится контроллер Smart Uno, на контроллер прикрепляется Power Shield, в свою очередь на Power shield прикрепляется Motor shield. | **Пример:** Для демонстрации работы шилда используется простейший робот, который движется по четырём направлениям (вперед, назад, вправо и влево). Робот собирается очень просто - берётся трёхколёсное шасси с двумя моторами, на платформу шасси крепится контроллер Smart Uno, на контроллер прикрепляется Power Shield, в свою очередь на Power shield прикрепляется Motor shield. | ||
+ | |||
+ | Для этого нам понадобится: | ||
+ | ^ Что нужно: ^ Кол-во, шт ^ | ||
+ | | [[http://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер SmartUno]]| 1 | | ||
+ | | [[http://smartelements.ru/product/shassi-2wd-smartelements|Шасси 2WD SmartElements]]| 1 | | ||
+ | | [[http://smartelements.ru/product/motor-shield|Motor Shield]] | 1 | | ||
+ | | [[http://smartelements.ru/product/power-shield|Power Shield]] | 1 | | ||
+ | |||
**Подключение:** | **Подключение:** | ||
Строка 52: | Строка 101: | ||
**Скетч для загрузки:** | **Скетч для загрузки:** | ||
<file Arduino> | <file Arduino> | ||
+ | int delay_time = 1500; | ||
+ | |||
+ | |||
+ | void setup() // Задание начальных параметров системы. | ||
+ | { | ||
+ | |||
+ | } | ||
+ | void loop() //Основной цикл | ||
+ | { | ||
+ | move_forward(); //движение вперёд | ||
+ | delay(delay_time); //задержка | ||
+ | move_right(); //движение вправо | ||
+ | delay(delay_time); //задержка | ||
+ | move_left(); //движение влево | ||
+ | delay(delay_time); //задержка | ||
+ | move_back(); //движение назад | ||
+ | delay(delay_time); //задержка | ||
+ | move_stop(); //остановка | ||
+ | delay(delay_time); //задержка | ||
+ | } | ||
</file> | </file> |