반응형

 

 

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

 

반응형

진행해본 결과물을 기록 및 공유하는 공간입니다.
잘못된 부분이나 개선점을 알려주시면 반영하겠습니다.


소스코드 복사시 하단에 있는 앵커 광고의 왼쪽 위를 클릭하여 닫은 후 해야 합니다.


문제가 생기면 포스트와 바뀐 환경이 있나 먼저 확인해보세요.
질문을 남겨주면 가능한 빨리 답변드립니다.


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

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

TistoryWhaleSkin3.4">