Arduino – Lektion 1: Blinkande Lysdiod

När vi nu testat att få ner programmet till Arduino Uno och fått den gula lysdioden (L) att blinka är det dax att koppa in en extern lysdiod på utgång 13 där den interna gula lysdioden är ansluten. Kan påpeka att Arduino teamet gjort en liten förbättning vad gäller denna lysdiod genom att låta den inte fysiskt vara ansluten via motstånd till denna I/O pinne (vilket kan vara irriterande i vissa sammanhang) utan den är nu ansluten via en OP förstärkare så att den inte har någon påverkan på I/O om man t.ex. kör den som ingång med pullup.

För er som vet hur kopplingsdäck fungerar kan hoppa vidare nedåt, men för er som är nya på detta med kopplingsdäck (s.k. bread boards) följer här en kort instruktion på hur dessa är konstruerade. På bilden nedan visas ett kopplingsdäck och vi har lagt ut färger som visar hur de är förbundna med varandra internt, de långa röda och svarta horisontella linjerna visar att dessa yttre hål är förbundna hela vägen i 2 rader var per sida. Perfekt för att mata 5V och 0V som vi skall göra i våra experiment. Sedan de blå vertikala linjerna visar att de är förbundna i grupper om 5 hål. Perfekt för att stoppa i en IC (Integrerad Krets) i mitten och komma åt varje ben i en enskild grupp.

För er som är helt nya på elektronik följer här en förklaring på hur motstånd och lysdioder fungerar, kan ni detta sedan innan, ja då är det bara att hoppa över eller friska upp minnet. I vårt kit finns det tre olika motstånd, de är 330ohm, 1Kohm och 10Kohm. De som är 330ohm är avsedda för lysdioderna och 5V matning. Det är metallfilmsmotstånd (1% tolerans). De olika färgerna på motstånden indikerar siffror och den sista färgen som är lite för sig själv indikerar toleransen. För att utläsa hur mycket ett motstånd är på lägg dem som på bilden nedan visar, så att det bruna strecket som sitter avskilt från de andra är till höger.

Aktuella färger på motstånd är: Svart=0, Brun=1, Röd=2, Orange=3, Gul=4, Grön=5, Blå=6, Lila=7, Grå=8, Vit=9. Mer detaljerad fino finns här på Wikipedia.

På metallfilmsmotstånd finns det 4 streck som indikerar resistansen, de tre första till vänster indikerar värde och det fjärde strecket visar hur många nollor som kommer efter värdet. Exempel på 330ohm, det första oranga stecket indikerar 3, det andra oranga strecket indikerar 3, det tredje svarta strecket indikerar 0, det fjärde svarta strecket indikerar inga (0) nollor, således 330ohm. Vid 1Kohm som är 1000ohm, så börjar det med ett brunt som indikerar 1, sedan svart som indikerar 0, sedan svart som indikerar 0 och slutligen ett brunt streck som indikerar att man skall lägga till en nolla, så 1000ohm eller 1Kohm. Vid 10Kohm är det i princip samma som vid 1Kohm, sånär som på fjärde strecket som är rött och indikerar att det skall vara 2 nollor efter 100, således 10000ohm (10Kohm). Motstånd kan kopplas in på vilket håll som helst, de begränsar strömmen som går igenom ledningen. Ju större resistans (värde) desto mindre stöm kan gå igenom dem.

Lysdioder är ungefär som vanliga dioder (vi beskriver dioder senare), skillnaden är att de avger ljus, har ett större spänningsfall än vanliga dioder och kan bara kopplas in på ett håll för att de skall lysa. Strömmen måste gå från anoden till katoden och nedan finns information på hur man kan se vilket som är vad på en lysdiod. Det långa benet indikerar anoden (+) och det korta benet och/eller fasen på glaskroppen indikerar katoden (-). Lysdioder har ett spänningsfall på cirka 2.0-2.4V (om man inte ser på blåa, de har oftast ett mycket högre spänningsfall). Lysdioder klarar olika mycket ström så kolla alltid datablad vad de klarar. De vi använder klarar runt 20mA. Kopplar du in en lysdiod direkt mellan 5V och 0V, så kan den att explodera och har man otur kan man skada ögon så ha alltid ett förkopplingsmotstånd till lysdioder.

Hur man räknar ut hur stort ett förkopplingsmotstånd skall vara, ja det gör man med Oms lag som lyder U=R*I, dvs spänningen är lika med resistansten gånger strömmen. Skall man räkna ut resistansen och vet spänning och ström är det bara att kasta om enligt matematikens regler och då får man R=U/I. Vi vet att vi har 5V totalt, av dessa 5V hamnar 2V över lysdioden, resterande 3V måste således hamna över motståndet. Vi vet att lysdioden klarar 20mA (enligt datablad), så motståndet skall då bli R = 3/0.02 = 150ohm, men vi behöver inte köra 20mA genom lysdioderna för att de skall lysa, så vi använder en större resistans på 330ohm vilket ger I = U/R = 3/330 = 9mA. På detta viset sparar vi på strömmen och är lite mer på den säkra sidan att inte belasta utgångarna på microcontrollern för mycket (hur mycket man kan belasta en I/O varierar från tillverkare och microcontroller men en Atmel ATMEGA328P klarar runt 40mA per I/O, men inte 40mA på alla I/O samtidigt utan max runt 200mA totalt).

I praktiken kan detta strömvärde på 9mA variera något beroende på hur mycket spänningsfall lysdioden har, vilken spänning utgången har (kan ju vara t.ex. 5.1V beroende på vad USB porten levererar) samt vilket värde motståndet har då den har en tolerans på 1%, men det är så lite som det varierar. Uppmätt i vårt exempel hade vi hade vi 4.97VDC på USB, 4.74VDC på I/O pinnen. Motståndet är på 327 ohm, framspänningen på lysdioden på 2.06VDC och uppmätt ström 7.93mA. Gör man en beräkning så skall det finnas 4.74-2.06 = 2.68V över motståndet, det blir I = U/R = 2.68 / 327 = 8.2mA. Lite överkurs men ändå intressant att kontrollera, uppmätt och uträknat stämmer inte helt, men kan bero på avvikelser i mätinstrument och att vi har en kort period att mäta spänningen och strrömmen på då lysdioden blinkar.

Nedan visas en bild på hur vi kopplat in motståndet (330ohm) och lysdioden (grön i detta fallet) samt dragit kopplingstrådar till Arduino kortet. De röda kopplingstrådarna är +5VDC (VCC) och de svarta är 0VDC (GND) och tas från den vänstra översta svarta hylslisten. Där finns en som är märkt 5V och två som är märkt GND (ta en av dessa). Vi har dragit dessa kopplingstrådarna under Arduinokortet för att de kan alltid sitta där och då är de inte i vägen, röd kopplingstråd går till det vänsta röda pluset (+) medan den svarta kopplingstråden går till det blåa minuset (-), vi kommer att ha denna färgkomnination igenom alla labb. Vidare har vi även dragit över +5V och GND till andra sidan av kopplingsdäcket, på så vis har vi lätt åtkomst för matningsspänningen från båda sidorna. När detta är gjort tar vi en gul kopplingstråd och sätter i den översta högra svarta hylslisten märkt 13, detta är utgången från microcontrollern som lysdioden skall anslutas på, sätt denna i valfri rad på vänster sida av kopplingsdäcket (i vårt fall har använd rad 10), koppla sedan in 330ohms motståndet från samma rad som den gula kopplingstråden är ansluten och över till förslagsvis samma rad fast på högra sidan av kopplingsdäcket. Koppla sedan in den gröna lysdioden (eller annan färg) så att det långa benet (anoden) sitter i den rad som du anslöt motståndet och det korta benet (katoden) sitter i en annan rad (i vårt fall rad 11). Avsluta sedan med att koppla en svart (då det är 0V) kopplingstråd till den högra yttersta blåa minuset (-) som är 0VDC. Nu skall den gröna lysdioden blinka med samma frekvens som den interna gula på Arduinokortet.

Nedan till vänster finns en bild som visar lite mer detaljerat hur inkopplingen skall ske samt till höger finns ett förenklat schema samt hur 330ohms motståndet ser ut (kan kopplas in på vilket håll) samt hur lysdioden skall kopplas in. Långt ben är anod och kort ben (och avfasad glaskropp) är katoden.

Nu när vi lärt oss grunderna är det dax för nästa experiment.

Föregående Sida    –    Nästa Sida