IT/RaspberryPi

[라즈베리파이] 서보모터 연결

yuujoeng 2022. 9. 23. 03:01

1 서보모터 연결

(1) 그림에 맞추어 서보모터의 핀과 라즈베리파이 연결
- 라즈베리파이와 서보모터가 직통이 아닌 점퍼선을 통해 연결되어야 함 (라베파-점퍼선-모터)
- 빨강: 전원공급
- 갈색: GDN
- 노랑: 모터 위치 제어 PWN 신호 전송 (GPIO 핀)


(2) 라즈베리파이 cmd 창에서 Moter.py 코드 작성

import RPi.GPIO as GPIO
from time import sleep

servoPin = 12
SERVO_MAX_DUTY = 12.5
SERVO_MIN_DUTY = 4

GPIO.setmode(GPIO.BOARD)
GPIO.setup(servoPin, GPIO.OUT)
servo = GPIO.PWM(servoPin, 50)
servo.start(0)

def setServoPos() :
    degree=int(input("Input Degree: "))
    
    if degree < 0:
        degree = 0
    if degree > 180:
        degree = 180
        
    duty = SERVO_MIN_DUTY + (degree*(SERVO_MAX_DUTY-SERVO_MIN_DUTY)/180.0)
    print("Degree: {} % Duty: {}".format(degree, duty))
    servo.ChangeDutyCycle(duty)
    sleep(5)
    
if __name__ == "__main__":
    setServoPos()
    servo.stop()
    GPIO.cleanup()


(3) python ./Moter.py 명령어로 파일 실행 후 회전 각도 입력하여 모터 동작