記事一覧

M5Stack サーボ動かしてみた

M5Stack サーボ動かしてみた



こんにちはRoboTakaoです。

ロボット用要素部品としてはサーボは欠かせませんのでM5Stackでサーボを簡単に動かしてみました。

M5StackServo01.jpg

接続

M5StackServo02.png

スケッチの説明

一般的なサーボは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チカ

コメント

コメントの投稿

非公開コメント

プロフィール

RoboTakao

Author:RoboTakao
みなさんご訪問ありがとうございます。ロボット作りたいけどお小遣いそんなにないし、簡単でローコストでロボットを作るための私のプロジェクトを紹介します。

ウェブサイトもありますのでそちらもよろしくお願いします。
http://robotakao.jp/