Processor

【라즈베리파이】 wiringPi C 언어 : 서보 모터 softPwm

작성자 임베디드코리아 작성일26-02-17 18:07 조회100회 댓글0건
--->>> 예제 :  servo01.c  <<<---------------------------------------
#include <wiringPi.h>
#include <stdio.h>
#include <softPwm.h>
#define SERVO_PIN 1
int main(){    
    if(wiringPiSetup() == -1) 
       return 1;
    softPwmCreate(SERVO_PIN ,0, 200);
    softPwmWrite(SERVO_PIN ,5);     // - 방향
    delay(600);                           //600ms 동안 상태가 지속됨

    softPwmWrite(SERVO_PIN ,25);   //+ 방향
    delay(600);
    return 0;
}
-------------------------------------------------------------------------
$ gcc -o servo01  servo01.c  –lwiringPi
$ sudo  ./servo01

--->>> 예제 :  servo02.c  <<<---------------------------------------
#include <wiringPi.h>
#include <softPwm.h>

#define SERVO 1

int main()
{
    char sel;

    if(wiringPiSetup()==-1)
        return 1;

    softPwmCreate(SERVO, 0, 200);

    while(1)
    { 
        fputs("select c, r, l, q: " , stdout);
        scanf("%c" , &sel);
        getchar();
        if(sel == 'c') softPwmWrite(SERVO,15);  // 0 degree
        else if(sel == 'r') softPwmWrite(SERVO,24); // 90 degree
        else if(sel == 'l') softPwmWrite(SERVO,5); // -90 degree
        else if(sel == 'q') return 0;
    } 

    return 0;
}
-----------------------------------------------------------------------------
$ gcc -o servo02  servo02.c  –lwiringPi
$ sudo  ./servo02