ラズベリーパイ4 C言語でサーボモーター制御 RaspberryPi SG90
詳細は動画で説明していますので動画をご視聴ください。
#include<wiringPi.h>
#include<stdio.h>
#define GPIO12 12
int main(void){
int i;
if(wiringPiSetupGpio()==-1) return 1;
//PIN設定
pinMode(GPIO12, PWM_OUTPUT);//GPIO12をPWM出力に設定
pwmSetMode(PWM_MODE_MS);//markspaceモードに設定(周波数を指定する場合はこのモードにする必要あり)
//PWM周期の設定(SG90の周期20[ms](周波数50[Hz])と同じに設定する)→周期=19.2*10^6/(pwmSetClock*pwmSetRange)
pwmSetRange(1000);//レンジを設定→pwmWrite関数で使用できる数字の決定(Duty比の分母となる値)→19.2*10^6[Hz]/1000=19.2*10^3
pwmSetClock(384);//クロック数を設定 →19.2*10^3[Hz]/50[Hz]=384
//サーボモータの回転実行
for(i=0;i<5;i++){
pwmWrite(GPIO12,25);//0度回転((0.5[ms]/20[ms])*1000=25)
delay(1000);
pwmWrite(GPIO12,120);//180度回転((2.4[ms]/20[ms])*1000=120)
delay(1000);
}
https://youtu.be/BASaqK2NlUo
return 0;
}