モーター¶
概要¶
このレッスンでは、モーターの使用方法を学びます。モーターの動作原理は、通電されたコイルが磁場内で強制的に回転し、その結果モーターのローターが回転し、ピニオンギアがエンジンのフライホイールを回転させることです。
必要なコンポーネント¶
このプロジェクトには、以下のコンポーネントが必要です。
全セットを購入するのが便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから個別に購入することもできます。
コンポーネント紹介 |
購入リンク |
---|---|
- |
|
- |
|
- |
配線図¶
この例では、パワーサプライモジュールを使用してブレッドボードの陽極と陰極に電力を供給します。
回路図¶
コード¶
注釈
ファイル
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
}