반응형
라즈베리파이3에서 서보 모터를 제어하는 방법을 다룹니다.
Python 언어와 C 언어로 다루는 방법을 설명하며 이후 웹캠과 초음파 센서를 얹어 사용할 예정입니다.
2019. 6. 3
(영상은 업로드 중입니다.)
Python
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
p = GPIO.PWM(12, 50)
p.start(0)
p.ChangeDutyCycle(3)
sleep(1)
p.ChangeDutyCycle(12)
sleep(1)
p.ChangeDutyCycle(7.5)
sleep(1)
while(1):
val = float(raw_input("input(3~7.5~12) = "))
if val == -1: break
p.ChangeDutyCycle(val)
p.stop()
GPIO.cleanup()
C
#include <stdio.h>
#include <wiringPi.h>
#include <softPwm.h>
#define PIN 12
int main()
{
if (wiringPiSetupPhys() == -1)
exit (1) ;
pinMode(PIN, PWM_OUTPUT);
pwmSetMode(PWM_MODE_MS);
pwmSetClock(384);
pwmSetRange(1000);
pwmWrite(PIN, 30 );
sleep(1);
pwmWrite(PIN, 120);
sleep(1);
pwmWrite(PIN, 75 );
sleep(1);
float val;
while(-1){
printf("(30~75~120)= ");
scanf("%f", &val);
if ( val == -1 ) break;
pwmWrite(PIN, val );
sleep(1);
}
return 0 ;
}
반응형