Introduction: Togglebutton Arduino

Picture of Togglebutton Arduino

Denna guide förklarar hur man tänder och släcker en LED- lampa med hjälp
av en "Togglebutton" som kommer sätta på och av lampan. Allt ska vara ihop kopplat med elektriska komponenter och en arduino. En togglebutton är som en vanlig knapp fast den behöver inte tryckas t.ex. upp eller ned för att den ska var på respektive av. Det den gör som är så fantastiskt är att den kommer ihåg om den är på eller av tillskillnad från en vanlig knapp som är uppbyggd på det sätt att om den är i ett läge så är den på också måste man ändra läge på den för att knappen ska registreras som ”av”. Med en togglebutton behöver man bara trycka så är den på och om man vill släcka bara trycka igen på exakt samma sätt. Togglebuttons är vanliga vid t.ex. vissa nyare lampknappar, vissa startknappar på nyare bilar eller en dator. Så på en t.ex. dator finns det bara 1 knapp för att starta datorn och om datorn är på så stängs den av vid nästa knapptryck.

Step 1: Step 1: Material

Picture of Step 1: Material

1. 1xDator

2. 1xArduino

3. 1xBreadboard

4. 5xKopplingssladdar

5. 1xLED- lampa

6. 1xTogglebutton

7. 2xResistorer(1 mellan 330 - 350 Ω och en med 10 000)

Step 2: Step 1: Bygg Kretsen

Picture of Step 1: Bygg Kretsen

Vi ska börja med att bygga kretsen själva hårdvaran av Arduinon. Först koppla ihop Arduinon och datorn med en USB A och en USB B sladd där USB B sladden ska sitta i Arduinon.

Step 3: Step 2: Sätt Fast Togglebuttonen

Picture of Step 2: Sätt Fast Togglebuttonen

Sedan sätter vi fast togglebuttonen som man ska trycka på för att tända och släcka LED- lampan den sätter vi fast på breadborden och sätter också fast en kopplingsladd från ena "benet" av togglebuttonen till 5V vilket är den röda sladden i bilden. Vi sätter också fast en resistor från ett annat ben på 10k Ω (Ohm) ner i en annan socket på breadborden och där ifrån en till kopplingssladd till gnd som betyder ground(jord på svenska). Detta för att nu har vi en sluten krets, men vi måste också få reda på om någon har tyckt på knappen det gör vi genom att sätta en till kopplingssladd till en av togglebuttonens ben som är den svarta på bilden. Den sätter i digitalport 7 mer om detta förklarar jag i senare steg.

Step 4: Step 3: Sätt I LED- Lampan

Picture of Step 3: Sätt I LED- Lampan

Sätt i en kopplingssladd någonstans i breadborden och därifrån koppla en resistor på 320 Ω Ohm det räknar man ut i Ohms lag R = U/I i detta fall är LED- lampan på 1.8 Volt och från Arduinon kommer 5Volt så vi måste ta bort (5- 1.8)/0.01 = 320Ω Ohm. När man har satt dit resistorn tar man de långa benet på Led- lampan så kallat anod och på andra benet (-) polen sätter vi en kopplingssladd till gnd igen för att skapa en sluten krets så det inte blir kortslutning.

Step 5: Step 4: Ladda Ner Mjukvaran

Picture of Step 4: Ladda Ner Mjukvaran

Gå in på:

https://www.arduino.cc/en/Main/Software

Ladda ner windows installer om du inte har Linux eller mac då trycker du på respektive nedladdning.

Step 6: Step 5: Koden

Picture of Step 5: Koden

Nu ska vi börja skriva koden.

Först gör vi några variabler för att använda senare i
programmet. Variabler är ett valfritt ord som tilldelas ett värde. i detta fall är led = 13, button = 7 och buttonState = 0, nu om vi skulle skriva t.ex. button i koden någonstans menar vi 7. Man måste skriva "int" framför och det betyder att vädet ordet kommer tilldelas är ett heltal. Men sedan skriver vi "boolean input = false" detta är också en variabel fast istället för att input har ett värde har den "värdet" false. Man kan tänka på false som en 0a, och true motsatsen 1. "boolean" skriver man framför och då måste variabeln tilldelas antingen true eller false. Man måste alltid sätta ett ";" bakom varje rad man skriver så datorn vet när den raden är slut.

Efter man har deklarerat alla sina variabler, skriver man en funktion som heter void setup() med en öppen måsvinge "{" och en stängd måsvinge "}". Void betyder att funktionen inte returnerar något, och setup() är en funktion som Arduinon bara kör en gång. Tillskillnad från void loopen som upprepar sig hela tiden. Inuti setup loopen skriver vi "pinMode(led, OUTPUT);" och "pinMode(button, INPUT);" detta säger till datorn att den ska sätta led som är en variabel till digitalporten 13 och sätter den som OUTPUT. Detta betyder att Arduinon ska skicka ut ström ur signaler ur porten. I detta fall 5V för att få LEDen att lysa. Där i mot är button en input som ska fungera åt andra hållet, den tar emot signaler från kopplingssladden i detta fall kollar ifall knappen är nedtryckt då skickar den tillbaka signalen true annars false (1 eller 0).

Sista funktionen är loop funktionen som upprepas hela tiden i koden. Först skriver vi "buttonState = digitalRead(button);" detta betyder att buttonState som är en variabel hela tiden läser av button som är knappen. Så den kollar om knappen har blivit tryckt eller inte och om den blir trycket så blir buttonState = true för i början sätter vi den till false. Om den är true blir den false. Sedan står det delay(150); detta betyder att koden ska ta en paus där i 150 millisekunder för att annars kan det bli glapp när man trycker på knappen för långsamt. Efter det kommer en "if-loop" den exekverar det som står inuti den ifall allt inom parenteserna är sant. I detta fall ifall "(buttonState == HIGH && input == flase)" detta betyder ifall buttonState == HIGH dvs. ifall knappen har blivit tryckt så regestreras den som HIGH. Tecknet "&&" betyder och så ifall knappen har blivit trycket och "input == false" vilket menar att knappen för tillfället är flase vilket betyder att den är släckt. Om båda dessa är sanna så exekveras det som står inom måsvingarna "{ }" och innuti där skriver vi "input = true;" och "digitalWrite(led, HIGH);" detta betyder att input ska bli lika med high för att det ska vara en togglebutton och den måste veta om den är på eller av och digitalWrite betyder att man ska sätta en port i detta fall led = 13 till high med andra ord skicka ut 5V i den porten. Då sätts lampan på och lyser. Men ifall den "if-loopen" inte var sann utan ifall input hade varit like med true med andra ord lampan skulle redan varit tänd. Då hade "else loopen" exekverats i denna kod står det "else if" men det räcker med att skriva "else" den skrivs alltid ut ifall om alla andra if-loopar är falska. I paranteserna där skriver vi "(buttonState == true && input == true){

input = false;

digitalWrite(led, low);

}

Detta gör vi för att återigen kolla ifall någon trycket på knappen och ifall den i detta fall är true dvs. på så släcks den genom att vi skriver digitalWrite(led,low); vilket säger att porten 13 ska vara low dvs. ingen ström ska skickas ut där. Efter vi har gjort detta måste vi såklart skriva "input = flase;" för att Arduinon ska komma ihåg om lampan är tänd eller inte. Sist avslutar vi koden med en måsvinge som stänger loop funktionen. Där efter har vi all kod vi behöver nu behöver vi bara kompilera koden.

Step 7: Step 5: Få Det Att Fungera

Picture of Step 5: Få Det Att Fungera

För att kompilera koden

Detta gör vi genom att trycka på knappen uppe till
vänster i programmet med en pil riktad åt höger på sig.

Nu borde det funka! Om det
inte kommer upp några errors så är det bara att trycka på knappen så kommer LEDen att börja lysa.

Om det kommer upp något
error att den inte hittar Arduinon vilket betyder att du inte har den i rätt port det kan man ändra genom att trycka på verktyg högst upp sedan port och välja den det står COM och sedan en siffra efter. När du gjort detta funkar allt och Arduinon är klar att användas.

Hoppas denna guide hjälpte!

Comments

About This Instructable

57views

0favorites

License:

More by Mange99:Togglebutton Arduino
Add instructable to: