8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Arduinoでサーボモータ制御

Posted at

Raspberry Pi でサーボモータ制御 をやってみたんですが、PWMが安定していないのが、どうしても時々プルプル震えてしまいます。というわけで、Arduinoで再チャレンジ!

公式サイトのチュートリアルを参考にしてコードを書きます。ポテンションメータがなかったので、トグルスイッチで代用しています。

https://www.arduino.cc/en/Tutorial/Button
https://www.arduino.cc/en/Tutorial/Knob

出来上がったコードはこんな感じ。スイッチがONの時、OFFの時、それぞれで180度、0度の位置まで回転します。

#include <Servo.h>

Servo myservo;

const int buttonPin = 2;
const int servoPin = 9;
const int ledPin =  13;

int buttonState = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
  myservo.attach(servoPin);
}

void loop() {
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
    myservo.write(0);
  } else {
    digitalWrite(ledPin, LOW);
    myservo.write(180);
    //delay(15);
  }
}

配線図はこちら。図を描くのが面倒なので写真(^^; 右上の3本線がサーボ(SG90 MicroServo)に繋がっています。赤がVcc、黒がGND、緑(サーボ側が橙)がPWMです。

IMG_2449.jpg

制御系はやっぱりArduinoの安定感が心地よいですね…。

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?