40.8.2.1. Čtení digitální hodnoty z pinu a zápis

Odkazy:

Arduino má řadu nožiček označených d2-d13. Jedná se o digitální vstupy a výstupy. Pomocí těchto nožiček můžeme číst digitální informaci z okolí, například je-li stisknuto tlačítko. A naopak je můžeme použít jako výstupní a například rozsvítit LED diodu. Abychom věděli jak funkce použít, musíme mít alespoň základní představu jak digitální vstupy a výstupy v mikrořadiči fungují.

Nejdříve potřebujeme nakonfigurovat pin a oznámit hardwéru jestli jej chceme mít jako vstupní nebo výstupní. To uděláme pomocí volání funkce pinMode. Například když budeme chtít blikat se zabudovanou LED diodou v Boarduinu, která je připojená na d13, nastavíme si pin 13 jako výstupní.

int ledPin = 13;

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

V této chvíli již můžeme s LED diodou svítit.

digitalWrite(ledPin, HIGH);

A nyní si připojme tlačítko ke vstupu d12.

int tlacitkoPin = 12;

A ukážeme si malý program, který čte tlačítko a podle toho co přečtě tak rozsvítí LED diodu.

int ledPin = 13;  // Interní LED dioda
int tlacitkoPin = 2;

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

void loop(void) {
        digitalWrite(ledPin, digitalRead(tlacitkoPin));
        delay(100);
}

Ačkoliv máme k dispozici nej digitální piny 2-13, můžeme stejným způsobem použít i analogové piny a0-a5. Ty jsou číslovány v řadě digitálních pinů jako d14-d19. Pokud používáte jinou variantu Arduina, například Sanguino, podívejte se do dokumentace jak a které piny můžete použít. V následujícím ukázce zablikám LED diodou připojenou na a5.

int ledPin = 19;
void setup(void) {
        pinMode(ledPin, OUTPUT);
}

void loop(void) {
        digitalWrite(ledPin, !digitalRead(ledPin));
	delay(500);
}
Licence Creative Commons
Elektronika a počítače, jejímž autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .