ESP32 Tutorial 32/55 - Car Reverse Range Warning met LCD en zoemer | SunFounder's IoT-leerset
In deze tutorial bouwen we een parkeerhulpsysteem met behulp van de ESP32-microcontroller, een ultrasone afstandssensor, een LCD-scherm en een zoemer. Dit project waarschuwt je voor de afstand tot obstakels tijdens het achteruitrijden, waarbij de piepfrequentie van de zoemer verandert op basis van hoe dichtbij het obstakel is. Je leert hoe je de componenten bedraadt, de code schrijft en wat je van de werking van het systeem kunt verwachten voor jouw voertuig.
Tijdens de implementatie van dit project zal de ESP32 de sensorwaarden verwerken en de zoemer en het LCD-scherm aansturen. De ultrasone sensor meet de afstand tot eventuele obstakels, terwijl de zoemer audiologische feedback geeft op basis van die afstand. Het LCD-scherm toont de gemeten afstand, zodat je de waarden in realtime kunt zien. Voor een beter begrip van de opstelling, bekijk zeker de video (in video op 00:00).
Hardware uitgelegd
De belangrijkste componenten in dit project zijn de ESP32-microcontroller, een ultrasone afstandssensor, een LCD-scherm en een zoemer. De ESP32 is een krachtige microcontroller met ingebouwde Wi-Fi- en Bluetooth-mogelijkheden, waardoor hij ideaal is voor IoT-projecten. De ultrasone sensor meet afstanden door geluidsgolven uit te zenden en de tijd te berekenen die de echo nodig heeft om terug te keren. Het LCD-scherm toont de gemeten afstand, terwijl de zoemer hoorbare waarschuwingen geeft op basis van nabijheid.
Elk onderdeel speelt een cruciale rol om ervoor te zorgen dat het parkeerhulpsysteem correct functioneert. Begrijpen hoe deze onderdelen samenwerken, helpt je bij het oplossen van eventuele problemen die tijdens het bouwproces kunnen ontstaan. Het project maakt gebruik van de verwerkingskracht van de ESP32 om sensorgegevens te beheren en uitgangen effectief aan te sturen.
Datasheetdetails
| Fabrikant | Espressif Systems |
|---|---|
| Onderdeelnummer | ESP32 |
| Logica/IO-spanning | 3,3 V |
| Voedingsspanning | 5 V (max) |
| Uitgangsstroom (per kanaal) | 40 mA |
| Piekstroom (per kanaal) | 160 mA |
| PWM-frequentierichtlijn | 1 kHz - 40 kHz |
| Ingangslogische drempels | 0,3 VCC (laag), 0,7 VCC (hoog) |
| Spanningsval / RDS(on) / verzadiging | 0,2 V (typ.) |
| Thermische limieten | Bedrijfstemperatuur: -40°C tot 85°C |
| Behuizing | QFN48 |
| Opmerkingen / varianten | Verschillende ESP32-modules beschikbaar |
- Zorg voor een correcte voedingsspanning om schade te voorkomen.
- Gebruik een weerstand met de zoemer om de stroom te beperken.
- Houd signaaldraden kort om interferentie te verminderen.
- Gebruik indien nodig pull-up weerstanden voor digitale ingangen.
- Wees voorzichtig met het maximale bereik van de ultrasone sensor.
Bedradingsinstructies

Om de componenten voor het project te bedraden, begin je met het aansluiten van de ultrasone sensor. Verbind de VCC-pin van de sensor met de 5V-voedingslijn en de GND-pin met de aarde. De Trig-pin moet worden verbonden met pin 26 op de ESP32, en de Echo-pin moet worden verbonden met pin 25.
Bedraad vervolgens de zoemer door de positieve aansluiting te verbinden met pin 14 op de ESP32 en de negatieve aansluiting met de aarde. Voor het LCD-scherm verbind je de VCC-pin met de 5V-lijn en de GND-pin met de aarde. De SDA- en SCL-pinnen van het LCD-scherm moeten respectievelijk worden verbonden met pinnen 21 en 22. Zorg ervoor dat alle verbindingen stevig zijn om loskoppelingen tijdens de werking te voorkomen.
Codevoorbeelden & uitleg
In de code vind je belangrijke identificatoren zoals distance, die de gemeten afstand van de ultrasone sensor opslaat. Deze variabele wordt continu bijgewerkt in de loop om de huidige afstand weer te geven. De pin van de zoemer is gedefinieerd als buzzerPin, waardoor de status ervan eenvoudig kan worden aangestuurd.
const int triggerPin = 26; // Triggerpin voor ultrasone sensor
const int echoPin = 25; // Echopin voor ultrasone sensor
const int buzzerPin = 14; // Zoemerpin
Deze constanten worden aan het begin van de code gedefinieerd voor duidelijkheid en eenvoudige aanpassing. De trigger- en echopinnen worden gebruikt om te communiceren met de ultrasone sensor, terwijl de zoemerpin het geluidsuitvoer regelt.
void setup() {
pinMode(triggerPin, OUTPUT); // Stel triggerpin in als uitvoer
pinMode(echoPin, INPUT); // Stel echopin in als invoer
pinMode(buzzerPin, OUTPUT); // Stel zoemerpin in als uitvoer
}
In de setup()-functie configureren we de pinmodi voor de ultrasone sensor en de zoemer. Dit zorgt ervoor dat de ESP32 correct kan communiceren met de hardwarecomponenten tijdens de werking.
void loop() {
distance = readDistance(); // Roep functie aan om afstand te lezen
if (distance <= 10) {
beep(100); // Snel piepen bij korte afstand
} else if (distance <= 20) {
beep(500); // Gemiddeld piepen bij matige afstand
} else {
beep(2000); // Langzaam piepen bij veilige afstand
}
}
De functie loop() leest continu de afstand en past de zoemfrequentie van de zoemer aan op basis van de waarde. De functie beep() wordt aangeroepen met verschillende intervallen, afhankelijk van hoe dichtbij het obstakel is.
Demonstratie / Wat te verwachten
Zodra alles is aangesloten en de code is geüpload, kun je verwachten dat het systeem op verschillende intervallen zoemt, afhankelijk van de afstand tot een obstakel. Wanneer de afstand minder dan 10 cm is, zal de zoemer snel zoemen, terwijl afstanden groter dan 50 cm resulteren in een langzaam zoemgeluid. Zorg ervoor dat je het systeem test door je hand voor de ultrasone sensor te plaatsen om de veranderingen in afstandsmetingen en de bijbehorende zoemfrequenties te zien (in de video op 12:30).
Videotijdstempels
- 00:00 Start
- 2:08 Introductie en documentatie
- 4:12 Bedrading uitgelegd
- 13:17 Arduino-code
- 21:01 ESP32-board en COM-poort selecteren in Arduino IDE
- 22:48 Demo in het laboratorium
- 24:54 Demo op de auto
Common Course Links
Common Course Files
Dingen die je misschien nodig hebt
-
AmazonPurchase LCD1602-I2C from Amazonamzn.to
-
eBayPurchase LCD1602-I2C from eBayebay.us
-
AliExpressPurchase 10pcs LCD1602-I2C from AliExpresss.click.aliexpress.com
-
AliExpressPurchase LCD1602-I2C from AliExpresss.click.aliexpress.com
Hulpmiddelen en referenties
-
DocumentatieESP32 Tutorial 32/55- SunFounder doc page for reversing aiddocs.sunfounder.com
Bestanden📁
Fritzing-bestand
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB