Innehållsförteckning:

Ljusstyrka, Arduino (med animationer): 7 steg
Ljusstyrka, Arduino (med animationer): 7 steg

Video: Ljusstyrka, Arduino (med animationer): 7 steg

Video: Ljusstyrka, Arduino (med animationer): 7 steg
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, November
Anonim
Image
Image

Under de senaste åren har jag byggt två flipperspel (pinballdesign.com) och två robothuvuden (grahamasker.com) som var och en styrs av Arduinos. Efter att ha haft en karriär som maskiningenjör mår jag bra av utformningen av mekanismerna, men jag kämpar med programmeringen. Jag bestämde mig för att skapa animationer för att illustrera några av de grundläggande begreppen för Arduino. Jag trodde att det skulle hjälpa mig och andra att förstå dem. En bild är värd tusen ord och en animering kan vara tusen bilder!

Så här är en animerad förklaring om ämnet Brightness Control. Animationen ovan visar en schematisk bild av en potentiometer ansluten till en Arduino. Den visar hur justering av potentiometerns position kan ändra ljusstyrkan på en lysdiod. Jag kommer att förklara alla element i denna process. För alla som inte känner till potentiometrar och lysdioder börjar jag med dem. Jag kommer då att förklara varför lysdioden måste anslutas till en PWM -aktiverad Arduino -stift och hur MAP -funktionen används inom en Arduino -skiss för att konvertera ingången från potentiometern till en utgång som är lämplig för att styra en lysdiod.

Om du är bekant med lysdioder och potentiometrar kan du hoppa över avsnitt 1 och 2.

Steg 1: OM LED

OM LED
OM LED

Den vänstra illustrationen ovan visar kretssymbolen för en lysdiod och polariteten hos ledbenen. Strömmen kommer bara att flöda genom en LED i en riktning så polaritet är viktigt. Det längre benet är positivt. Det finns också en platt sida till flänsen, det här är den negativa sidan.

SPÄNNING och STRÖM

Spänningen som krävs av en LED varierar från cirka 2,2v till 3,2 volt beroende på dess färg. Deras nuvarande betyg är vanligtvis 20mA. För att begränsa strömmen och förhindra att lysdioden överhettas är det nödvändigt att använda ett motstånd i serie med varje lysdiod. Jag rekommenderar ca 300 ohm.

Illustrationen till höger ovan visar ett sätt att lödda ett motstånd mot ett ben på en LED och isolera det med värmekrympslang.

Steg 2: POTENTIOMETER

POTENTIOMETER
POTENTIOMETER

I Arduino -termer är en potentiometer en sensor. "Sensor" avser alla externa enheter som när de är anslutna till ingångsstiften kan avkännas av Arduino. Vi kommer att använda en potentiometer ansluten till Arduino, för att styra ljusstyrkan på en LED. En potentiometer kallas ibland för en spänningsdelare, vilket jag tycker är en bättre beskrivning. Diagrammet till vänster ovan anger principen för en spänningsdelare. I detta exempel är ett motstånd anslutet till jord i ena änden och hålls, av någon strömkälla till 5v i den andra änden. Om ett reglage flyttas längs motståndet kommer det att vara vid en spänning på 0v i vänster ände, 5v vid höger sida. I alla andra positioner kommer den att ha ett värde mellan 0v och 5v. Halvvägs, till exempel kommer den att vara vid 2,5V. Om vi omformar arrangemanget som visas till höger ovan, representerar detta verkan av en roterande potentiometer.

Steg 3: KRETSEN

KRETSEN
KRETSEN

Illustrationen ovan visar hur vi behöver ansluta potentiometern och ledningen till en Arduino.

Ardunio måste känna av spänningen som matas till den av potentiometern. Spänningen förändras smidigt när potentiometern vrids, det är således en analog signal och måste därför anslutas till en analog ingångsstift på Arduino. Spänningen på denna pin kommer att läsas av Arduino varje gång programmet begär det via funktionen "analogRead".

Arduino har bara digitala utgångsstiften. Men stiften med en tilde (~) bredvid dem simulerar en analog utgång som är lämplig för att styra ljusstyrkan på en LED. Denna process kallas Pulse Width Modulation (PWM) och förklaras via nästa animering, steg 4.

Steg 4: PWM

PWM, pulsbreddsmodulering

Som tidigare nämnts är stiften med en tilda, "~" bredvid dem PWM -stift. Eftersom stiften är digitala kan de bara vara vid 0v eller 5v, men med PWM kan de användas för att dimma en LED eller styra motorns hastighet. De gör det genom att mata 5v till en LED men pulsera den mellan 0v och 5v vid 500 Hz (500 gånger per sekund) och sträcka eller krympa varaktigheten för varje 0v och 5v element i pulsen. Eftersom lysdioden ser en längre 5v puls än en 0v puls blir den ljusare. I vårt program använder vi funktionen analogueWrite () för att mata ut en PWM "fyrkantvåg". Den har 256 steg, noll ger en 0% arbetscykel och 255 ger 100% "arbetscykel", dvs kontinuerlig 5 volt. Således skulle 127 ge en 50% arbetscykel, halva tiden vid 0v och halva tiden vid 5v. Animationen ovan visar hur denna arbetscykel sträcks mot 100% då lysdioden blir ljusare.

Steg 5: PROGRAMMET (ARDUINO SKETCH)

Image
Image

Videon ovan går igenom ett program (skiss) som kan användas för att styra ljusstyrkan på en LED med hjälp av en potentiometer. Kretsen är densamma som visas i steg 3.

Om du tycker att den här videon är snabb (eller långsam) för att läsa bekvämt kan du justera dess hastighet I den högra änden av den nedre kontrollfältet finns en symbol formad som ett kugghjul (ibland med en röd "HD" -märkning på den.) Om du klickar på den öppnas en meny som innehåller "uppspelningshastighet".

Det skulle naturligtvis vara bättre om du kunde klicka på en knapp för att gå igenom varje rad i programmet med din egen hastighet, men tyvärr är det inte möjligt att tillhandahålla den interaktiva metoden här. Om du föredrar att använda den metoden om detta ämne och många andra Arduino -ämnen finns det gratis förhandsversion av en interaktiv/animerad e -bok tillgänglig på animatedarduino.com

Det finns en funktion i programmet som jag tycker behöver mer förklaring: på rad14 används "karta" -funktionen. Det finns en förklaring om dess syfte i steg 6

Steg 6: KARTA

Vi har potentiometern ansluten till en analog stift. Potentiometerspänningen varierar mellan 0v och 5v. Detta intervall registreras i processorn i 1024 steg. När värdeinmatningen används för att skapa en utgång via en PWM -aktiverad digital stift måste detta område mappas till utgångsområdet för en digital stift. Detta har 255 steg. Kartfunktionen används för detta ändamål och ger en utgång som är proportionell mot ingången.

Videon ovan illustrerar detta.

Steg 7: Animerad Arduino

Bilderna i denna instruktionsbok har tagits från min e -bok Animerad Arduino som finns tillgänglig på www.animatedarduino.com där jag syftar till att ge en bättre förståelse för några av de begrepp som man stöter på när jag lär mig att programmera Arduino.

Det finns en gratis förhandsversion av e -boken tillgänglig på webbplatsen som låter dig uppleva bokens interaktiva karaktär. Det är i grunden en samling exempelsidor och utelämnar därmed mycket av förklaringen. Den innehåller exempelsidor som låter dig klicka på knappar som leder dig genom varje rad i ett program och visa relaterade kommentarer. Andra sidor har videoanimationer och ljudinnehåll som du kan styra. En innehållssida ingår så att du kan se vad hela upplagan innehåller.

Rekommenderad: