0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Arduinoでサーボモータを制御する

Last updated at Posted at 2024-01-15

モータ制御

モータの種類
・普通のモータ(ミニ四駆など)
・サーボモータ
・ステッピングモータ(3Dプリンタ制御など)

使うもの

Arduino Uno
緑の基板(オリジナル)
サーボ(SG90)
USBケーブル
竹ひご&ビーズ
輪ゴム
IMG_9645(大).jpeg

基板の取り付け

向きと位置を写真参考に差し込む。
Arduinoに端子の切れ目があるので、よく見てください。

IMG_9646(大).jpeg

サーボモータの取り付け

上から
 オレンジ(Signal)
 赤(+5V)
 茶(GND,-)

IMG_9647(大).jpeg

輪ゴムで固定

IMG_9648(大).jpeg

サーボ ライブラリのインストール

Arduinoのメニュー>スケッチ>ライブラリをインクルード>「ライブラリを管理」からservoで検索。
image.png

ボードとportの設定

Arduinoのメニュー>ツール>ボード>Arduino Uno
Arduinoのメニュー>ツール>シリアルポート>/cu.usbmodem14xxxx

コード

arduino
#include <Servo.h>

Servo myservo;

void setup() {
  myservo.attach(9);//9番使う
}

void loop() {
  myservo.write(60);//60度に設定
  delay(100);
  myservo.write(80);//80度に設定
  delay(100);
}

myservo.write(角度0~180);
delay(待ち時間ミリ秒)

※モータは指定の角度に達するまでに時間がかかる。到達までに、次の角度指定があると、たどり着かないうちに次の角度へ回ろうとする点に注意。100msでは早すぎることもあるし、おそすぎることもあるので、調整しましょう。

追加

自分のビートを刻みましょう。

可変抵抗値を読み取って、サーボを動かす(Arduino内で完結)

IMG_7036.jpg

アナログ0に接続された可変抵抗の値を読み取り、レンジを0~180に変換します。

#include <Servo.h>

Servo myservo;

void setup() {
  myservo.attach(9);
}

void loop() {
  int R = analogRead(A0);//可変抵抗値を得る
  int conv_R = map(R, 0,1023, 0,180);//可変抵抗値を角度に変換する
  
  myservo.write(conv_R);
  delay(10);
}

Processingからサーボモータを制御する

import processing.serial.*;
Serial port;

void setup() {
  size(180, 180);

  port = new Serial(this, "/dev/cu.usbmodem14201", 9600);//port設定は各自で変更
}

void draw() {
}

void mouseMoved(){
  byte data = (byte)mouseX;
  port.write(data); //送信
}
#include <Servo.h>

Servo myservo;

void setup() {
  myservo.attach(9);
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() >= 1 ) {
    int R = Serial.read();
    myservo.write(R);
  }
  delay(10);
}
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?