Arduino Due er et ARM-controller-baseret kort designet til elektroniske ingeniører og hobbyister. ARM-arkitektur er meget indflydelsesrig i moderne elektronik, vi bruger dem overalt som vores mobiltelefoner, iPod'er og computere osv. Hvis nogen ønsker at designe industrielle systemer, skal det på ARM-controllere. ARM-controllere er meget vigtige på grund af deres smidighed.
Vi har allerede dækket det grundlæggende i Arduino Due i Kom godt i gang med Arduino Due. Nu i denne vejledning skal vi justere lysstyrken på en LED ved hjælp af PWM-signal genereret af DUE. Et DUE PWM- signal (Pulse Width Modulation) giver en variabel spænding over konstant strømforsyning.
Pulsbreddemodulation:
I ovenstående figur, hvis kontakten lukkes kontinuerligt over en periode, vil LED'en være 'ON' i denne periode kontinuerligt. Hvis kontakten er lukket i et halvt sekund og åbnet i det næste halve sekund, lyser LED kun i det første halve sekund. Nu kaldes den andel, som LED'en er tændt over den samlede tid, Duty Cycle og kan beregnes som følger:
Arbejdscyklus = Tænd tid / (Tænd tid + Sluk tid)
Arbejdscyklus = (0,5 / (0,5 + 0,5)) = 50%
Så den gennemsnitlige udgangsspænding vil være 50% af batterispændingen.
Dette er tilfældet i et sekund, og vi kan se, at lysdioden er slukket i et halvt sekund, og lysdioden er tændt den anden halvdel. Hvis frekvensen af ON og OFF-tider steg fra '1 pr. Sekund' til '50 pr. Sekund '. Det menneskelige øje kan ikke fange denne frekvens af ON og OFF. For et normalt øje ses LED'en som lysende med halvdelen af lysstyrken. Så med yderligere reduktion af ON-tiden ser LED'en meget lysere ud.
Vi programmerer DUE til at få en PWM og forbinder en LED for at vise, at den fungerer.
Der er 12 PWM-kanaler (Pin 2 til Pin 13) i DUE, og vi kan bruge en eller alle dem. I dette tilfælde holder vi os til et PWM-signal ved PIN2.
Komponenter:
- Arduino Due
- Strømforsyning (5v)
- LED
- Knapper (to stykker),
- 1KΩ modstand (to stykker), 220Ω modstand
Og Arduino IDE - Arduino Nightly Software (https://www.arduino.cc/da/Main/Software).
Kredsløbsdiagram og arbejdsforklaring:
Kredsløbet er forbundet på brødbræt i henhold til kredsløbsdiagrammet. Man skal dog være opmærksom, når LED-terminalerne tilsluttes. Selvom knapperne kan vise hoppende effekt, men i dette tilfælde forårsager det ikke betydelige fejl, så vi behøver ikke bekymre dig denne gang.
At få et PWM-signal fra DUE er let; Arduino IDE giver nyttige funktioner, der letter programmørens vanskeligheder. Hvis vi går til bare chip-programmering, har vi brug for at oprette en ATMEGA-controller til PWM-signal, hvilket ikke er let; Vi er nødt til at definere mange registre og indstillinger for et nøjagtigt signal, men i Arduino behøver vi ikke håndtere alle disse ting. Vi har allerede dækket pulsbreddemodulation med ATmega32, med Arduino Uno og med 555 timer IC.
Som standard er alle headerfiler og registre foruddefineret af Arduino IDE, vi skal simpelthen ringe til dem, og det er det, vi har en PWM-udgang ved passende pin. Vi skal også kalde visse kommandoer for at få et PWM-signal, disse diskuteres nedenfor:
pinMode (2, OUTPUT) analogWrite (pin, værdi)
Først skal vi vælge PWM-udgangskanal eller vælge en pin fra 12 ben DUE, derefter skal vi indstille denne pin som output. Da vi bruger PIN2 som output, indstiller vi den som OUTPUT som vist i første linje.
Dernæst skal vi aktivere PWM-funktionen i DUE ved at kalde funktionen " analogWrite (pin, værdi) ". Herinde repræsenterer 'pin' pinnummeret, hvor vi har brug for PWM-output. Vi sætter det som '2', så ved PIN2 får vi PWM-output. "Værdi" er ON-værdien, den varierer mellem 0 (altid slukket) og 255 (altid tændt). Vi kan skrive den passende værdi i dette rum for den krævede lysstyrke på LED.
Vi vedhæftede et par knapper til DUE-kortet for at variere denne værdi. Den ene knap er til at øge lysstyrkeværdien, og den anden er til at mindske lysstyrkeværdien. Når Due er færdig programmeret, kan vi justere lysstyrken ved at trykke på disse knapper.