Indholdsfortegnelse:
- Trin 1: OM LED'er
- Trin 2: POTENTIOMETER
- Trin 3: KREDSEN
- Trin 4: PWM
- Trin 5: PROGRAMMET (ARDUINO SKETCH)
- Trin 6: KORT
- Trin 7: Animeret Arduino
Video: Lysstyrkekontrol, Arduino (med animationer): 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
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
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
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
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)
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:
M5StickC Sejt ur med menu og lysstyrkekontrol: 8 trin
M5StickC sejt ur med menu og lysstyrkekontrol: I denne vejledning lærer vi, hvordan du programmerer ESP32 M5Stack StickC med Arduino IDE og Visuino til at vise et tidspunkt på LCD'et og også indstille tid og lysstyrke ved hjælp af menuen og StickC -knapperne Se en demonstrationsvideo
24 Watt LED Grow Light med lysstyrkekontrol: 8 trin (med billeder)
24 Watt LED Grow Light med lysstyrkekontrol: Maddyrkning er en af mine yndlingshobbyer, fordi jeg er stor fan af økologiske fødevarer og sund kost. Denne instruktør viser dig, hvordan du opbygger et LED -vækstlys med rød/blå lysstyrkekontroller, der passer til dine voksende behov og giver dig mulighed for at
Lysstyrkekontrol PWM -baseret LED -kontrol ved hjælp af trykknapper, Raspberry Pi og Scratch: 8 trin (med billeder)
Lysstyrkekontrol PWM -baseret LED -kontrol ved hjælp af trykknapper, Raspberry Pi og Scratch: Jeg forsøgte at finde en måde at forklare, hvordan PWM fungerede for mine elever, så jeg satte mig til opgave at forsøge at kontrollere lysstyrken på en LED ved hjælp af 2 trykknapper - den ene knap øger lysstyrken på en LED, og den anden dæmper den. Til progra
Arduino LED -knap, der driver behandling af animationer: 36 trin (med billeder)
Arduino LED -knap, der driver bearbejdning af animationer: WhatThis button pad er lavet ved hjælp af et printkort og andre komponenter fremstillet af Sparkfun. Den er drevet af en Arduino Mega. Hver knap er dejlig og squishy og tilfredsstillende at trykke på, og den har en RGB LED indeni! Jeg har brugt den til at styre animationer jeg
POV GLOBE Med animationer: 6 trin
POV GLOBE With Animations: Hi Makers, I dag vil jeg fortælle dig om et nyt projekt. POV Globe. Vedholdenhed i synet. En hurtig introduktion til POV eller vedholdende syn: Enhver AC -spændingslampe blinker faktisk til og fra med en frekvens på 60 Hz eller 60 gange i sekundet. Vores hjerner pr