ESP32 to płyta mikrokontrolera z wieloma pinami wyjściowymi wejściowymi. ESP32, jak Arduino, może odczytać i kontrolować zarówno cyfrowe wejście, jak i wyjście cyfrowe. Więc tutaj w tym artykule omówimy, jak kontrolować wyjście ESP32 i jak odczytać cyfrowe dane wejściowe z zewnętrznych urządzeń peryferyjnych.
Jak zainstalować ESP32 w Arduino IDE
Zanim przejdziemy dalej do naszego głównego tematu, chciałbym przypomnieć o zainstalowaniu Arduino Ide na komputerze i jeśli płyta ESP32 nie jest zainstalowana w Arduino IDE, to jest przewodnik, jak zainstalować ESP32 w Arduino IDE.
Cyfrowe styki wyjściowe wejściowe w ESP32
Tablice ESP32 są wyposażone w sumę 48 Piny, które wykonują różne funkcje, nie wszystkie piny są fizycznie narażone na płytach ESP32. Niektóre szpilki nie są dostępne do użytku.
ESP32 występuje w dwóch wariantach, jeden z 36 szpilki i drugi z 30 szpilki. Różnica sześciu pinów tutaj wynika z pinów SPI, które są zintegrowane do komunikacji SPI i nie mogą być używane w żadnym innym celu.
Poniższy obraz Pinout to płyta 30 -pinowa ESP32. Większość z tych pinów jest podobna do innych wersji, takich jak 36 pin ESP32. Jednak 36 -pinowa wersja ESP32 ma 6 specjalnych zintegrowanych pinów SPI, które nie są zalecane do używania ich jako GPIO.
Poniższa tabela ilustruje status wyjścia wejściowego pinów płyty ESP32:
Pin GPIO | WEJŚCIE | WYJŚCIE | Opis |
GPIO 0 | Podjechał | OK | Wyjście PWM przy rozruchu |
GPIO 1 | Pin TX | OK | DEBUGUJ WYJĄTKU W BOOT |
GPIO 2 | OK | OK | Na pokładzie LED |
GPIO 3 | OK | Pin Rx | Wysoko w rozruchu |
GPIO 4 | OK | OK | - |
GPIO 5 | OK | OK | Wyjście PWM przy rozruchu |
GPIO 6 | - | - | SPI Flash Pin |
GPIO 7 | - | - | SPI Flash Pin |
GPIO 8 | - | - | SPI Flash Pin |
GPIO 9 | - | - | SPI Flash Pin |
GPIO 10 | - | - | SPI Flash Pin |
GPIO 11 | - | - | SPI Flash Pin |
GPIO 12 | OK | OK | Upoważnienie rozruchu przy wysokim pociągnięciu |
GPIO 13 | OK | OK | - |
GPIO 14 | OK | OK | Wyjście PWM przy rozruchu |
GPIO 15 | OK | OK | Wyjście PWM przy rozruchu |
GPIO 16 | OK | OK | - |
GPIO 17 | OK | OK | - |
GPIO 18 | OK | OK | - |
GPIO 19 | OK | OK | - |
GPIO 21 | OK | OK | - |
GPIO 22 | OK | OK | - |
GPIO 23 | OK | OK | - |
GPIO 25 | OK | OK | - |
GPIO 26 | OK | OK | - |
GPIO 27 | OK | OK | - |
GPIO 32 | OK | OK | - |
GPIO 33 | OK | OK | - |
GPIO 34 | OK | Tylko dane wejściowe | |
GPIO 35 | OK | Tylko dane wejściowe | |
GPIO 36 | OK | Tylko dane wejściowe | |
GPIO 39 | OK | Tylko dane wejściowe |
Tutaj OK oznacza, że odpowiedni pin może być używany jako wejście lub wyjście. Wszystkie szpilki GPIO ESP32 mogą być używane zarówno jako wejście, jak i wyjście. Tylko piny SPI od 6 do 11 nie mogą być używane jako wejście lub wyjście. Piny GPIO 34, 35, 36 i 39 są tylko wprowadzane.
Jak kontrolować wyniki cyfrowe za pomocą cyfrowych pinów w ESP32
Ponieważ programujemy ESP32 w Arduino IDE, będziemy używać tych samych funkcji do deklarowania pinu jak wyjście, jak na płycie Arduino.
Aby skonfigurować dowolny cyfrowy PIN, musimy zadeklarować go jako wyjściowe za pomocą pinmode () funkcjonować.
Poniżej położona będzie:
Pinmode (GPIO, wyjściowe);
Tutaj za pomocą powyższej funkcji zadeklarowaliśmy teraz PIN GPIO jako wyjściowe do kontrolowania wyjścia cyfrowego, którego użyjemy DigitalWrite () funkcjonować.
DigitalWrite (GPIO, stan);
Ta funkcja przyjmuje dwa argumenty, jeden to numer pin GPIO, a drugi stanowi stan tego styku, który ma zostać zdefiniowany. Stan może być niski lub wysoki.
Jak wyjaśniono wcześniej, możemy użyć wszystkich pinów ESP32 jako wyjścia GPIO 6 do 11 (SPI Flash) i GPIO 34, 35, 36 i 39 (Tylko dane wejściowe).
Jak odczytać dane wejściowe w ESP32
Czytanie danych wejściowych z cyfrowych pinów jest podobne do kontrolowania wyjścia szpilki. Najpierw musimy zadeklarować pin jako wejście za pomocą pinmode () funkcjonować. Poniżej znajduje się składnia definiująca pin jako wejście:
pinmode (GPIO, wejście);
Po ustawieniu pinu jako wejściowym następnym krokiem jest zdefiniowanie DigitalRead () funkcja, aby uzyskać dane z tego pinu. W ten sposób możesz zdefiniować pin jako cyfrowe dane wejściowe.
DigitalRead (GPIO);
Wszystkie szpilki GPIO mogą być używane jako wejście, z wyjątkiem pinów flash SPI z 6 do 11.
Notatka: SPI Flash Pins 6 do 11 brakuje w 30 -pinowej wersji płyty ESP32.
Jak kontrolować diodę LED przy użyciu cyfrowego odczytu i zapisu ESP32
Teraz, aby wyczyścić koncepcję odczytu cyfrowego i pisania w ESP32, weźmiemy przykład diody LED. Aby kontrolować diodę LED, będziemy używać przycisku.
ESP32 będzie cyfrowo odczytać dane z pushbutton i będzie kontrolował diodę LED za pomocą polecenia cyfrowego zapisu.
Wymagany sprzęt
Poniżej znajduje się lista wymaganych komponentów:
Schematyczny
Następujący obraz ilustruje połączenie ESP32 z LED i Pushbutton. LED jest podłączony do GPIO 14, a wyjście Pushbutton jest podłączone do GPIO Pin 15.
Kod do sterowania cyfrowymi wejściami/wyjściami ESP32
Otwórz Arduino IDE i wybierz płytę ESP32 i port COM, teraz prześlij dany kod.
const int push_button = 15; /*Pin GPIO 15 dla przycisku*/
const int led_pin = 14; /*Pin GPIO 14 dla LED*/
int button_state = 0;
void setup ()
Seryjny.rozpocząć (115200);
pinmode (push_button, input); /*Ustaw pinek pushbutton jako cyfrowe wejście*/
pinmode (LED_PIN, wyjście); /*Ustaw LED jako wyjście cyfrowe*/
void Loop ()
Button_state = DigitalRead (push_button); /*Funkcja, aby sprawdzić stan pushbutton*/
Seryjny.println (button_state);
if (button_state == high) /*Sprawdź status przycisku za pomocą, jeśli warunek* /
DigitalWrite (LED_PIN, High); /*Jeśli stan jest wysoki, włącz LED*/
w przeciwnym razie
DigitalWrite (LED_PIN, niski); /*Else LED pozostaje wyłączony*/
Tutaj, w powyższym kodzie, zaczęliśmy od zainicjowania pinu GPIO dla LED i Pushbutton. Następnie zadeklarowaliśmy LED jako wyjściowe i przyciski jako dane wejściowe do odczytu danych.
Aby przechowywać dane odczytu z przycisku nacisku, zdefiniowana jest zmienna i w końcu wydrukowaliśmy wynik na monitor szeregowych.
Wyjście
Na sprzęcie widzimy, że dioda LED jest wyłączona.
Teraz naciśnięcie płyty Pushbutton ESP32 przyjmuje dane wejściowe z PushButton i ustaw stan wyjściowy LED na wysoki poziom. Teraz dioda LED się włączy.
Możemy również zobaczyć cyfrowe odczytane dane z pchania na monitorze szeregowym IDE.
Wniosek
Płytki ESP32 mają wiele cyfrowych pinów do wejścia i wyjścia. Tutaj w tym artykule omówiliśmy te piny i kontrolowaliśmy diodę LED za pomocą przycisku. Wspominaliśmy również, że istnieją pewne piny, które można użyć tylko jako wejście, podczas gdy niektóre szpilki, takie jak SPI Flash od 6 do 11 (36 wersji ESP32 płyty) nie mogą być używane ani jako wejście, ani wyjście.