I detta exempel visar jag hur man kan koppla en RGB Led (lysdiod) till en Arduino Uno och hur man kan använda block i Tinkercad Circuis för att programmera den.
Kopplingen
Jag börjar med att lägga till en Arduino Uno och en kopplingsplatta. Dessa finns i högerlisten under Components. Lättast är att skriva det man söker efter i sökrutan. I exemplet nedan så söker jag efter Arduino:
När kortet och kopplingsplattan är på plats så passar jag på att rotera dessa så att jag kan läsa texten rättvänt. Det gör allt mer överskådligt och lättare att förstå. Jag kopplar även in 5V och jord så som på bilden nedan:
I nästa steg lägger jag till RGB LED (lysdioden) och resistorerna. Jag roterar lysdioden så att de fyra benen får var sin rad på kopplingsplattan. För resistorn så väljer jag ett värde på 220 ohm och placerar en på vart och ett av lysdiodens rgb-ben. Om du håller muspekaren över benet så kan du se vad de heter (Red, Blue och Green). Det fjärde benen heter Cathode och kopplas direkt till jord:
Nu kopplar jag sladdar mellan resistorerna och Arduino-kortet. Jag väljer port 11, 10 och 9. Dessa portar är sk PWM (Pulse With Modulation) och det kan man se för att de har ett litet tildetecken framför siffran. En PWM-port skiljer sig från de andra portarna för att de kan ha steglösa värden och inte bara av eller på som de övriga portarna. Det är bra när man vill tona ner och upp ljuset steglöst. Jag kopplar även in en sladd från lysdiodens katod till jord. OBS! i bilden har jag kastat om ordningen på orange och violett sladd. Det har jag gjort för att det inte ska bli fel färg när vi sedan använder block för att programmera:
Det sista jag gör är att ansluta jorden (GND) från Arduino-kortet till kopplingsplattan (Svart/minus). Nu är hela kopplingen klar och färdig att programmeras. I nedanstående bild har jag lagt in kommentarer för varje del:
Kodningen
Nu när kretsen är klar är det dags för koden. Klicka på Code-knappen. På bilden nedan så ser du att det finns demo-kod på kortet. Det slänger vi. Dra det översta blåa blocket ner till papperskorgen. De block som är anslutna till det slängda blocket slängs också:
Vi börjar med att dra in ett block som styr vår RGB Lysdiod (set RGB LED in). Du hittar det i kategorin Output. Passa på att välja de tre portarna som anslöt lysdioden till dvs 11, 10 och 9. Observera att du bara kan välja portar som är PWM-kompatibla:
I nästa steg så väljer jag den färg jag vill att lysdioden ska ha. Jag klickar på det runda färgade fältet och väljer en färg:
När färgen är vald är det dags att prova om koden fungerar. Klicka på knappen Start simulation. Färgen på lysdioden borde bli samma som den valda färgen i koden. I mitt fall så verkar det stämma:
Nu när grundkoden och kopplingen verkar fungera så är det dags att lägga till lite mer funktioner. I nästa steg lägger jag till en paus på två sekunder efter att lysdioden tänts. Under fliken Control väljer jag ett wait-block som jag fäster på RGB LED-blocket. Jag skriver 2 i den vita rutan. Innan jag går vidare så testar jag genom att starta simuleringen igen.
När jag är säker på att det fungerar så lägger jag till ett nytt RGB LED-block och ett wait-block. Om man högerklickar på ett befintligt block så kan man välja duplicera. Smidigt, för då får man automatiskt alla inställningar gjorda också! Slutligen så ändrar jag färg på lysdioden och sedan kontrollerar jag att allt fungerar genom att köra simuleringen en sista gång:
Kommentera koden
Innan jag avslutar projektet så behöver jag kommentera koden. Ofta så väljer man att kommentera medan man skapar koden. Dels för att det är lättare att komma ihåg vad man gjort i koden medan man gör den, men också för att man ofta hoppar fram och tillbaka till olika ställen i koden. Om man är noga med att beskriva varje del så blir det mycket lättare att navigera i sin kod. Detta gäller speciellt om man arbetar tillsammans med andra som också måste förstå strukturen.
I min kod nedan har jag valt att dels ge hela koden en förklarande inledning (gråa blocket överst), men jag har också kommenterat de två olika block-typerna jag använt – set RGB LED och wait:
Länk till det färdiga projektet (på Tinkercad.com) hittar du HÄR.