[위례고][강건]
여기는 연수생의 작업물을 기록하고 공유하는 공간입니다.
프로젝트 사진 모음
프로젝트 기록
/코드
from machine import Pin, PWM
import time
서보모터 핀 설정
servo_pins = [2, 3, 4, 8]
servos = [PWM(Pin(pin)) for pin in servo_pins]
PWM 주파수 설정 (서보모터는 일반적으로 50Hz 사용)
for servo in servos:
servo.freq(50)
def set_angle(servo, angle):
"""각도를 입력받아 해당 서보모터의 PWM 듀티사이클을 설정"""
min_duty = 1638 # 0도 (500us)
max_duty = 8192 # 180도 (2500us)
duty = int(min_duty + (angle / 180) * (max_duty - min_duty))
servo.duty_u16(duty)
Plain Text
복사
def sweep_servos():
"""모든 서보모터를 0도에서 180도, 다시 0도로 움직이는 함수"""
while True:
# 0도에서 180도까지 회전
for angle in range(0, 181, 5):
for servo in servos:
set_angle(servo, angle)
time.sleep(0.05) # 50ms 대기
# 180도에서 0도로 회전
for angle in range(180, -1, -5):
for servo in servos:
set_angle(servo, angle)
time.sleep(0.05)
Plain Text
복사
기구부 연결
sweep_servos()
테스트 실행