Чтобы управлять сервоприводом SG90 с помощью потенциометра в Arduino, нужно считывать показания потенциометра, преобразовывать их в угол поворота сервопривода и передавать полученный угол на устройство. 2
Для работы понадобятся: 1
- макетная плата; 1
- плата Arduino Nano; 1
- 6 проводов «Папа-Папа»; 1
- потенциометр на 100 кОм; 1
- сервопривод SG90. 1
Сначала нужно собрать схему подключения: 1
- Крайние контакты потенциометра подключить на контакты 5V и GND на плате. 1
- Центральный контакт, который подключён к вращающейся ручке потенциометра, подключить на любой из аналоговых пинов Arduino, например на пин A0. 1
Затем необходимо написать программу: 1
- Сделать бесконечный цикл считывания показаний с A0 с задержкой 0,1 с (задержку можно менять для более плавного управления). 1
- В мониторе порта наблюдать считываемые значения. 1 Так как плата Arduino Nano имеет 10-битный АЦП, при вращении ручки потенциометра от одного крайнего положения к другому будут видны значения от 0 до 1023. 1
- Написать код, который будет переводить показания потенциометра (0–1023) в углы сервомотора (0–90 градусов). 1 Для этого ввести переменную «Коэффициент», равную отношению «Максимального значения потенциометра» к «Максимальному углу сервомотора». 1
- В цикл добавить команду управления сервоприводом, угол определять как считанное значение потенциометра, скорректированное (поделенное) на «Коэффициент». 1
Для управления сервоприводом в Arduino используется стандартная библиотека Servo. 5 В ней есть функции: attach(номер_вывода) — инициализация сервопривода, write(угол) — поворот сервопривода на заданный угол, read() — получение текущего угла сервопривода. 2