Jeg bygger et projekt ved hjælp af en Arduino Nano. I den bruger jeg pin 3 som PWM-output. Men hvis jeg leverer værdier lavere end 255 til den, udsender stiften slet ingen spænding.
Ifølge dette diagram er pin 3 PWM:
Jeg har testet det på to tavler, det fungerer ikke på en af dem. Det er heller ikke min skitse (jeg testede det med en simpel analogWrite();
).
Dette er koden:
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); }
Hvad kan årsagen være til dette?
Kommentarer
- Anmod om, at dette flyttes til arduino stackexchange
- @JorenVaes hvordan gør jeg det?
- Ingen kode vises. Hvad i alverden skal vi spekulere i da?
- @Bort undskyld, tilføjede koden.
- Prøv at erstatte #define E1 3 med #define E1 PD3 og se om det hjælper.
Svar
Prøv at erstatte #define E1 3
med #define E1 PD3
og se om det hjælper.
PBx
, PCx
og PDx
betegnelser er entydige, så det er stort set et sikkert valg at bruge disse.
Kommentarer
Svar
Den tredje pin (pin 3) er ikke en PWM-pin, det er RESET
pin.
PWM-stifterne er 6, 8, 9, 12, 13 og 14 (til Arduino Nano).
Se dette billede :
mg src = “https://i.stack.imgur.com/8flVu.png” alt = “Nano pinout” title = “Nano pinout”>
Kommentarer
- Forkortede URL omdirigerer til billeder. google.co.in/… så ikke meget punkt at erstatte det.
- @Carolene i henhold til skemaet, der gives af OP, pin 3 betyder digital pin 3 = PORTD 3. Den del af dit svar " PWM-pins er 6, 8, 9, 12, 13 og 14 (for Arduino Nano) " er helt vildledende.
Svar
Udskift digitalWrite med analogWrite (pin, værdi )
Kommentarer
- Jeg ' er ikke sikker på, hvorfor du tror, dette ville fungere. Læste du det accepterede svar ovenfor eller kommentarerne under spørgsmålet?
Svar
Brug pinMode(NNN, OUTPUT)
at setup()
?
Kommentarer
- Hej Denis, og velkommen at stable Exchange! Selvom du måske har ret, skal du udvide dit svar, for som det ser ud, ville det være mere egnet som en kommentar. Læs Hvordan skriver jeg et godt svar?
- Dette er et godt svar, PIN-TILSTAND mangler.
PD3
er#define
d som 3, og Arduino-pin nummeret er også 3. Prøv at brugePB2
i stedet for Arduino pin nummer 10, hvis du ikke tror '. De er ikke engang entydige. Disse betegnere er bare defineret som bitnumrene (f.eks.PB3
er også 3).