⭐⭐⭐ Uitdaging ⏱️ 30 minuten

Parkeersensor luxe

De luxe versie van de parkeersensor! Hij piept sneller als je dichterbij komt, en het OLED-scherm laat de afstand zien in centimeters. Met een balkje dat langer wordt als je dichterbij komt.

Je logt eerst even in. Daarna staat je project meteen klaar.

🧰 Wat heb je nodig?

🗺️ Aansluitschema

Volg de draden van de Arduino naar elk onderdeel. De kleuren van de draden mag je zelf kiezen.

Van Naar
Arduino UNO · D9 Afstandssensor HC-SR04 · Trig
Arduino UNO · D10 Afstandssensor HC-SR04 · Echo
Arduino UNO · 5V Afstandssensor HC-SR04 · Vcc
Arduino UNO · GND Afstandssensor HC-SR04 · Gnd
Arduino UNO · D8 Actieve zoemer · S
Arduino UNO · 5V Actieve zoemer · +
Arduino UNO · GND Actieve zoemer · -
Arduino UNO · A4 OLED-schermpje 0,91" · SDA
Arduino UNO · A5 OLED-schermpje 0,91" · SCL
Arduino UNO · 5V OLED-schermpje 0,91" · VCC
Arduino UNO · GND OLED-schermpje 0,91" · GND

🛠️ Zo bouw je het

  1. Sluit de HC-SR04 aan: Trig naar pin 9, Echo naar pin 10, Vcc naar 5V en Gnd naar GND.
  2. Sluit de zoemer aan: S naar pin 8, + naar 5V en − naar GND.
  3. Sluit het OLED-scherm aan: SDA naar A4, SCL naar A5, VCC naar 5V en GND naar GND.
  4. Drie onderdelen hebben 5V en GND nodig. Gebruik de + en − strips van je breadboard.

💻 De code

// Parkeersensor luxe
// Net als de gewone parkeersensor, maar nu zie je de afstand ook op het OLED-scherm.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

const int TRIG_PIN = 9;     // Trig van de HC-SR04 op pin 9
const int ECHO_PIN = 10;    // Echo van de HC-SR04 op pin 10
const int ZOEMER_PIN = 8;   // S van de zoemer op pin 8

Adafruit_SSD1306 scherm(128, 32, &Wire, -1);  // OLED: SDA = A4, SCL = A5

// Meet de afstand in centimeters
long meetAfstand() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  long tijd = pulseIn(ECHO_PIN, HIGH, 30000);
  if (tijd == 0) return 999;   // Geen echo: niets in de buurt
  return tijd / 58;
}

// Zet de afstand groot op het scherm, met een balkje eronder
void toonAfstand(long afstand) {
  scherm.clearDisplay();
  scherm.setTextSize(2);
  scherm.setCursor(0, 0);
  if (afstand >= 999) {
    scherm.print(F("---"));
  } else {
    scherm.print(afstand);
    scherm.print(F(" cm"));
  }
  // Balkje: hoe dichterbij, hoe langer
  int lengte = map(constrain(afstand, 0, 100), 0, 100, 128, 0);
  scherm.fillRect(0, 24, lengte, 8, SSD1306_WHITE);
  scherm.display();
}

void setup() {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(ZOEMER_PIN, OUTPUT);
  scherm.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  scherm.setTextColor(SSD1306_WHITE);
}

void loop() {
  long afstand = meetAfstand();
  toonAfstand(afstand);

  if (afstand < 5) {
    digitalWrite(ZOEMER_PIN, HIGH);   // Heel dichtbij: één lange toon
    delay(100);
  } else if (afstand < 50) {
    digitalWrite(ZOEMER_PIN, HIGH);   // Korte piep
    delay(50);
    digitalWrite(ZOEMER_PIN, LOW);
    delay(afstand * 10);              // Dichterbij = sneller piepen
  } else {
    digitalWrite(ZOEMER_PIN, LOW);
    delay(100);
  }
}

🧠 Wat doet de code?

  • meetAfstand() meet de afstand in centimeters met de HC-SR04.
  • toonAfstand() zet het getal groot op het scherm en tekent een balkje met fillRect().
  • De zoemer piept sneller naarmate de afstand kleiner wordt.

🎯 Probeer eens…

  • Laat "STOP!" op het scherm zien als je dichter dan 5 cm bent
  • Laat de afstand in meters zien als iets verder dan 1 meter weg is
  • Voeg de LED-ring toe die van groen naar rood kleurt

🚀 Bouw dit project met Codey: open codey.online/nl/starter-kits/uno/projects/parking-sensor-deluxe en klik op MAAK DIT. Dan staan de code en het aansluitschema meteen klaar.

Je logt eerst even in. Daarna staat je project meteen klaar.
⬇️ Download deze pagina als PDF 📚 Download de complete tutorial (PDF)

Codey Online is een product van OTRONIC

Bouw je Arduino- of ESP32-project met AI

Beschrijf wat je wilt bouwen. Codey Online schrijft de code, tekent het aansluitschema, compileert het en flasht je board rechtstreeks vanuit de browser.

Gratis starten