DIY Parkradar mit Arduino UNO & HC-SR04 Ultraschallsensoren
Komponenten und Zubehör
| Arduino UNO | × | 1 |
| Ultraschallsensor HC-SR04 | × | 3 |
| Mini Batterie-Anzeigen (TM1651 basiert) | × | 2 |
Über dieses Projekt
Dieses Projekt ist ein DIY Parkradar, basierend auf dem HC-SR04 Ultraschallsensor. Ich nutze drei Sensoren: links, mitte, rechts. Zwei Mini-Batterie-Anzeigen (eigentlich für Batteriestatus) zeigen die Entfernung zu Hindernissen – je nach Seite und maximal einstellbarer Distanz. Darüber gilt der Platz als sicher, darunter ändern sich die Anzeigen proportional zur Distanz.

Teile
Zusätzlich paar Jumper-Wires und Breadboard. (Batterie-Anzeige basiert auf TM1651 Chip)




Funktionsweise
Drei Ultraschallmodule: Rechts, Mitte, Links. Zwei Anzeigen: Rechts und Links. Der Mittelsensor beeinflusst beide Anzeigen, die Seitensensoren nur ihre jeweilige Seite.
Beispiel: Zwei Hindernisse – eines rechts, eines mittig. Der Code nimmt das nächstliegende für die Anzeige.
- Ist die Mitte am nächsten, ändern sich beide Anzeigen entsprechend.
- Ist die rechte Seite näher, zeigt die rechte Anzeige geringere Distanz als die linke.
Ein programmierbarer Maximalwert definiert „sicher“. Darüber leuchten Anzeigen voll, darunter ändern sie sich proportional.
Beispiele




Letzter Fall: Hindernisse Mitte und Rechts (Rechts näher), oder Links und Rechts (Rechts näher), oder alle Seiten (Rechts am nächsten).
Verbesserungen
- Weitere Sensoren für größeren Bereich.
- Bildschirm für exakte Distanzwerte.
- Wasserdichte Sensoren (z. B. JSN-SR04).
- Akustische Warnung.
Code
Parking_sensor_v1.ino (Arduino)
/* Code für HC-SR04 x3 und TM1651 Batterieanzeige x2
* Parksensor zeigt Annäherung und Richtung an
* Ab Maxdistance = sicher, darunter proportional
* Details: www.SurtrTech.com
*/
#include <TM1651.h>
#define CLK 3 // Rechte Anzeige
#define DIO 2
#define CLK2 5 // Linke Anzeige
#define DIO2 4
#define trigPin 6 // Mitte
#define echoPin 7
#define trigPinR 8 // Rechts
#define echoPinR 9
#define trigPinL 10 // Links
#define echoPinL 11
#define Maxdistance 20 // Maximaler Abstand 20cm
long duration;
int distance;
TM1651 DisplayR(CLK, DIO);
TM1651 DisplayL(CLK2, DIO2);
void setup() {
pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);
pinMode(trigPinR, OUTPUT); pinMode(echoPinR, INPUT);
pinMode(trigPinL, OUTPUT); pinMode(echoPinL, INPUT);
DisplayR.init(); DisplayR.set(BRIGHTEST);
DisplayL.init(); DisplayL.set(BRIGHTEST);
}
void loop() {
int distanceM = CDistance(trigPin, echoPin);
int distanceR = CDistance(trigPinR, echoPinR);
int distanceL = CDistance(trigPinL, echoPinL);
int R = min(distanceM, distanceR); // Minimum für rechte Anzeige
int L = min(distanceM, distanceL); // Minimum für linke Anzeige
if (R > 0 && R < Maxdistance) {
short LevelR = map(R, 0, Maxdistance, 0, 7);
DisplayR.displayLevel(LevelR);
}
if (R >= Maxdistance) DisplayR.displayLevel(7);
if (L > 0 && L < Maxdistance) {
short LevelL = map(L, 0, Maxdistance, 0, 7);
DisplayL.displayLevel(LevelL);
}
if (L >= Maxdistance) DisplayL.displayLevel(7);
delay(50);
}
int CDistance(int a, int b) {
digitalWrite(a, LOW); delayMicroseconds(2);
digitalWrite(a, HIGH); delayMicroseconds(10);
digitalWrite(a, LOW);
duration = pulseIn(b, HIGH);
distance = duration * (0.034 / 2);
return distance;
}
TM1651 Batterieanzeige Library
Die Bibliothek erleichtert die Ansteuerung enorm: GitHub
Schaltpläne
Herstellungsprozess
- Radarsensoren erklärt: Funktionsweise und moderne Anwendungen
- Parksensoren: Funktionsweise und Hauptanwendungen
- Lambda-Sonde (O2-Sensor) verstehen: Rolle, Position und Ausfallanzeichen
- Mouser präsentiert fortschrittliche Sensortechnologien auf der Sensors Expo 2019
- Ambarella übernimmt Oculii für 307,5 Mio. $ – Ausbau von Radar & Sensorfusion für autonomes Fahren
- LED mit PIR-Bewegungsmelder am Raspberry Pi steuern
- Günstiger Raspberry Pi Bodenfeuchtesensor für smarte Bewässerung
- Raspberry Pi Heimtemperaturmonitor mit MCP9808, InfluxDB & Grafana bauen
- Acconeer A111 Pulsradar mit Raspberry Pi integrieren: Praktischer Leitfaden
- Emotionssensor & EEG: Günstige Hardware für Echtzeit-Emotionserkennung