Indholdsfortegnelse:

Lysstyrkekontrol, Arduino (med animationer): 7 trin
Lysstyrkekontrol, Arduino (med animationer): 7 trin

Video: Lysstyrkekontrol, Arduino (med animationer): 7 trin

Video: Lysstyrkekontrol, Arduino (med animationer): 7 trin
Video: Silicone Toy custom gift for a friend! 2024, November
Anonim
Image
Image

I løbet af de sidste par år har jeg bygget to flipperspillemaskiner (pinballdesign.com) og to robothoveder (grahamasker.com), der hver kontrolleres af Arduinos. Efter at have haft en karriere som maskiningeniør har jeg det fint med designet af mekanismerne, men jeg kæmper med programmeringen. Jeg besluttede at lave animationer for at illustrere nogle af de grundlæggende begreber i Arduino. Jeg tænkte, at det ville hjælpe mig og andre med at forstå dem. Et billede er tusind ord værd, og en animation kan være tusind billeder!

Så her er en animeret forklaring om emnet Brightness Control. Animationen ovenfor viser en skematisk oversigt over et potentiometer forbundet til en Arduino. Det viser, hvordan justering af potentiometerets position kan ændre lysstyrken på en LED. Jeg vil forklare alle elementerne i denne proces. For alle, der ikke kender potentiometre og lysdioder, vil jeg starte med dem. Jeg vil derefter forklare, hvorfor LED'en skal tilsluttes en PWM -aktiveret Arduino -pin, og hvordan MAP -funktionen bruges inden for en Arduino -skitse til at konvertere input fra potentiometeret til en output, der er egnet til at styre en LED.

Hvis du kender lysdioder og potentiometre, kan du springe sektion 1 og 2 over.

Trin 1: OM LED'er

OM LED'er
OM LED'er

Den venstre illustration ovenfor viser kredsløbssymbolet for en LED og polariteten af de ledede ben. Strømmen strømmer kun gennem en LED i en retning, så polaritet er vigtig. Det længere ben er det positive. Der er også en flad side til flangen, dette er den negative side.

SPÆNDING og AKTUEL

Den spænding, der kræves af en LED, spænder fra ca. 2,2v til 3,2 volt afhængigt af dens farve. Deres nuværende rating er typisk 20mA. For at begrænse strømmen og forhindre LED'en i at blive overophedet, er det nødvendigt at bruge en modstand i serie med hver LED. Jeg anbefaler omkring 300 ohm.

Illustrationen til højre ovenfor viser en måde at lodde en modstand til et ben på en led og isolere den med varmekrympemuffer.

Trin 2: POTENTIOMETER

POTENTIOMETER
POTENTIOMETER

I Arduino -termer er et potentiometer en sensor. "Sensor" refererer til enhver ekstern enhed, der, når den er tilsluttet indgangsstifter, kan registreres af Arduino. Vi kommer til at bruge et potentiometer forbundet til Arduino, til at styre lysstyrken på en LED. Et potentiometer kaldes undertiden en spændingsdeler, hvilket jeg synes er en bedre beskrivelse. Diagrammet til venstre ovenfor angiver princippet for en spændingsdeler. I dette eksempel er en modstand forbundet til jorden i den ene ende og holdt af en eller anden strømkilde til 5v i den anden ende. Hvis en skyder flyttes langs modstanden, vil den være ved en spænding på 0v i venstre ende, 5v i højre ende. I enhver anden position vil den have en værdi mellem 0v og 5v. Halvvejs vil den for eksempel være ved 2,5V. Hvis vi omformer arrangementet som vist til højre ovenfor, repræsenterer dette virkningen af et roterende potentiometer.

Trin 3: KREDSEN

KREDSEN
KREDSEN

Illustrationen ovenfor viser, hvordan vi skal forbinde potentiometeret og ledningen til en Arduino.

Ardunio skal mærke spændingen, der tilføres den af potentiometeret. Spændingen ændrer sig problemfrit, når potentiometeret drejes, det er således et analogt signal og skal derfor tilsluttes en analog indgangsstift på Arduino. Spændingen på denne pin læses af Arduino hver gang programmet anmoder om det via funktionen "analogRead".

Arduino har kun digitale udgangsstifter. Disse ben med en tilde (~) ved siden af dem simulerer imidlertid en analog udgang, der er egnet til at styre lysstyrken på en LED. Denne proces kaldes Pulse Width Modulation (PWM) og forklares via den næste animation, trin 4.

Trin 4: PWM

PWM, pulsbreddemodulation

Som tidligere nævnt er benene med en tilda, “~” ved siden af dem PWM -ben. Fordi stifterne er digitale, kan de kun være ved 0v eller 5v, men med PWM kan de bruges til at dæmpe en LED eller styre motorens hastighed. De gør det ved at levere 5v til en LED, men pulserer den mellem 0v og 5v ved 500 Hz (500 gange i sekundet) og strækker eller formindsker varigheden af hvert 0v og 5v element i pulsen. Da LED'en ser en længere 5v puls end en 0v puls, bliver den lysere. I vores program bruger vi funktionen analogueWrite () til at udsende en PWM "firkantbølge". Den har 256 trin, nul giver en 0% driftscyklus og 255 giver 100% "driftscyklus", dvs. kontinuerlig 5 volt. Således ville 127 give en 50% driftscyklus, halvdelen af tiden ved 0v og halvdelen af tiden ved 5v. Animationen ovenfor viser, hvordan denne arbejdscyklus strækkes mod 100%, så LED'en bliver lysere.

Trin 5: PROGRAMMET (ARDUINO SKETCH)

Image
Image

Ovenstående video går gennem et program (skitse), der kan bruges til at styre lysstyrken på en LED ved hjælp af et potentiometer. Kredsløbet er det samme som vist i trin 3.

Hvis du synes, at denne video er hurtig (eller langsom) til at læse behageligt, kan du justere dens hastighed I højre ende af den nederste betjeningsbjælke er et symbol formet som et tandhjul (nogle gange med en rød 'HD' etiket på den.) Hvis der klikkes på den, vises en menu, der indeholder "afspilningshastighed".

Det ville selvfølgelig være bedre, hvis du kunne klikke på en knap for at gå gennem hver linje i programmet med din egen hastighed, men desværre er det ikke muligt at angive den interaktive metode her. Hvis du foretrækker at bruge denne metode om dette emne og mange andre Arduino -emner, er der gratis preview -version af en interaktiv/animeret e -bog tilgængelig på animatedarduino.com

Der er en funktion i programmet, som jeg synes har brug for mere forklaring: på linje14 bruges "kort" -funktionen. Der er en forklaring på formålet derefter i trin 6

Trin 6: KORT

Vi har potentiometeret forbundet til en analog pin. Potentiometerspændingen varierer mellem 0v og 5v. Dette område registreres i processoren i 1024 trin. Når værdien input bruges til at oprette en output via en PWM aktiveret digital pin, skal dette område kortlægges til outputområdet for en digital pin. Dette har 255 trin. Kortfunktionen bruges til dette formål og giver en output, der er proportional med input.

Videoen ovenfor illustrerer dette.

Trin 7: Animeret Arduino

Billederne i denne instruktionsbog er taget fra min e -bog Animeret Arduino, som er tilgængelig på www.animatedarduino.com, hvor jeg har til formål at give en bedre forståelse af nogle af de begreber, man stødte på, mens jeg lærte at programmere Arduino.

Der er en gratis eksemplar af e -bogen tilgængelig på webstedet, som giver dig mulighed for at opleve bogens interaktive karakter. Det er i bund og grund en samling eksemplesider og udelader dermed meget af forklaringen. Det indeholder eksempelsider, der giver dig mulighed for at klikke på knapper, der fører dig gennem hver linje i et program og se relaterede kommentarer. Andre sider har videoanimationer og lydindhold, som du kan styre. En indholdsside er inkluderet, så du kan se, hvad den komplette udgave indeholder.

Anbefalede: