ESP: GPIO
Z MiS
Obsah |
Porty GPIO
- Piny sběrnice GPIO slouží pro digitální vstup a výstup a pro digitální vstup.
- Pro analogový vstup je vyhraze speciálně port A0 devboardu NodeMCU.
- Pokud chceme pin použít, musíme:
- Nastavit mód pinu
- Přečíst/nastavit hodnotu
Nastavení módu
- Nastavení módu pro pin:
pinMode(číslo_pinu, mód)
- Módy:
- OUTPUT
- INPUT
- INPUT_PULLUP
Digitální výstup
- Digitální výstup nastavuje pouze hodnoty 0 nebo 1.
- Tyto hodnoty jsou reprezentovány napětím 0 V nebo 3,3 V vzhledem k zemi (pin
GND
).
digitalWrite(číslo_pinu, hodnota)
- Hodnoty:
- LOW
- HIGH
Analogový výstup
- Analogový výstup nastavuje libovolnou hodnotu v rozmezí 0 až 1.
- Tyto hodnoty jsou reprezentovány napětím 0 V nebo 3,3 V vzhledem k zemi (pin
GND
) a jsou realizovány střídáním hodnot 0 a 1 (PWM).
analogWrite(číslo_pinu, hodnota)
- Hodnota:
0
-1023
Čísla pinů (pinout)
- Číslo pinu v kódu je třeba převést na odpovídající číslo portu GPIO a najít odpovídající pin devboardu.
- Na devboardu NodeMCU jsou výstupy označeny kódy
D0
...D12
a dalším. - Přiřazení pinů najdete například na odkazu: IoTBytes.Wordpress.com → NodeMCU-pinout.
- Vybrané hodnoty uvádíme dále:
Číslo pinu | I/O v kódu | Označení na devboardu NodeMCU 1.0 | Funkce | |
---|---|---|---|---|
GPIO 16 | 3 | D0 | Ovládá zároveň vestavěnou diodu. Nelze zde použít PWM? | |
GPIO 5 | 1 | D1 | ||
GPIO 4 | 2 | D2 |
Příklady
- Analogové zhasínání diody
int pin = 5; void stmivej() { for (int i = 1023; i > 0; i -= 255) { analogWrite(pin, i); delay(500); } } void setup() { pinmode(5, OUTPUT); } void loop() { stmivej(); }
Zdroje
- Arduino.ESP8266.com → Reference
- Alokace pinů na NodeMCU: ESP8266.com > Wiki > Doku