Bruk av digitale innganger

Innleding

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.

html_image

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.

html_image

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.

html_image

Status for knappen skrives ut i Seriell overvåker.
Sist endret: 19.01.2017
InnledingKoblingSkisser
Bli medlem hos Kjell & Company

Bli medlem og få ekstra bra medlemspriser, poeng på alt du handler og 100 dagers åpent kjøp. Medlemskapet ditt er helt digitalt – praktisk og kortløst!

Les mer
Medlem av Trygg E-Handel
RÅD OG TILBEHØR TIL HJEMMEELEKTRONIKK© Copyright 2024 Kjell & Company
Det ser ut som du bruker en gammel nettleser. Det kan gjøre at ikke alt fungerer eller ser ut som det skal.