Arduino Nano PWM-pin fungerer ikke (Norsk)

Jeg bygger et prosjekt ved hjelp av en Arduino Nano. I den bruker jeg pin 3 som PWM-utgang. Imidlertid, hvis jeg leverer verdier som er lavere enn 255 til den, gir ikke pinnen noen spenning i det hele tatt.

I følge dette diagrammet er pin 3 PWM:

NANO pinout

Jeg har testet den på to tavler, den fungerer ikke på en av dem. Det er heller ikke skissen min (jeg testet den med en enkel 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); } 

Hva kan være årsaken til dette?

Kommentarer

  • Be om at dette flyttes til arduino stackexchange
  • @JorenVaes hvordan gjør jeg dette?
  • Ingen kode vist. Hva i all verden skal vi spekulere i da?
  • @Bort beklager, la til koden.
  • Prøv å erstatte #define E1 3 med #define E1 PD3 og se om det hjelper.

Svar

Prøv å erstatte #define E1 3 med #define E1 PD3 og se om det hjelper.

PBx, PCx og PDx betegnelser er entydige, så det er ganske sikkert å bruke disse.

Kommentarer

  • Dette er helt feil råd. Arduino-funksjoner tar Arduino-pin-tall. I dette tilfellet tilfeldigvis fungerte det fordi PD3 er #define d som 3 og Arduino-pin-nummeret er også 3. Prøv å bruke PB2 i stedet for Arduino pin nummer 10 hvis du ikke tror '. De er ikke engang entydige. Disse betegnelsene er bare definert som bitnumrene (f.eks. PB3 er også 3).

Svar

Den tredje pin (pin 3) er ikke en PWM-pin, det er RESET pin.

PWM-pinnene er 6, 8, 9, 12, 13 og 14 (for Arduino Nano).

Se dette bildet :

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

Kommentarer

  • Forkortet URL omdirigerer til bilder. google.co.in/… så ikke mye poeng å erstatte den.
  • @Carolene i henhold til skjemaet gitt av OP, pin 3 betyr digital pin 3 = PORTD 3. Delen av svaret ditt " PWM-pinnene er 6, 8, 9, 12, 13 og 14 (for Arduino Nano) " er fullstendig misvisende.

Svar

Erstatt digitalWrite med analogWrite (pin, verdi )

Kommentarer

  • Jeg ' er ikke sikker på hvorfor du tror dette vil fungere. Leste du det aksepterte svaret ovenfor eller kommentarene under spørsmålet?

Svar

Bruk pinMode(NNN, OUTPUT) at setup()?

Kommentarer

  • Hei Denis, og velkommen å stable Exchange! Selv om du kan være riktig, kan du utvide svaret ditt, for slik det ser ut, vil det være mer egnet som en kommentar. Vennligst les Hvordan skriver jeg et godt svar?
  • Dette er et godt svar, PIN-MODUS mangler.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *