- Når knappen trykkes skal:
- lampen (LED) tennes
- Når knappen IKKE trykkes:
- lampen (LED) slukkes
Her er kretsen fra tre vinkler:
Motstanden på 10kΩ er koblet mellom bryter og jord, og er en såkalt pull- down motstand. Denne brukes for å "trekke" signalet ned til jord (0V).
For mer informasjon om pull- up og pull- down, se
Lim inn følgende program:
#include "Arduino.h"
int buttonPin = 35;
int ledPin = 32;
// denne variabelen holder på status på knappen
bool buttonState = LOW;
void setup() {
Serial.begin(115200);
// konfigurer til å lese verdi (INPUT) fra knapp
pinMode(buttonPin, INPUT);
// konfigurer til å gi signaler ut til LED (OUTPUT)
pinMode(ledPin, OUTPUT);
Serial.println("Setup OK");
}
void loop() {
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
digitalWrite(ledPin, buttonState);
}
Last opp programmet.
Hvis du er usikker på hvordan du lager og laster opp programmer, se Installasjon
Programmet skal nå bli lastet opp. Når opplastingen er ferdig, trykker du på knappen. Lampen (LED) skal da lyse.
Lyser ikke lampen? Sjekk ut Feilsøking:LED
Funker det ikke? Sjekk at LED er koblet riktig. Husk at lang fot skal kobles mot + (5V) gjennom motstanden og kort fot skal kobles mot minus/ jord (0V) .
Programmer for Arduino- plattformen har minst to funksjoner:
setup
som brukes for å konfigurasjon (initalisering av variabler, innganger m.m.). Denne funksjonen kalles en gang når programmet startes.loop
kalles for evig.
Programmet fungerer slik:
- funksjonen
setup
setter en pin som utgang og en pin som inngang - I funksjonen
loop
:- tilstanden på inngang leses av og lagres i
buttonState
- tilstand på utgang settes lik verdien av inngang
- tilstanden på inngang leses av og lagres i
Hvis du vil at lampen skal lyse når knappen ikke er trykket inn, og ikke lyse når knappen er trykket inn, så kan du endre siste linje i loop slik:
digitalWrite(ledPin, !buttonState);
Endre programmet til å gjøre følgende:
- Når knappen trykkes inn: Lampen tennes
- Etter 2 sekunder: Lampen slukkes
Tips! Funksjonen delay(ms)
brukes for å får arduinoen til å vente. For mer info, se:
Problemer? Se fasit