SG90 ESP32 Micropython

Сервопривод SG90

.


 

ESP32 > SG90
 GND > Коричневый
 VN > Красный
 D15 > Оранжевый

Простой пример изменение угла по 10 градусов.

main.py     

from machine import Pin, PWM
from time import sleep

# Пин для управления серво
servo = PWM(Pin(15), freq=50) # 50 Гц = стандартная частота для SG90

def set_angle(angle):
# Преобразуем угол (0–180) в duty для ESP32 (0–1023)
# Период 20 мс → импульс 0.5–2.5 мс
min_duty = 26 # примерно 0.5 мс
max_duty = 128 # примерно 2.5 мс
duty = int(min_duty + (max_duty - min_duty) * angle / 180)
servo.duty(duty)

# Тест
while True:
for ang in range(0, 181, 10):
set_angle(ang)
sleep(0.3)
for ang in range(180, -1, -10):
set_angle(ang)
sleep(0.3)






0/90/180 градусов. 

main.py     


from machine import Pin, PWM
from time import sleep

servo = PWM(Pin(15))
servo.freq(50)

def set_angle(angle):
# 16-битное значение
min_u16 = 1638 # примерно 0.5 мс
max_u16 = 8192 # примерно 2.5 мс
duty = int(min_u16 + (max_u16 - min_u16) * angle / 180)
servo.duty_u16(duty)

while True:
set_angle(0)
sleep(2)
set_angle(90)
sleep(2)
set_angle(180)
sleep(2)







Комментарии

Популярные сообщения из этого блога

Установка micropython на ESP32

LORA Приемник и передатчик

LORA Upgrade E32 400M30S