Search Code

ESP32 Tutorial 32/55 - Car Reverse Range Warning met LCD en zoemer | SunFounder's IoT-leerset

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.

ESP32 parkeerhulpproject

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

ESP32-32-Reversing-aid-wriing

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.

ESP32-32-parkeerhulpschema

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

Afbeeldingen

ESP32-32-Reversing-aid-wriing
ESP32-32-Reversing-aid-wriing
ESP32 reversing aid project
ESP32 reversing aid project
ESP32-32-Reversing-aid-schematic
ESP32-32-Reversing-aid-schematic
Geen code bijgevoegd.

Dingen die je misschien nodig hebt

Hulpmiddelen en referenties

Bestanden📁

Fritzing-bestand