これが私の電気モーター制御回路です。

2つのトランジスタは複合トランジスタとして動作しますが、これは電流ゲインを上げるために必要です。 電気モーターは別の電源で駆動され、ArduinoはUSBで駆動されます。
以下はArduinoのコードです(再設計されたFadeの例)。
int brightness = 50; // how bright the LED is
int fadeAmount = 1; // how many points to fade the LED by
void setup() {
pinMode(9, OUTPUT);
}
void loop() {
analogWrite(9, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 50 || brightness >= 255) {
fadeAmount = -fadeAmount ;
}
delay(30);
}
サイクルのプログラムは、PWM出力No.9の値を50から255に、またはその逆に変更します。一方、電気モーターはスムーズに速度を上げ、その後減速します。
スキームはシンプルで、エンジンを一方向にのみ回転させることができます。 エンジンをさまざまな方向に回転させるために、特定のHブリッジが使用されますが、これについてはまだ調査していません。
オセロットのおかげで、彼はこの問題を研究する上で私を大いに助けてくれたいくつかのことを教えてくれました。