Arduino: Button - Kapcsoló

Forrás: arduino.cc/en/Tutorial/DigitalReadSerial

A kapcsolásban Az ellenállásra azért van szükség, hogy a kapcsoló kikapcsolt állapotában letestelje a bemenetet, azaz LOW szintet vigyen rá. Bekapcsolt állapotban a kapcsolón keresztül 5V HIGH szintre kerül a bemenet.
Az ellenállásra bekapcsolt állapotban 5V feszültség kerül, ezért akkora legyen, hogy ilyenkor se alakuljon ki lényeges nagyságú áram. 10kOhm esetén Ohm törvénye alapján I = U/R = 5V/10000 Ohm = 0.5 mA-t kapunk.

/*
 Beolvassa a 2-es láb jelét és ennek megfelelően kiírja az eredményt soros monitoron
 A soros monitor az Arduino program jobb felső sarkában található nagyító ikonra kattintva indítható el.
 A soros monitor használatához természetesen USB-n keresztül a számítógépre kapcsolva kell hagyni az áramkört.
 */

int pushButton = 2; // A kettes lábat elnevezzük pushButton változónak

void setup() {
  Serial.begin(9600); // Beállítjuk/elindítjuk a soros portot 9600 bps-re
  pinMode(pushButton, INPUT); // A kettes lábat bemenetnek állítjuk
}

void loop() {
  int buttonState = digitalRead(pushButton); // a digitalRead fv beolvassa a pushButton bemeneti jelet,
		// amely két értékű lehet. HIGH/LOW, azaz 1, vagy 0
  Serial.println(buttonState); // A Serial.println() fv-el a soros monitoron megjelenítjük a beolvasott értéket
  delay(1); // várunk egy mikroszekundumot a stabilitás érdekében
}

Az előbbi forráskód kommentek nélkül:

int pushButton = 2;

void setup() {
  Serial.begin(9600);
  pinMode(pushButton, INPUT);
}

void loop() {
  int buttonState = digitalRead(pushButton);
  Serial.println(buttonState);
  delay(1);
}

Ugyanez a kapcsolás, de az eredményt nem a soros monitoron jelenítjük meg, hanem LED-et kapcsolgatunk a 13-as lábon:

Természetesen a LED-del sorba kell kötni egy ellenállást. LÁSD LED villogó

int pushButton = 2;
int ledPin = 13;

void setup() {
  pinMode(pushButton, INPUT);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(pushButton);
  digitalWrite(ledPin,buttonState);
  delay(1);
}