注釈
こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebook上で、仲間と一緒にRaspberry Pi、Arduino、ESP32をさらに深く探求しましょう。
なぜ参加するのか?
専門的なサポート:購入後の問題や技術的な課題をコミュニティやチームの助けを借りて解決。
学びと共有:スキルを向上させるためのヒントやチュートリアルを交換。
限定プレビュー:新製品発表や予告編に早期アクセス。
特別割引:最新製品の特別割引を楽しむ。
フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加。
👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!
レッスン33: サーボモーター (SG90)
このレッスンでは、Arduinoを使用してサーボモーターを制御し、0度から180度まで回転させ、再び戻す方法を学びます。Servoライブラリの使用法、サーボ制御のための変数の定義と使用、さらには段階的な動きを実現するためのforループの実装について説明します。このプロジェクトは初心者に最適で、モーター制御とArduinoの基本的なプログラミング原則を実践的に学ぶことができます。
必要なコンポーネント
このプロジェクトでは、以下のコンポーネントが必要です。
全キットを購入するのが便利です。こちらのリンクをご覧ください。
Name |
ITEMS IN THIS KIT |
LINK |
---|---|---|
Universal Maker Sensor Kit |
94 |
以下のリンクから個別に購入することもできます。
Component Introduction |
Purchase Link |
---|---|
Arduino UNO R3 or R4 |
|
配線
コード
コード解析
ここでは、サーボモーターを簡単に制御できるようにするために「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); } }