ArduinoNanoを使用してプロジェクトを構築しています。その中で、私はピン3をPWM出力として使用しています。ただし、255未満の値を供給すると、ピンは電圧をまったく出力しません。
この図によると、ピン3はPWMです。
2つのボードでテストしましたが、どちらでも機能しません。これも私のスケッチではありません(単純なanalogWrite();
でテストしました)。
これはコードです:
void setup() { // put your setup code here, to run once: #define E1 3 // Enable Pin for motor 1 #define E2 10 // Enable Pin for motor 2 #define I1 4 // Control pin 1 for motor 1 #define I2 2 // Control pin 2 for motor 1 #define I3 A1 // Control pin 1 for motor 2 #define I4 A0 // Control pin 2 for motor 2 } void loop() { // put your main code here, to run repeatedly: // I use differential steering, speed is important analogWrite(E1, 100); // Run in full speed analogWrite(E2, 100); // Run in full speed // always go forward digitalWrite(I1, LOW); digitalWrite(I2, HIGH); digitalWrite(I3, LOW); digitalWrite(I4, HIGH); }
これの理由は何でしょうか?
コメント
- これをarduinoスタックエクスチェンジに移動するようにリクエストしてください
- @JorenVaesこれを行うにはどうすればよいですか?
- コードは表示されていません。
- @Bort申し訳ありませんが、コードを追加しました。
- #define E13を#defineE1 PD3に置き換えて、それがどうかを確認してください。
回答
#define E1 3
を<に置き換えてみてくださいdiv id = "4e2ff918bd">
そしてそれが役立つかどうかを確認します。
PBx
、PCx
およびPDx
の指定は明確であるため、これらを使用することはほぼ安全です。
コメント
を使用してください。それらは明白ではありません。これらの指定子は、ビット番号として定義されているだけです(たとえば、PB3
も3です)。
回答
3番目のピン(ピン3)はPWMピンではなく、RESET
ピンです。
PWMピンは6、8、9、12、13、14です(Arduino Nanoの場合)。
mg src = “https://i.stack.imgur.com/8flVu.png” alt = “ナノピン配置” title = “Nano pinout”>
コメント
- 短縮URLは画像にリダイレクトされます。 google.co.in/ … それを置き換える意味はあまりありません。
- OPの回路図によると@Carolene、ピン3はデジタルピン3 = PORTD3を意味します。回答の一部" PWMピンは6、8、9、12、13、14(Arduino Nanoの場合)"は完全に誤解を招く恐れがあります。
回答
digitalWriteをanalogWrite(pin、value )
コメント
- I 'これがうまくいくと思う理由がわかりません。上記の承認された回答または質問の下のコメントを読みましたか?
回答
pinMode(NNN, OUTPUT)
at setup()
?
コメント
- こんにちは、デニス、ようこそスタックエクスチェンジへ!あなたは正しいかもしれませんが、それはコメントとしてより適しているので、あなたの答えを拡張してください。 適切な回答を書くにはどうすればよいですか?
- これは適切な回答です。PINモードがありません。
PD3
は#define
dで3であり、Arduinoのピン番号も3であるため、たまたま機能しました。ivを使用してみてください'信じられない場合は、Arduinoのピン番号10の代わりにid = “d9e42fb2dc”>