サーボ¶
概要¶
このレッスンでは、Arduinoとサーボモーターの使用について学びます。Arduino UnoとSG90サーボモーターに焦点を当て、Arduinoをプログラミングしてサーボのスイープ動作を制御する方法を学びます。この技術は、ロボティクスや自動システムなど、さまざまな用途で重要です。
必要なコンポーネント¶
このプロジェクトには、以下のコンポーネントが必要です。
全セットを購入するのが便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから個別に購入することもできます。
コンポーネント紹介 |
購入リンク |
---|---|
- |
|
配線図¶
回路図¶
コード¶
注釈
ファイル
27-servo.ino
をelite-explorer-kit-main\basic_project\27-servo
で直接開くことができます。または、このコードをArduino IDEにコピーしてください。
コード解析¶
ここでは、サーボモーターを簡単に制御するための
Servo
ライブラリが含まれています。サーボに接続されたピンとサーボの初期角度も定義されています。#include <Servo.h> const int servoPin = 9; // Define the servo pin int angle = 0; // Initialize the angle variable to 0 degrees Servo servo; // Create a servo object
setup()
関数はArduinoが起動するときに一度実行されます。attach()
関数を使用して、定義されたピンにサーボを接続します。void setup() { servo.attach(servoPin); }
メインループには2つの
for
ループがあります。最初のループは角度を0度から180度に増加させ、2番目のループは角度を180度から0度に減少させます。servo.write(angle)
コマンドは、指定された角度にサーボを設定します。delay(15)
により、サーボは次の角度に移動する前に15ミリ秒待機し、スキャン動作の速度を制御します。void loop() { // scan from 0 to 180 degrees for (angle = 0; angle < 180; angle++) { servo.write(angle); delay(15); } // now scan back from 180 to 0 degrees for (angle = 180; angle > 0; angle--) { servo.write(angle); delay(15); } }