Pin PWM Arduino Nano nefunguje

Stavím projekt pomocí Arduino Nano. V tom používám pin 3 jako výstup PWM. Pokud však do něj zadám hodnoty nižší než 255, pin nevydá vůbec žádné napětí.

Podle tohoto diagramu je pin 3 PWM:

NANO pinout

Testoval jsem to na dvou deskách, nefunguje na žádném. Není to ani můj náčrtek (testoval jsem to pomocí jednoduchého analogWrite();).

Toto je kód:

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); } 

Co by mohlo být příčinou?

Komentáře

  • Požádat o přesunutí do arduino stackexchange
  • @JorenVaes, jak to mám udělat?
  • Nezobrazuje se žádný kód. O čem tedy na světě máme spekulovat?
  • @Bort promiň, přidal jsem kód.
  • Zkuste nahradit #define E1 3 za #define E1 PD3 a zjistěte, zda to pomáhá.

Odpověď

Zkuste nahradit #define E1 3 znakem #define E1 PD3 a zjistěte, zda to pomůže.

PBx, PCx a PDx označení jsou jednoznačná, takže jejich použití je skoro bezpečná sázka.

Komentáře

  • To je naprosto špatná rada. Funkce Arduino přijímají čísla pinů Arduino. V tomto případě to prostě fungovalo, protože PD3 je #define d jako 3 a číslo PIN Arduina je také 3. Zkuste použít PB2 místo pinu Arduino číslo 10, pokud mi nevěříte '. Nejsou ani jednoznačné. Tito označení jsou právě definována jako čísla bitů (např. PB3 je také 3).

Odpověď

Třetí pin (pin 3) není pin PWM, je to RESET pin.

PWM piny jsou 6, 8, 9, 12, 13 a 14 (pro Arduino Nano).

Viz tento obrázek :

mg src = „https://i.stack.imgur.com/8flVu.png“ alt = „Nano pinout“ title = „Nano pinout“>

Komentáře

  • Zkrácené URL přesměruje na obrázky. google.co.in/… takže jeho výměna nemá moc smysl.
  • @Carolene podle schématu uvedeného v OP, pin 3 znamená digitální pin 3 = PORTD 3. Část vaší odpovědi " PWM piny jsou 6, 8, 9, 12, 13 a 14 (pro Arduino Nano) " je zcela zavádějící.

Odpověď

Nahraďte digitalWrite za analogWrite (pin, hodnota )

Komentáře

  • Nejsem si jistý, proč si myslíte, že by to fungovalo, '. Přečetli jste si výše přijatou odpověď nebo komentáře pod otázkou?

Odpověď

Použijte pinMode(NNN, OUTPUT) at setup()?

Komentáře

  • Ahoj Denisi, vítejte na Stack Exchange! I když můžete mít pravdu, prosím, rozbalte svou odpověď, protože v současné podobě by se to více hodilo jako komentář. Přečtěte si Jak mohu napsat dobrou odpověď?
  • Toto je dobrá odpověď, REŽIM PIN chybí.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *