728x90
본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.
출처
- [Raspberry Pi3] 라즈베리파이3 PWM을 이용한 서보모터 제어 - 코카 코딩
- The Pi4J Project – Home
- LED On/Off - The Pi4J Project – Control Example
- Raspberry gPIo - learn.sparkfun.com
SG-90 연결선
- 노란색 = 제어신호
- 빨간색 = VCC
- 갈색(또는 검정색) = GND
SG-90제어 C언어 예제 (servo.c)
#include<stdio.h> #include<wiringPi.h> #include<softPwm.h> #define SERVO 26 int main() { char str; if(wiringPiSetup()==-1) return 1; softPwmCreate(SERVO,0,200); while(1) { fputs("select c ,r , l , q : " , stdout); scanf("%c" , &str); getchar(); if(str=='c') softPwmWrite(SERVO,15); //0 degree else if(str=='r') softPwmWrite(SERVO,24); //90 degree else if(str=='l') softPwmWrite(SERVO,5); //-90 degree else if(str=='q') return 0; } return 0; }
C언어 예제 컴파일
$ gcc servo.c -o servo -lwiringPi
C언어 예제 실행
$ ./servo
SG-90 제어 Java 예제 소스
import com.pi4j.io.gpio.GpioFactory; import com.pi4j.io.gpio.RaspiGpioProvider; import com.pi4j.io.gpio.RaspiPinNumberingScheme; import com.pi4j.wiringpi.Gpio; import com.pi4j.wiringpi.SoftPwm; public class Servo { private static int PIN_NUMBER = 12; public static void main(String[] args) throws Exception { // GpioFactory.setDefaultProvider(new RaspiGpioProvider(RaspiPinNumberingScheme.BROADCOM_PIN_NUMBERING)); // initialize wiringPi library, this is needed for PWM Gpio.wiringPiSetup(); // softPwmCreate(int pin, int value, int range) // the range is set like (min=0 ; max=100) SoftPwm.softPwmCreate(PIN_NUMBER, 0, 100); int counter = 0; while (counter < 3) { // for (int i = 0; i <= 100; i++) { // softPwmWrite(int pin, int value) // This updates the PWM value on the given pin. The value is // checked to be in-range and pins // that haven't previously been initialized via softPwmCreate // will be silently ignored. SoftPwm.softPwmWrite(PIN_NUMBER, i); Thread.sleep(25); } // for (int i = 100; i >= 0; i--) { SoftPwm.softPwmWrite(PIN_NUMBER, i); Thread.sleep(25); } counter++; } } }
Java 예제 컴파일
$ javac -cp .:lib/pi4j-core.jar Servo.java
Java 예제 실행
$ java -cp .:lib/pi4j-core.jar Servo
실행 영상
라즈베리파이3 Model B+ 공식 구입처 : 아이씨뱅큐 http://www.icbanq.com/
마이크로비트 공식 카페 : http://cafe.naver.com/bbcmicro
아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq
728x90