Il pin PWM di Arduino Nano non funziona

Sto costruendo un progetto utilizzando un Arduino Nano. In esso, sto usando il pin 3 come uscita PWM. Tuttavia, se fornisco valori inferiori a 255, il pin non emette alcuna tensione.

Secondo questo diagramma, il pin 3 è PWM:

NANO pinout

Lho testato su due schede, non funziona su nessuna delle due. Non è nemmeno il mio schizzo (lho testato con un semplice analogWrite();).

Questo è il codice:

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

Quale potrebbe essere la ragione di ciò?

Commenti

  • Richiedi che venga spostato nello stackexchange di arduino
  • @JorenVaes come faccio?
  • Nessun codice mostrato. Su cosa diamine dovremmo speculare allora?
  • @Bort scusa, ha aggiunto il codice.
  • Prova a sostituire #define E1 3 con #define E1 PD3 e vedi se aiuta.

Risposta

Prova a sostituire #define E1 3 con #define E1 PD3 e vedi se questo aiuta.

Il PBx, PCx e le designazioni PDx non sono ambigue, quindi utilizzarle è praticamente una scommessa sicura.

Commenti

  • Questo è un consiglio assolutamente sbagliato. Le funzioni di Arduino accettano i numeri pin di Arduino. In questo caso è semplicemente successo perché PD3 è #define d come 3 e anche il numero pin di Arduino è 3. Prova a usare PB2 invece del pin numero 10 di Arduino se non ' mi credi. Non sono nemmeno univoche. Questi designatori sono definiti semplicemente come numeri di bit (ad es. PB3 è anche 3).

Risposta

Il terzo pin (pin 3) non è un pin PWM, è il pin RESET.

I pin PWM sono 6, 8, 9, 12, 13 e 14 (per Arduino Nano).

Vedi questa immagine :

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

Commenti

  • URL abbreviato reindirizza a immagini. google.co.in/… quindi non ha molto senso sostituirlo.
  • @Carolene secondo lo schema fornito dallOP, pin 3 significa pin digitale 3 = PORTD 3. La parte della tua risposta " I pin PWM sono 6, 8, 9, 12, 13 e 14 (per Arduino Nano) " è completamente fuorviante.

Answer

Sostituisci digitalWrite con analogWrite (pin, valore )

Commenti

  • Non ' non sono sicuro del motivo per cui pensi che funzioni. Hai letto la risposta accettata sopra o i commenti sotto la domanda?

Risposta

Usa pinMode(NNN, OUTPUT) in setup()?

Commenti

  • Ciao Denis e benvenuto a Stack Exchange! Sebbene tu possa avere ragione, per favore amplia la tua risposta, perché così comè sarebbe più adatta come commento. Leggi Come scrivo una buona risposta?
  • Questa è una buona risposta, manca la MODALITÀ PIN.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *