Note
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
- エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
- 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
- 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
- 特別割引:最新製品の独占割引をお楽しみください。
- 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!
このレッスンでは、モーターの使用方法を学びます。モーターの動作原理は、通電されたコイルが磁場内で強制的に回転し、その結果モーターのローターが回転し、ピニオンギアがエンジンのフライホイールを回転させることです。
このプロジェクトには、以下のコンポーネントが必要です。
全セットを購入するのが便利です。こちらがリンクです:
名称 | このキットのアイテム数 | リンク |
---|---|---|
Elite Explorer Kit | 300+ | |link_Elite_Explorer_kit| |
以下のリンクから個別に購入することもできます。
コンポーネント紹介 | 購入リンク |
---|---|
:ref:`uno_r4_wifi` | - |
:ref:`cpn_breadboard` | |link_breadboard_buy| |
:ref:`cpn_wires` | |link_wires_buy| |
:ref:`cpn_ta6586` | - |
:ref:`cpn_motor` | |link_motor_buy| |
:ref:`cpn_power` | - |
この例では、パワーサプライモジュールを使用してブレッドボードの陽極と陰極に電力を供給します。
Note
- ファイル
24-motor.ino
をelite-explorer-kit-main\basic_project\24-motor
のパスで直接開くことができます。 - または、このコードをArduino IDEにコピーしてください。
UNOボードにコードをアップロードした後、シリアルモニターで「A」または「B」と入力することで、モーターの回転方向を選択できます。
モーターは、モーターの両側の銅板間に電圧差を与えることで駆動できます。 したがって、銅板の一方の側の電圧を0V、もう一方の側を5Vに設定するだけで済みます。書かれたアナログ信号値を変更することで、方向と速度を調整できます。
// Function to rotate the motor clockwise
void clockwise(int Speed) {
analogWrite(motorBI, 0);
analogWrite(motorFI, Speed);
}
// Function to rotate the motor anticlockwise
void anticlockwise(int Speed) {
analogWrite(motorBI, Speed);
analogWrite(motorFI, 0);
}
この例では、Serial.Read()を使用してモーターの方向を制御しています。
シリアルモニターで「A」と入力すると、clockwise(255)関数が呼び出され、モーターが255の速度で回転します。 「B」と入力すると、モーターは逆方向に回転します。
void loop() {
// Check if there is available data on the serial port
if (Serial.available() > 0) {
int incomingByte = Serial.read(); // Read incoming data
// Determine motor direction based on user input
switch (incomingByte) {
case 'A':
clockwise(255); // Rotate motor clockwise
Serial.println("The motor rotates clockwise.");
break;
case 'B':
anticlockwise(255); // Rotate motor anticlockwise
Serial.println("The motor rotates anticlockwise.");
break;
}
}
delay(3000); // Wait for 3 seconds
stopMotor(); // Stop the motor
}