여기는 연수생의 작업물을 기록하고 공유하는 공간입니다.
프로젝트 사진 모음
프로젝트 기록
라즈베리파이 피코에 파이썬으로 서보모터 4개 스위핑 테스트 코드 작성해줘, 2번 4번 6번 8번에 연결했어
from machine import Pin, PWM
import time
서보모터가 연결된 핀 번호
servo_pins = [2, 4, 6, 8]
PWM 주파수 설정
SERVO_FREQ = 50 # 서보모터는 일반적으로 50Hz 사용
서보모터 객체 생성
servos = [PWM(Pin(pin)) for pin in servo_pins]
PWM 초기화
for servo in servos:
servo.freq(SERVO_FREQ)
서보모터의 각도를 설정하는 함수
def set_servo_angle(servo, angle):
min_duty = 1000 # 0도에 해당하는 duty 값 (us)
max_duty = 9000 # 180도에 해당하는 duty 값 (us)
duty = int(min_duty + (angle / 180) * (max_duty - min_duty))
servo.duty_u16(duty)
서보모터 스위핑 테스트
try:
while True:
# 0도부터 180도까지 이동
for angle in range(0, 181, 5):
for servo in servos:
set_servo_angle(servo, angle)
time.sleep(0.02) # 부드러운 움직임을 위한 지연
# 180도부터 0도까지 이동
for angle in range(180, -1, -5):
for servo in servos:
set_servo_angle(servo, angle)
time.sleep(0.02)
Plain Text
복사
except KeyboardInterrupt:
print("테스트 중지")
for servo in servos:
servo.duty_u16(0) # 서보모터 신호 중지