Bruk av digitale innganger

Bruk av digitale innganger

Innhold

I dette kapittelet skal vi få datamaskinen vår til å reagere når noen trykker på en knapp. Ved hjelp av Seriell overvåker skal vi se om knappen er trykket ned eller ikke.

Kobling

For å kunne koble en NO-bryter til utviklingskortet vårt trenger vi et koblingsbrett. Vi begynner derfor med å koble Arduinoen fra datamaskinen og finne frem koblingskabler.

Det første vi må gjøre er å gi spenning til koblingsbrettet. Vi kobler derfor en kabel fra 5 V på utviklingskortet til pluss på koblingsbrettet og en kabel fra GND (jord) på utviklingskortet til minus på koblingsbrettet. Vi bruker en rød kabel for pluss og en svart kabel for minus, siden dette er den standardiserte fargekoden.

Illustrasjon laget med komponenter fra Fritzing (fritzing.org). CC BY-SA 3.0

Deretter kobler vi en kort rød kabel mellom plusspolen og en valgfri bane på koblingsbrettet. Vi velger bane 3 (koblingshull A3). Så plasserer vi bryteren slik at den ligger mellom bane 3 og 5. Når noen trykker på knappen, vil altså bane 3 og 5 bli sammenkoblet. Etter dette kobler vi en motstand (resistor) på 10 kΩ mellom bane 5 og minuspolen. Det er motstanden som er fargekodet på en av følgende måter:

  • brun, svart, oransje, brun
  • brun, svart, svart, rød, brun.
Motstandene som skal brukes, har ingen av disse fargekodene.

Hvorfor motstanden er nødvendig forklarer vi nærmere i Motstander og potensiometre, men i korte trekk er det fordi utviklingskortet ellers vil kortslutte når knappen trykkes ned. Det spiller ingen rolle hvilket hull vi plasserer motstanden i.

Til slutt kobler vi en kabel mellom bane 5 på koblingsbrettet og GPIO-pinne 2 på utviklingskortet. Vi kunne ha brukt nesten hvilken som helst annen GPIO-pinne, men pinne 2 er den første egnede (regnet nedenfra). GPIO-pinne 0 og 1 blir nemlig brukt av den serielle datakommunikasjonen som vi skal bruke til å få Arduinoen til å sende tekst til datamaskinen.

Tips! Bena på mange av komponentene er unødig lange. Det går helt fint å korte ned bena på dem. Det vil også forhindre at koblingen kortsluttes på grunn av feil. Komponentenes ben skal aldri være borti hverandre.

Skisser

Nå kan vi begynne å skrive skissen som skal gjøre at noe skjer når knappen trykkes ned. Vi begynner med å lage en ny skisse og navngi den SwitchTrigger. Deretter skriver vi setup-funksjonen der GPIO-pinne 2 angis som inngang. Vi låner også instruksjonen fra Hello world!, som gjør at Arduinoen åpner en seriell kommunikasjon med datamaskinen vår.

Del 1/2 av SwitchTrigger.ino

Med loop-funksjonen vil vi fortløpende undersøke om knappen er trykket ned eller ikke, og få det skrevet i Seriell overvåker. For ikke å bli overøst med data i Seriell overvåker legger vi inn en forsinkelse på et tiendedels sekund (100 ms).

Del 2/2 av SwitchTrigger.ino

Legg merke til at det ikke er anførselstegn rundt digitalRead(2) slik som rundt Hello world! (i  Hello world!). Det er fordi vi vil skrive ut verdien som digitalRead(2) gir oss, og ikke teksten "digitalRead(2)".

Når koden er klar, kobler vi utviklingskortet til datamaskinen og klikker på Last opp for å få skissen verifisert, kompilert og lastet opp. Hvis vi åpner Seriell overvåker, ser vi at Arduinoen skriver 0 så lenge vi ikke trykker ned knappen, men bytter til 1 når vi trykker den ned.

Status for knappen skrives ut i Seriell overvåker.
Sist endret: 2017-09-08