Användning av digitala ingångar

Användning av digitala ingångar

Innehåll

I detta kapitel ska vi få vår dator att reagera när någon trycker på en knapp. Med hjälp av Serial monitor ska vi se om knappen är nedtryckt eller ej.

Koppling

För att kunna koppla en NO-brytare till vårt utvecklingskort behöver vi gå via en kopplingsplatta. Vi börjar därför med att koppla bort Arduinon från datorn och ta fram kopplingskablar. 

Det första vi måste göra är att spänningssätta kopplingsplattan. Vi kopplar därför en kabel från 5 V på utvecklingskortet till plus på kopplingsplattan och en kabel från GND (jord) på utvecklingskortet till minus på kopplingsplattan. Vi använder röd kabel för plus och svart kabel för minus eftersom det är den standardiserade färgkodningen.

 Illustration gjord med komponenter från Fritzing (fritzing.org). CC BY-SA 3.0

Sedan kopplar vi en kort röd kabel mellan pluspolen och valfri bana på kopplings­plattan. Vi väljer bana 3 (kopplingshål A3). Sedan sätter vi brytaren så att den ligger mellan bana 3 och bana 5. När någon trycker på knappen kommer alltså bana 3 och bana 5 att sammanlänkas. Sedan kopplar vi en 10 kΩ-resistor mellan bana 5 och minus­polen. Det är resistorn som är färgkodad på något av följande sätt: 

  • brun, svart, orange, brun
  • brun, svart, svart, röd, brun.
 Resistorn som ska användas har någon av dessa färgkodningar.

Varför resistorn behövs förklarar vi närmare i Resistorer och potentiometrar, men i korta drag beror det på att utvecklingskortet annars kortsluts när knappen trycks ned. Det spelar ingen roll vilket håll vi sätter resistorn på.

Avslutningsvis kopplar vi en kabel mellan bana 5 på kopplingsplattan och GPIO-stift 2 på utvecklingskortet. Vi hade kunnat välja nästan vilket annat GPIO-stift som helst, men stift 2 är det första lämpliga (räknat nerifrån). GPIO-stift 0 och 1 blir nämligen upptagna av den seriella datakommunikationen som vi ska använda för att få Arduinon att skicka text till vår dator. 

Tips! Benen på många av komponenterna är onödigt långa. Det går alldeles utmärkt att korta ned benen på dem. Det förhindrar också att kopplingen kortsluts av misstag. Komponenternas ben får aldrig råka röra varandra.

Sketch

Nu kan vi börja skriva sketchen som ska göra att något händer när knappen trycks ned. Vi börjar med att skapa en ny sketch och namnge den SwitchTrigger. Därefter skriver vi setup-funktionen där GPIO-stift 2 sätts som en ingång. Vi lånar också instruktionen från Hello world! som gör att Arduinon öppnar en seriell kommunikation med vår dator.

Del 1/2 av SwitchTrigger.ino

Med loop-funktionen vill vi löpande undersöka om knappen är nedtryckt eller ej och få det utskrivet i Serial monitor. För att inte bli överösta med data i Serial monitor lägger vi in en fördröjning på en tiondels sekund (100 ms).

Del 2/2 av SwitchTrigger.ino

Lägg märke till att det inte är citationstecken runt digitalRead(2) likt det var runt Hello world! (i Hello world!). Det är för att vi vill skriva ut värdet som digitalRead(2) ger oss och inte teckenkombinationen "digitalRead(2)". 

När koden är klar kopplar vi vårt utvecklingskort till datorn och klickar på ladda upp för att få sketchen verifierad, kompilerad och uppladdad. Öppnar vi sedan Serial ­monitor ser vi att Arduinon skriver 0 så länge vi inte trycker ned knappen men byter till 1 medan vi trycker ned knappen. 

Status för knappen skrivs ut i Serial monitor.
Senast ändrad: 2017-01-19