Close

Arduino základy – 8. tlačítko

Zapojení tlačítka k Arduinu pomocí breadboardu

Tlačítka či spínače slouží v obvodu k tomu, aby při stisknutí spojili, nebo rozpojili dva body obvodu. V tomto příkladu si ukážeme program, který při stlačení tlačítka rozsvítí vestavěnou LED na pinu 13.

Potřebný hardware

  • Arduino
  • tlačítko či spínač
  • rezistor s odporem 10k ohm
  • nepájivé kontaktní pole
  • propojovací vodič

Obvod

button (1)

Zapojení tlačítka

První dvojici vodičů – červený a černý – připojte do dvou vertikálních řad po straně nepájivého kontaktního pole, čímž si zpřístupníte GND a +5V po obvodu. Třetí vodič na jednom konci zapojte do digitálního pinu 2, druhý konec k jednomu z  pinů tlačítka. Stejný pin tlačítka bude také propojen s pull-down rezistorem (10k ohm) a GND. Zbývající pin je připojen k +5V. Když je tlačítko otevřené (nestlačené), tak mezi piny tlačítka neexistuje žádné spojení, takže digitální pin 2 je připojen k zemi (přes pull-down rezistor) a při čtení funkcí diitalRead() je na něm hodnota LOW. Když je tlačítko zavřené (stlačené), vytvoří se spojení mezi piny, čímž je digitální pin 2 připojen k +5V. V tomto případě na něm přečteme hodnotu HIGH. Tento obvod můžete rovněž zapojit opačným směrem, a to pomocí pull-up rezisoru, jež bude na vstupu udržovat úroveň HIGH. Při stlačení tlačítka se změní na LOW. Pokud tak učiníte, program se bude chovat opačným způsobem – LED bude v normálním stavu svítit a při stlačení tlačítka se vypne. Pokud odpojíte digitální pin od všech komponentů, může se stát, že LED začne chaoticky blikat. Důvodem je ten, že pin reaguje i na malé změny elektromagnetického šumu v jeho koloí – může tedy náhodně oznamovat buď HIGH nebo LOW. Právě kvůli tomu je v obvodu pull-down či pull-up rezistor nepostradatelný.

Schéma

button_schem

Schéma zapojení tlačítka

Kód

/*Tlačítko      Zapíná a vypíná LED připojenou k digitálnímu pinu 13 při      stlačení tlačítka zapojeného do pinu 2.            Obvod:      * LED zapojená od pinu 13 k zemi      * tlačítko zapojené do pinu 2 od +5V      * 10k ohm rezistor zapojený mezi pinem 2 a GND            * Poznámka: na většině Arduin je LED k pinu 13 již připojena.                  vytvořeno 2005      autorem DojoDave <http://www.0j0.org>      upraveno 30. srpna 2011      Tom Igoe            Příklad tohoto kódu je veřejnou doménou.            http://www.arduino.cc/en/Tutorial/Button  */    //konstanty použité k nastavení čísel pinů se během programu nezmění  const int buttonPin = 2;     // číslo pinu tlačítka  const int ledPin =  13;      // číslo pinu LED    int buttonState = 0;    // proměnná pro čtení stavu tlačítka     void setup() {      // inicializujte pin LED jako výstup:      pinMode(ledPin, OUTPUT);      // inicializujte pin tlačítka jako vstup:      pinMode(buttonPin, INPUT);  }    void loop(){      // Přečte stav hodnoty tlačítka:      buttonState = digitalRead(buttonPin);            // zkontroluje, zda-li je tlačítko stlačené.      // Je-li tomu tak, nastaví buttonState na HIGH:      if (buttonState == HIGH) {          // zapne LED:              digitalWrite(ledPin, HIGH);      }      else {          // vypne LED:          digitalWrite(ledPin, LOW);      }  }    

 Přeloženo z https://arduino.cc/en/Tutorial/Button a mírně upraveno.

Kamila Ježková

Napsat komentář

shares