반응형

 

 

라즈베리파이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 ;
}

 

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts