Контроль мини-сервопривода с помощью микробит.
https://mrobot.by/В конце этой статьи у Вас будет необходимая теоритическая база для использования сервопривода с помощью micro:bit.
Компоненты, необходимые для проекта:
- Микрокомпьютер.
- Кабель USB-A для micro-USB.
- Батарейка АА (две единицы).
- Male/Male Jumper Wires (три единицы).
- Сервопривод Tower Pro MG996R
Необходимое ПО:
- Pxt.
- Microsoft MakeCode.
- Microsoft MakeCode для micro:bit.
История.
В этой статье я расскажу Вам, как управлять сервоприводом с помощью micro:bit. Если Вы хотите научиться минимальным навыкам, которые необходимы для работы с micro:bit, то переходите по ссылке.
Соединения.
Нашему сервоприводу необходимо 3V для работы, поэтому нам нужно дать 3V от micro:bit к сервоприводу и нам нужно дать выход от PIN0 и есть одно заземление, которое должно быть подключено к другому заземлению.
Соедините, следуя таблице:
- 3V от micro:bit к Red Wire сервопривода.
- GDN от micro:bit к Brown Wire сервопривода.
- PIN0 от micro:bit к Orange Wire сервопривода.
Ниже представлено изображение схемы подключений.
Вот "живая" фотография, надеюсь, у Вас всё получилось.
Теперь давайте обратимся к программной части. Мы можем пойти двумя путями. Один — очень простой. Заключается в простом копипасте. Второй — программирование на JavaScript.
Перейдите на makecode.microbit.org и подождите несколько секунд, пока все подготовится. Вы увидете это.
Сейчас, если Вы хотите отобразить приветствие при запуске, перейдите к Basics и выберете Show String Block. Будет выглядеть примерно так, как показано на картинке. Если Вы не хотите приветствия, то просто удалите его.
Теперь перейдем к программированию сервопривода. Если Вы хотите, чтобы ваш сервопривод двигался только один раз, то поместите Ваш код в блок on start, иначе поместите ваш код в блок forever. Я собираюсь использовать блок forever в этом уроке.
Что из себя представляет блок forever?
Блок forever — это код или блок, который наш микробит будет исполнять. Forever означает постоянное выполнение кода, который будет расположен в его блоке.
- Удалите блок start, если он Вам не нужен. Я удалю.
- Перейдите к Loop и выберете блок While loop, поместите его в блок forever.
- Теперь перейдите в Advanced Block, затем выберете pins и затем — servo и напишите блок pins, поместите его во внутрь блока while loop.
- Теперь нам нужно добавить задержку, чтобы наш сервопривод вращался и через некоторое время изменял направление вращения или его угол, заданный пользователем. Перейдите к основному блоку и выберите "Pause block" и измените значение по умолчанию на 1000. Таким образом, он обеспечит задержку в 1000 микросекунд от одного угла к другому. Вот и все.
- Теперь достаточно просто кликнуть на оба блока — pin сервопривода и блок паузы; кликнуть правой кнопкой мыши на нем и выбрать duplicate. Поместите его сразу после блока паузы и измените угол на 90.
Конечный код:
Код Javascript:
basic.forever(() => { while (true) { pins.servoWritePin(AnalogPin.P0, 45) basic.pause(1000) pins.servoWritePin(AnalogPin.P0, 90) basic.pause(1000) pins.servoWritePin(AnalogPin.P0, 180) basic.pause(1000) } })
Сейчас кликните по кнопке Download и получите hex-файл.
Скопируйте hex-файл в micro:bit. Подождите, пока микробит перезагрузится.
Это все. Теперь Ваш сервопривод должен вращаться на 45, 90 и 180 градусов.