Kompaktes Arduino-Radar mit HC-SR04 Ultraschallsensor & 1,8″ Display
Komponenten und Materialien
| Arduino Nano R3 | ×1 |
| Ultraschallsensor HC-SR04 | ×1 |
| SG90 Mikro-Servomotor | ×1 |
| 1,8″ ST7735 TFT-Display | ×1 |
Benötigte Werkzeuge
- 3D-Drucker (für Gehäuse, optional)
- Lötkolben & Zubehör
Projektbeschreibung
Ein miniaturisiertes Radar-System, das Objekte im 180°-Bereich erkennt und deren Entfernung auf einem 1,8″ ST7735-Display visualisiert. Der HC-SR04-Sensor wird vom Servomotor geschwenkt, die Messdaten werden in Echtzeit als Radar-Sweep dargestellt. Erkannte Objekte erscheinen als rote Linien.
Hardware-Aufbau
- HC-SR04 anschließen: VCC → 5V, GND → GND, Trig → D2, Echo → D3
- SG90 Servo: Signal → D9, VCC → 5V, GND → GND
- ST7735 Display (SPI): CS → D10, DC → D8, RST → D7, SDA → D11, SCL → D13, VCC → 3,3V/5V, GND → GND
- Optional: Eigene PCB (Gerber-Files auf GitHub) für kompakte Bauform
- Gehäuse: 3D-Druckdateien auf Thingiverse (Thingiverse Link), gedruckt mit PLA, 50% Infill
Software & Bibliotheken
Adafruit_ST7735&Adafruit_GFXfür Display-AnsteuerungServo.hfür Servosteuerung- Eigener Radar-Code (GitHub: Repository)
Funktionsprinzip
Der Servo schwenkt den Ultraschallsensor schrittweise von 0° bis 180° und zurück. Bei jedem Schritt misst der HC-SR04 die Distanz. Die Polarkoordinaten (Winkel, Distanz) werden in Kartesische umgerechnet und auf dem Display als Punkte gezeichnet. Ein Sweep-Linie-Effekt erzeugt das klassische Radar-Bild.
Wichtige Code-Ausschnitte
// Distanzmessung
long getDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
return duration * 0.034 / 2; // cm
}
// Radar-Sweep Logik
void loop() {
for (int angle = 0; angle <= 180; angle++) {
servo.write(angle);
delay(30);
int dist = getDistance();
drawRadarPoint(angle, dist);
}
for (int angle = 180; angle >= 0; angle--) {
servo.write(angle);
delay(30);
int dist = getDistance();
drawRadarPoint(angle, dist);
}
}
Erweiterungsmöglichkeiten
- Drahtlose Datenübertragung (Bluetooth/WiFi) an Smartphone
- Mehrere Sensoren für 360°-Abdeckung
- Objekterkennung & -verfolgung (Tracking)
- Integration in Roboter-Navigation
Fazit
Ein beeindruckendes Lernprojekt für Sensorik, Servosteuerung und Grafikprogrammierung. Die kompakte Bauweise mit Custom-PCB und 3D-Gehäuse macht es zu einem echten Hingucker – ideal für Makerspaces, Schulen oder als Basis für autonome Roboter.
Herstellungsprozess
- Acconeer A111 Pulsradar mit Raspberry Pi integrieren: Praktischer Leitfaden
- DHT11 Temperatur- & Feuchtesensor mit LED-Anzeige & Piezo-Summer
- K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
- FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)
- Smart IoT-Glas bauen: Füllstand überwachen mit ESP8266, Arduino & Ultraschall
- Einfachen Hindernissensor mit Arduino bauen – IR-LED & Photodiode Tutorial
- DFRobot Kapazitiver Fingerabdrucksensor mit Arduino oder ESP8266 einbinden
- Sensorturm mit Arduino Cloud: Temperatur, Bewegung & Gase überwachen
- MAX30100 Puls-Sensor mit Arduino integrieren: Schritt-für-Schritt-Anleitung
- Schritt-für-Schritt: YL-39/YL-69 Bodenfeuchtesensor an Arduino UNO anschließen