Tlačítko bez externího rezistoru

Detekovat stisk tlačítka lze i bez externího rezistoru. Stačí použít některý z interních rezistorů, které jsou na vývojové desce zapojeny mezi piny a napájením.

Pin se v takovém případě v klidovém stavu nachází ve stavu HIGH. Přes tlačítko je uzemněn a po stisku se stav změní na LOW. Stav pinu s interním rezistorem je tedy přesně opačný než při užití externího rezistoru.

Tlačítko bez externího rezistoru

Kód

void setup()
{ // pin 12 bude zapojen jako vstup ale s připojením na +5 V
pinMode(12, INPUT_PULLUP); // přes vnitřní 20k rezistor
pinMode(13, OUTPUT); // vnitřně zapojená LED
}

void loop()
{
if (digitalRead(12) == HIGH) { // v klidu je ve stavu HIGH
digitalWrite(13, LOW); // tudíž nebudu svítit
} else { // při stisku se pin uzemní, tzn. stav LOW
digitalWrite(13, HIGH); // a LED svítí
}
}