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:
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
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.
PD3
este#define
d ca 3, iar numărul pinului Arduino este, de asemenea, 3. Încercați să utilizațiPB2
î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).