Search Code

Samouczek ESP32 19/55 - Wykrywanie przeszkody za pomocą czujnika podczerwieni | Zestaw do nauki IoT ESP32 od SunFounder

Samouczek ESP32 19/55 - Wykrywanie przeszkody za pomocą czujnika podczerwieni | Zestaw do nauki IoT ESP32 od SunFounder

W tym samouczku nauczymy się, jak używać czujnika unikania przeszkód na podczerwień z modułem ESP32 do wykrywania przeszkód. Ten projekt pokaże, jak czujnik może uruchomić brzęczyk po wykryciu przeszkody. Konfiguracja będzie również wyświetlać status wykrywania na monitorze szeregowym, zapewniając jasny i interaktywny sposób obserwacji działania czujnika.

Będziemy pracować z zestawem edukacyjnym SunFounder ESP32 IoT Learning Kit, który zawiera mikrokontroler ESP32 wyposażony w funkcje Wi-Fi i Bluetooth. Czujnik podczerwieni działa poprzez wysyłanie światła podczerwonego, które odbija się od pobliskich przeszkód. Gdy światło zostanie odbite z powrotem, czujnik wygeneruje sygnał wyjściowy, który odczytamy w naszym kodzie. Dołączymy również brzęczyk, który aktywuje się po wykryciu przeszkody, zapewniając sygnał dźwiękowy.

Objaśnienie sprzętu

Główne elementy tego projektu obejmują moduł ESP32, czujnik unikania przeszkód na podczerwień oraz brzęczyk. Moduł ESP32 służy jako centralna jednostka przetwarzająca, obsługująca wejścia z czujników i sterująca wyjściami. Może być zasilany baterią litową, co czyni go przenośnym i elastycznym do różnych zastosowań.

Czujnik unikania przeszkód na podczerwień składa się z nadajnika i odbiornika. Nadajnik emituje światło podczerwone, a odbiornik wykrywa odbite światło od pobliskich obiektów. Gdy przeszkoda jest obecna, pin wyjściowy czujnika przechodzi w stan niski, sygnalizując ESP32 podjęcie działania, takiego jak włączenie brzęczyka.

Szczegóły z karty katalogowej

ProducentSunFounder
Numer częściCzujnik unikania przeszkód na podczerwień
Napięcie robocze3,3 V - 5 V
Typ wyjściaCyfrowe (niskie po wykryciu przeszkody)
Zakres wykrywaniaDo 20 cm
Czas reakcjiMniej niż 10 ms
ObudowaModuł

  • Zasilanie: 3,3 V do 5 V do pracy.
  • Sygnał wyjściowy przechodzi w stan niski po wykryciu przeszkody.
  • Regulowana czułość za pomocą potencjometru.
  • Typowy zakres wykrywania wynosi do 20 cm.
  • Szybki czas reakcji poniżej 10 ms.

Instrukcje podłączenia

ESP32-19-obstacle_voide-wiring

Aby podłączyć czujnik unikania przeszkód na podczerwień do ESP32, zacznij od połączenia pinu VCC czujnika z pinem 5V na ESP32. Następnie podłącz pin GND czujnika do jednego z pinów GND na ESP32. Na koniec podłącz pin OUT czujnika do pinu GPIO 14 na ESP32.

Dla brzęczyka podłącz zacisk ujemny do GND, a zacisk dodatni do pinu GPIO 27. Upewnij się, że wszystkie połączenia są pewne i że czujnik jest prawidłowo zasilany. Podłączenie powinno być proste, ponieważ czujnik i brzęczyk wymagają tylko prostych połączeń zasilania i sygnału.

Przykłady kodu i omówienie

W kodzie najpierw definiujemy pin podłączony do czujnika unikania przeszkód. Robimy to za pomocą identyfikatora avoidPin ustawionego na 14. Deklarujemy również zmienną avoidState do przechowywania stanu wyjściowego czujnika.

const int avoidPin = 14;  // numer pinu modułu unikania

int avoidState = 0;

W funkcji setup inicjalizujemy komunikację szeregową i ustawiamy avoidPin jako wejście. Pozwala to ESP32 odczytywać stan wyjściowy czujnika.

void setup() {
  Serial.begin(115200);  
  pinMode(avoidPin, INPUT);
}

W funkcji loop ciągle odczytujemy wyjście czujnika za pomocą digitalRead(avoidPin) i zapisujemy wynik w avoidState. Ta wartość jest następnie drukowana na monitorze szeregowym, co pozwala nam zobaczyć, kiedy przeszkoda jest wykryta (wyjście będzie 0) lub nie (wyjście będzie 1).

void loop() {
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Pełny kod znajdziesz w sekcji ładowania poniżej artykułu.

Demonstracja / Czego się spodziewać

Po zakończeniu konfiguracji i przesłaniu kodu na monitorze szeregowym powinieneś zobaczyć wyświetlane 0 lub 1, w zależności od tego, czy przeszkoda jest wykryta. Gdy przeszkoda znajduje się w zakresie wykrywania, wyjście będzie odczytywane jako 0, a brzęczyk zabrzmi. Jeśli przeszkoda zostanie usunięta, wyjście będzie odczytywane jako 1, a brzęczyk przestanie działać. Ta funkcjonalność jest pokazana na wideo (na wideo o 12:30).

Typowe problemy mogą obejmować nieprawidłowe podłączenie, które może prowadzić do nieprawidłowego działania czujnika, lub niedopasowane prędkości transmisji w monitorze szeregowym, uniemożliwiające dokładne wyświetlanie danych. Sprawdź te aspekty, jeśli napotkasz problemy.

Znaczniki czasu wideo

  • 00:00 Start
  • 1:57 Wprowadzenie do projektu
  • 4:33 Podłączanie unikania przeszkód
  • 5:55 Kod Arduino dla unikania przeszkód
  • 7:36 Wybór płyty ESP32 i portu COM w Arduino IDE
  • 9:18 Demonstracja projektu
  • 10:42 Regulacja czułości zwiększająca zakres
  • 12:39 Podejmowanie działań po wykryciu przeszkody
  • 14:24 Użycie brzęczyka po wykryciu przeszkody

Obrazy

ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Język: C++
// set pin
const int avoidPin = 14;  // the number of the avoid avoid module pin

// variable for storing the avoid status 
int avoidState = 0;

void setup() {
  Serial.begin(115200);  
  // initialize the avoid pin as an input
  pinMode(avoidPin, INPUT);
}

void loop() {
  // read the state of the avoid value
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Zasoby i odniesienia

Pliki📁

Brak dostępnych plików.