여기는 연수생의 작업물을 기록하고 공유하는 공간입니다.
프로젝트 사진 모음
프로젝트 기록
1.
서보모터 4개의 제어 코드
from machine import Pin, PWM
import utime
# PWM 핀 설정 (라즈베리파이 피코의 PWM 지원 핀 사용)
servo_pins = [2, 3, 4, 5] # GP2, GP3, GP4, GP5
servos = [PWM(Pin(pin)) for pin in servo_pins]
# PWM 주파수 설정 (서보모터는 일반적으로 50Hz)
for servo in servos:
servo.freq(50)
# 서보모터 각도를 PWM 듀티사이클로 변환
def set_angle(servo, angle):
min_duty = 1000 # 0도에 해당하는 듀티사이클 (us)
max_duty = 9000 # 180도에 해당하는 듀티사이클 (us)
# 각도를 PWM 듀티사이클 값으로 변환
duty = int(min_duty + (angle / 180) * (max_duty - min_duty))
servo.duty_u16(duty) # 16비트 스케일로 설정
# 서보 스위핑 테스트
while True:
for angle in range(0, 181, 10): # 0 → 180도
for servo in servos:
set_angle(servo, angle)
utime.sleep(0.05)
utime.sleep(0.5) # 정점에서 잠시 대기
for angle in range(180, -1, -10): # 180 → 0도
for servo in servos:
set_angle(servo, angle)
utime.sleep(0.05)
utime.sleep(0.5) # 정점에서 잠시 대기
Python
복사
2.
서보모터 2개를 제어하는 코드
지금 젠더로 전기를 분배받아서 그런지, 잘 되지 않음.