Innholdsfortegnelse:

Lysstyrkekontroll, Arduino (med animasjoner): 7 trinn
Lysstyrkekontroll, Arduino (med animasjoner): 7 trinn

Video: Lysstyrkekontroll, Arduino (med animasjoner): 7 trinn

Video: Lysstyrkekontroll, Arduino (med animasjoner): 7 trinn
Video: 🔵 Blackview Tab 16 - ПОДРОБНЫЙ ОБЗОР ПЛАНШЕТА 2024, Juli
Anonim
Image
Image

I løpet av de siste årene har jeg bygget to flipperspill (pinballdesign.com) og to robothoder (grahamasker.com) som hver er kontrollert av Arduinos. Etter å ha hatt en karriere som maskiningeniør, har jeg det bra med utformingen av mekanismene, men jeg sliter med programmeringen. Jeg bestemte meg for å lage animasjoner for å illustrere noen av de grunnleggende konseptene til Arduino. Jeg trodde det ville hjelpe meg og andre å forstå dem. Et bilde er verdt tusen ord og en animasjon kan være tusen bilder!

Så her er en animert forklaring om Brightness Control. Animasjonen ovenfor viser en skjematisk oversikt over et potensiometer koblet til en Arduino. Den viser hvordan justering av posisjonen til potensiometeret kan endre lysstyrken til en LED. Jeg skal forklare alle elementene i denne prosessen. For alle som ikke er kjent med potensiometre og lysdioder, vil jeg begynne med dem. Jeg vil da forklare hvorfor lysdioden må kobles til en PWM -aktivert Arduino -pinne og hvordan MAP -funksjonen brukes i en Arduino -skisse for å konvertere inngangen fra potensiometeret til en utgang som er egnet for å kontrollere en LED.

Hvis du er kjent med lysdioder og potensiometre, kan du hoppe over seksjon 1 og 2.

Trinn 1: OM LED

OM LED
OM LED

Illustrasjonen til venstre ovenfor viser kretssymbolet for en LED og polariteten til ledbenene. Strøm vil bare flyte gjennom en LED i en retning, så polaritet er viktig. Det lengre beinet er det positive. Det er også en flat side til flensen, dette er den negative siden.

SPENNING og STRØM

Spenningen som kreves av en LED varierer fra omtrent 2,2v til 3,2 volt avhengig av fargen. Den nåværende karakteren er vanligvis 20mA. For å begrense strømmen og forhindre at LED -en overopphetes, er det nødvendig å bruke en motstand i serie med hver LED. Jeg anbefaler ca 300 ohm.

Illustrasjonen til høyre ovenfor viser en måte å lodde en motstand på et ben på en LED og isolere den med varmekrympende ermer.

Trinn 2: POTENTIOMETER

POTENTIOMETER
POTENTIOMETER

I Arduino -termer er et potensiometer en sensor. "Sensor" refererer til enhver ekstern enhet som når Arduino kan koble den til inngangsstifter. Vi skal bruke et potensiometer koblet til Arduino, for å kontrollere lysstyrken til en LED. Et potensiometer kalles noen ganger en spenningsdeler, som jeg synes er en bedre beskrivelse. Diagrammet til venstre ovenfor indikerer prinsippet for en spenningsdeler. I dette eksemplet er en motstand koblet til jord i den ene enden og holdt, av en eller annen strømkilde til 5v i den andre enden. Hvis en glidebryter flyttes langs motstanden, vil den ha en spenning på 0v i venstre ende, 5v i høyre ende. I enhver annen posisjon vil den ha en verdi mellom 0v og 5v. Halvveis vil den for eksempel være på 2,5V. Hvis vi omformer arrangementet som vist til høyre ovenfor, representerer dette virkningen av et roterende potensiometer.

Trinn 3: KRETSEN

KRETSEN
KRETSEN

Illustrasjonen ovenfor viser hvordan vi må koble potensiometeret og ledningen til en Arduino.

Ardunio må kjenne spenningen som mates til den av potensiometeret. Spenningen endres jevnt når potensiometeret er dreid, det er dermed et analogt signal og må derfor kobles til en analog inngangspinne på Arduino. Spenningen på denne pinnen vil bli lest av Arduino hver gang programmet ber om det via funksjonen “analogRead”.

Arduino har bare digitale utgangspinner. Imidlertid simulerer pinnene med en tilde (~) ved siden av en analog utgang som er egnet for å kontrollere lysstyrken til en LED. Denne prosessen kalles Pulse Width Modulation (PWM) og forklares via neste animasjon, trinn 4.

Trinn 4: PWM

PWM, pulsbreddemodulasjon

Som tidligere nevnt er pinnene med en tilda, "~" ved siden av dem PWM -pinner. Fordi pinnene er digitale, kan de bare være på 0v eller 5v, men med PWM kan de brukes til å dempe en LED eller kontrollere hastigheten til en motor. De gjør det ved å levere 5v til en LED, men pulse den mellom 0v og 5v ved 500 Hz (500 ganger per sekund) og strekke eller krympe varigheten til hvert 0v og 5v element i pulsen. Siden lysdioden ser en lengre 5v puls enn en 0v puls, blir den lysere. I programmet vårt bruker vi funksjonen analogueWrite () for å sende ut en PWM "firkantbølge". Den har 256 trinn, null gir 0% driftssyklus og 255 gir 100% "driftssyklus", dvs. kontinuerlig 5 volt. Dermed vil 127 gi en 50% driftssyklus, halve tiden ved 0v og halve tiden ved 5v. Animasjonen ovenfor viser hvordan denne driftssyklusen strekkes mot 100%, så blir lysdioden lysere.

Trinn 5: PROGRAMMET (ARDUINO SKETCH)

Image
Image

Videoen ovenfor går gjennom et program (skisse) som kan brukes til å kontrollere lysstyrken til en LED ved hjelp av et potensiometer. Kretsen er den samme som vist i trinn 3.

Hvis du synes denne videoen er rask (eller langsom) for å lese komfortabelt, kan du justere hastigheten I høyre ende av den nedre kontrollstangen er et symbol formet som et tannhjul (noen ganger med en rød 'HD' etikett på den.) Hvis du klikker på den, får du opp en meny som inneholder "avspillingshastighet".

Det ville selvfølgelig vært bedre hvis du kunne klikke på en knapp for å gå gjennom hver linje i programmet med din egen hastighet, men dessverre er det ikke mulig å tilby den interaktive metoden her. Hvis du foretrekker å bruke denne metoden om dette emnet og mange andre Arduino -emner, er det gratis forhåndsvisningsversjon av en interaktiv/animert eBok tilgjengelig på animatedarduino.com

Det er en funksjon i programmet som jeg tror trenger mer forklaring: på linje14 brukes "kart" -funksjonen. Det er en forklaring på formålet neste, i trinn 6

Trinn 6: KART

Vi har potensiometeret koblet til en analog pin. Potensiometerspenningen varierer mellom 0v og 5v. Dette området registreres i prosessoren i trinn på 1024. Når verdiinngangen brukes til å lage en utgang via en PWM -aktivert digital pinne, må dette området tilordnes utgangsområdet til en digital pinne. Dette har 255 trinn. Kartfunksjonen brukes til dette formålet og gir en utgang som er proporsjonal med inngangen.

Videoen ovenfor illustrerer dette.

Trinn 7: Animert Arduino

Bildene i denne instruksjonsboken er hentet fra min e -bok Animated Arduino, som er tilgjengelig på www.animatedarduino.com, der jeg har som mål å gi en bedre forståelse av noen av begrepene jeg oppdaget mens jeg lærte å programmere Arduino.

Det er en gratis forhåndsvisningskopi av e -boken tilgjengelig på nettstedet som lar deg oppleve bokens interaktive karakter. Det er i utgangspunktet en samling prøvesider og utelater dermed mye av forklaringen. Den inneholder eksempelsider som lar deg klikke på knapper som leder deg gjennom hver linje i et program og viser relaterte kommentarer. Andre sider har videoanimasjoner og lydinnhold som du kan kontrollere. En innholdsside er inkludert, slik at du kan se hva hele utgaven inneholder.

Anbefalt: