Cyfrowe piny można wykorzystać do odczytywania stanu czujnika, czy przyciśnięcia switcha. Muszą one być wtedy ustawione jako wejście. W przypadku sterowania np. jasnością diody LED, pin musi być ustawiony jako wyjście.
W celu ustawienia pniu, należy przypisać jeden z trzech dostępnych trybów: INPUT, OUTPUT lub INPUT_PULLUP oraz wskazać numer pinu np. PinMode (D5, OUTPUT). Oznacza to przypisanie pinu D5 jako wyjście. INPUT_PULLUP oznacza wykorzystanie wejścia z dołączeniem wbudowanych w mikrokontrolerze rezystorów podciągających. [1]
Piny w ESP generują stan wysoki, czyli napięcie 3,3V. Stan niski oznacza napięcie 0V. Za pomocą funkcji digitalWrite (nr pinu, wartość wyjściowa), ustawiamy wartość wyjściową na danym pinie. HIGH oznacza 3,3V, natomiast LOW 0V
Program
Program reagujący na naciśnięcie przycisku micro. W celu odczytania klawisza micro, należy podać masę na przypisany pin.
Schemat podłączenia
Wymagany rezystor 220Ω.
Kod programu
#define Key D1
#define Led D2
void setup() {
pinMode(Led, OUTPUT); // Dioda jako wyjście
pinMode(Key, INPUT_PULLUP); // Przycisk jako wejście
digitalWrite(Led, LOW); // Wyłączenie diody
}
void loop() {
while(digitalRead(Key) == LOW && digitalRead(Led) == LOW) { // Jeśli przycisk wciśnięty i dioda wyłączona
digitalWrite(Led, HIGH); //Włącz diodę
delay(200);
}
while(digitalRead(Key) == LOW && digitalRead(Led) == HIGH) { // Jeśli przycisk wciśnięty i dioda włączona
digitalWrite(Led, LOW); //Włącz diodę
delay(200);
}
}
[1] https://przygodyzkodem.pl/cyfrowe-wejscia-i-wyjscia-w-arduino