Pinul Arduino Nano PWM nu funcționează

Construiesc un proiect folosind un Arduino Nano. În el, folosesc pinul 3 ca ieșire PWM. Cu toate acestea, dacă îi furnizez valori mai mici de 255, pinul nu produce deloc tensiune.

Conform acestei diagrame, pinul 3 este PWM:

NANO pinout

L-am testat pe două plăci, nu funcționează pe nici una. Nu este nici schița mea (am testat-o cu un simplu analogWrite();).

Acesta este codul:

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

Care ar putea fi motivul?

Comentarii

  • Solicitați ca acesta să fie mutat în arduino stackexchange
  • @JorenVaes cum fac asta?
  • Nu este afișat niciun cod. Ce ar trebui să speculăm în lume atunci?
  • @Bort îmi pare rău, a adăugat codul.
  • Încercați să înlocuiți #define E1 3 cu #define E1 PD3 și vedeți dacă asta ajută.

Răspuns

Încercați să înlocuiți #define E1 3 cu #define E1 PD3 și vedeți dacă acest lucru vă ajută.

PBx, PCx și denumirile PDx sunt lipsite de ambiguitate, deci utilizarea acestora reprezintă un pariu sigur.

Comentarii

  • Acesta este un sfat absolut greșit. Funcțiile Arduino iau numere pin Arduino. În acest caz, s-a întâmplat să funcționeze deoarece PD3 este #define d ca 3, iar numărul pinului Arduino este, de asemenea, 3. Încercați să utilizați PB2 în loc de pinul Arduino numărul 10 dacă nu ' nu mă credeți. Nici măcar nu sunt lipsite de ambiguitate. Acei designatori sunt definiți doar ca numere de biți (de exemplu, PB3 este, de asemenea, 3).

Răspuns

Al treilea pin (pinul 3) nu este un pin PWM, este pinul RESET.

Pinii PWM sunt 6, 8, 9, 12, 13 și 14 (pentru Arduino Nano).

Vedeți această imagine :

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

Comentarii

  • URL scurtat redirecționează către imagini . google.co.in/… așa că nu are rost să-l înlocuiți.
  • @Carolene conform schemei date de OP, pinul 3 înseamnă pin digital 3 = PORTD 3. Partea răspunsului dvs. " Pinii PWM sunt 6, 8, 9, 12, 13 și 14 (pentru Arduino Nano) " este complet înșelător.

Răspuns

Înlocuiește digitalWrite cu analogWrite (pin, valoare )

Comentarii

  • Nu ' nu sunt sigur de ce credeți că ar funcționa. Ați citit răspunsul acceptat mai sus sau comentariile de la întrebare?

Răspuns

Utilizați pinMode(NNN, OUTPUT) la setup()?

Comentarii

  • Bună Denis și bine ai venit la Stack Exchange! Deși s-ar putea să fiți corect, vă rugăm să extindeți răspunsul dvs., deoarece așa cum este, ar fi mai potrivit ca comentariu. Vă rugăm să citiți Cum scriu un răspuns bun?
  • Acesta este un răspuns bun, lipsește MODUL PIN.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *