M5Stack サーボ動かしてみた
- 2018/09/19
- 23:06
M5Stack サーボ動かしてみた
こんにちはRoboTakaoです。
ロボット用要素部品としてはサーボは欠かせませんのでM5Stackでサーボを簡単に動かしてみました。

接続

スケッチの説明
一般的なサーボは0〜180度を20msごとのパルス幅でサーボに指令することで角度を指定します。
(パルス幅はサーボによって異なる)
0度の時は544ms
180度の時は2400ms
今回はdelayMicroseconds( )を使って20msの基本周期と角度指定のパルス幅を規定します。
動作確認
無事い45度〜135度でサーボを動かすことができました。
スケッチ
#include
int servoPin = 5;
void servoSet(int Angle,int Time) {
int pulseWidth;
int TimeCount;
TimeCount = Time/20;
for(int i=0; i <= TimeCount; i++){
pulseWidth = map(Angle, 0, 180, 544, 2400);
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulseWidth);
digitalWrite(servoPin, LOW);
delayMicroseconds(20000 - pulseWidth);
}
}
void setup() {
m5.begin();
M5.Lcd.printf("M5Stack Servo test:\r\n");
pinMode(servoPin, OUTPUT);
}
void loop() {
M5.Lcd.printf("Angle 45deg\r\n");
servoSet(45,1000); //45deg
M5.Lcd.printf("Angle 135deg\r\n");
servoSet(135,1000); //135deg
}
それでは今回はこの辺で失礼します。
M5Stack関連投稿
1)M5StackとりあえずArduinoIDEで使う初期設定した。(macOS)
2)M5Stack Arduino IDE のサンプルスケッチを試してみた
3)M5Stack アバターを試してみた(Arduino IDE) Avatar
4)M5Stack とりあえずLチカ
スポンサードリンク