Samouczek ESP32 32/55 - Ostrzeganie o odległości podczas cofania samochodu z wyświetlaczem LCD i brzęczykiem | Zestaw do nauki IoT od SunFounder
W tym samouczku stworzymy system asystenta cofania wykorzystujący mikrokontroler ESP32, czujnik odległości ultradźwiękowy, wyświetlacz LCD i brzęczyk. Ten projekt będzie ostrzegał Cię o odległości od przeszkód podczas cofania, a częstotliwość dźwięku brzęczyka będzie się zmieniać w zależności od tego, jak blisko znajduje się przeszkoda. Nauczysz się, jak podłączyć komponenty, napisać kod i oczekiwać, że system będzie działał skutecznie w Twoim pojeździe.
Podczas implementacji tego projektu ESP32 będzie obsługiwać odczyty z czujnika oraz sterować brzęczykiem i wyświetlaczem LCD. Czujnik ultradźwiękowy zmierzy odległość do przeszkód, a brzęczyk zapewni sygnał dźwiękowy na podstawie tej odległości. Wyświetlacz LCD pokaże zmierzoną odległość, umożliwiając obserwację odczytów w czasie rzeczywistym. Aby lepiej zrozumieć konfigurację, obejrzyj wideo (na wideo w 00:00).
Wyjaśnienie sprzętu
Kluczowe komponenty w tym projekcie to mikrokontroler ESP32, czujnik odległości ultradźwiękowy, wyświetlacz LCD i brzęczyk. ESP32 to wydajny mikrokontroler z wbudowaną obsługą Wi-Fi i Bluetooth, co czyni go idealnym do projektów IoT. Czujnik ultradźwiękowy mierzy odległości, emitując fale dźwiękowe i obliczając czas potrzebny na powrót echa. Wyświetlacz LCD pokaże zmierzoną odległość, a brzęczyk zapewni sygnały dźwiękowe w zależności od bliskości.
Każdy komponent odgrywa kluczową rolę w zapewnieniu prawidłowego działania asystenta cofania. Zrozumienie, jak te części współpracują ze sobą, pomoże Ci rozwiązać wszelkie problemy, które mogą pojawić się podczas budowy. Projekt wykorzystuje moc obliczeniową ESP32 do zarządzania danymi z czujnika i skutecznego sterowania wyjściami.
Szczegóły z karty katalogowej
| Producent | Espressif Systems |
|---|---|
| Numer części | ESP32 |
| Napięcie logiczne/IO | 3,3 V |
| Napięcie zasilania | 5 V (maks.) |
| Prąd wyjściowy (na kanał) | 40 mA |
| Prąd szczytowy (na kanał) | 160 mA |
| Zalecana częstotliwość PWM | 1 kHz - 40 kHz |
| Progi logiczne wejściowe | 0,3 VCC (niski), 0,7 VCC (wysoki) |
| Spadek napięcia / RDS(on) / nasycenie | 0,2 V (typ.) |
| Limity termiczne | Temperatura pracy: -40°C do 85°C |
| Obudowa | QFN48 |
| Uwagi / warianty | Dostępne różne moduły ESP32 |
- Zapewnij odpowiednie zasilanie, aby uniknąć uszkodzeń.
- Użyj rezystora z brzęczykiem, aby ograniczyć prąd.
- Trzymaj przewody sygnałowe krótko, aby zmniejszyć zakłócenia.
- W razie potrzeby użyj rezystorów podciągających dla wejść cyfrowych.
- Uważaj na maksymalny zasięg czujnika ultradźwiękowego.
Instrukcje podłączenia

Aby podłączyć komponenty do projektu, zacznij od podłączenia czujnika ultradźwiękowego. Podłącz pin VCC czujnika do linii zasilania 5 V, a pin GND do masy. Pin Trig powinien być podłączony do pinu 26 na ESP32, a pin Echo do pinu 25.
Następnie podłącz brzęczyk, łącząc jego dodatni przewód z pinem 14 na ESP32, a ujemny przewód z masą. Dla wyświetlacza LCD podłącz pin VCC do linii 5 V, a pin GND do masy. Piny SDA i SCL wyświetlacza LCD powinny być podłączone odpowiednio do pinów 21 i 22. Upewnij się, że wszystkie połączenia są pewne, aby uniknąć rozłączeń podczas pracy.
Przykłady kodu i omówienie
W kodzie znajdziesz kluczowe identyfikatory, takie jak distance, który przechowuje zmierzoną odległość z czujnika ultradźwiękowego. Ta zmienna jest aktualizowana w pętli, aby odzwierciedlać bieżącą odległość. Pin brzęczyka jest zdefiniowany jako buzzerPin, co umożliwia łatwą kontrolę jego stanu.
const int triggerPin = 26; // Pin trigger dla czujnika ultradźwiękowego
const int echoPin = 25; // Pin echo dla czujnika ultradźwiękowego
const int buzzerPin = 14; // Pin brzęczyka
Te stałe są zdefiniowane na początku kodu dla jasności i łatwości regulacji. Piny trigger i echo służą do komunikacji z czujnikiem ultradźwiękowym, a pin brzęczyka kontroluje wyjście dźwiękowe.
void setup() {
pinMode(triggerPin, OUTPUT); // Ustaw pin trigger jako wyjście
pinMode(echoPin, INPUT); // Ustaw pin echo jako wejście
pinMode(buzzerPin, OUTPUT); // Ustaw pin brzęczyka jako wyjście
}
W funkcji setup() konfigurujemy tryby pinów dla czujnika ultradźwiękowego i brzęczyka. Zapewnia to, że ESP32 może poprawnie współpracować z komponentami sprzętowymi podczas pracy.
void loop() {
distance = readDistance(); // Wywołaj funkcję do odczytu odległości
if (distance <= 10) {
beep(100); // Szybki sygnał dla bliskiej odległości
} else if (distance <= 20) {
beep(500); // Średni sygnał dla umiarkowanej odległości
} else {
beep(2000); // Wolny sygnał dla bezpiecznej odległości
}
}
Funkcja loop() w sposób ciągły odczytuje odległość i dostosowuje częstotliwość dźwięku brzęczyka na podstawie wartości. Funkcja beep() jest wywoływana z różnymi interwałami w zależności od tego, jak blisko znajduje się przeszkoda.
Demonstracja / Czego się spodziewać
Po podłączeniu wszystkich elementów i wgraniu kodu można oczekiwać, że system będzie wydawać dźwięki w różnych odstępach czasu w zależności od odległości od przeszkody. Gdy odległość jest mniejsza niż 10 cm, brzęczyk będzie piszczeć szybko, natomiast odległości większe niż 50 cm spowodują wolne piszczenie. Przetestuj system, umieszczając dłoń przed czujnikiem ultradźwiękowym, aby zobaczyć zmiany w odczytach odległości i odpowiadające im tempo dźwięków (na filmie o 12:30).
Znaczniki czasu w filmie
- 00:00 Start
- 2:08 Wprowadzenie i dokumentacja
- 4:12 Wyjaśnienie podłączeń
- 13:17 Kod Arduino
- 21:01 Wybór płyty ESP32 i portu COM w Arduino IDE
- 22:48 Demonstracja w laboratorium
- 24:54 Demonstracja na samochodzie
Common Course Links
Common Course Files
Rzeczy, których możesz potrzebować
-
AmazonBuy LCD1602-I2C from Amazonamzn.to
-
AllegroPurchase LCD1602-I2C from eBayebay.us
-
AliExpressPurchase 10pcs LCD1602-I2C from AliExpresss.click.aliexpress.com
-
AliExpressPurchase LCD1602-I2C from AliExpresss.click.aliexpress.com
Zasoby i odniesienia
-
DokumentacjaESP32 Tutorial 32/55 - SunFounder doc page for reversing aiddocs.sunfounder.com
Pliki📁
Plik Fritzing
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB