В этом руководстве мы покажем как управлять серводвигателем Tower Pro MD90S посредством веб-сервера на ESP32 через Arduino IDE. Этот серводвигатель имеет следующую маркировку выводов: ШИМ – жёлтый, питание – красный, коричневый – масса. Также угол поворота у него составляет 180 градусов (по 90 в каждом направлении).
Управление углом поворота серводвигателя осуществляется подачей импульсов на вывод PWM. Длительность импульсов находится в диапазоне 0,6–2.4 мс, а период сигнала ШИМ — 20 мс (50 Гц).
Например, если подаём импульсы с длительностью 0,6 мс, то угол поворота серводвигателя будет 0 градусов, 1,5 мс соответствуют 90 градусам, а 2,4 мс — 180 градусам.
Для определения соответствия между углами поворота и длительностью импульсов воспользуемся функцией map(angleDegrees, 0,180,600,2400). Эта функция возвращает длительность импульса в микросекундах.
В этом примере 0 представляет минимальный угол при длине импульса 600 микросекунд, а 180 представляет максимальный угол при длине импульса 2400 микросекунд.