Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino HC-SR04 Ultraschall-Radar: Echtzeit-Visualisierung mit Servo und Processing

Komponenten und Zubehör

Komponente Menge
Arduino UNO 1
Ultraschallsensor HC-SR04 1
Servomotor (z. B. SG90) 1
Steckbrett & Kabel 1

Über das Projekt

Ein Servo dreht den HC-SR04-Sensor über einen Winkelbereich (hier ±80°). Für jeden Grad wird die Distanz gemessen und über die serielle Schnittstelle an einen PC gesendet. Eine Processing-Anwendung empfängt die Daten und stellt sie als Radar-ähnliche Top-Down-Ansicht dar – mit Mittelwerten aus Hin- und Rücklauf.

Arduino-Code (Sender)

Verwendet NewPing.h für zuverlässige Entfernungsmessung und Servo.h für die Servosteuerung. Der Winkel wird schrittweise geändert, bei Erreichen der Grenzen wird die Richtung umgekehrt. Alle 50 ms wird eine Messung gesendet: Winkel,Distanz_cm.

Processing-Code (Empfänger/Visualisierung)

Liest die seriellen Daten, zeichnet Linien für jeden Winkel, speichert zwei Durchläufe (links→rechts, rechts→links) und zeigt den Durchschnitt an. Der Code ist auf GitHub verlinkt.

Arduino-Sketch

/* Radar Screen Visualisation for HC-SR04
 * Sendet Sensorwerte pro Grad an Serial für Processing
 */
#include <NewPing.h>
#include <Servo.h>

#define TRIGGER_PIN 2
#define ECHO_PIN 3
#define MAX_DISTANCE 150 // cm
#define SERVO_PWM_PIN 9
#define ANGLE_BOUNDS 80
#define ANGLE_STEP 1

int angle = 0;
int dir = 1; // 1 = vorwärts, -1 = rückwärts
Servo myservo;
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
  Serial.begin(9600);
  myservo.attach(SERVO_PWM_PIN);
}

void loop() {
  delay(50);
  myservo.write(angle + ANGLE_BOUNDS); // auf positiven Servowinkel normalisieren
  getDistanceAndSend2Serial(angle);

  if (angle >= ANGLE_BOUNDS || angle <= -ANGLE_BOUNDS) dir = -dir;
  angle += dir * ANGLE_STEP;
}

int getDistanceAndSend2Serial(int angle) {
  int cm = sonar.ping_cm();
  Serial.print(angle, DEC);
  Serial.print(",");
  Serial.println(cm, DEC);
}

Schaltplan

HC-SR04: VCC→5V, GND→GND, Trig→Pin 2, Echo→Pin 3. Servo: Signal→Pin 9, VCC→5V, GND→GND. Ein Kondensator (100 µF) an der Servo-Stromversorgung vermeidet Resets.

Herstellungsprozess

  1. Bluetooth-gesteuerter Arduino-Spybot bauen – Überwachungsroboter mit IP-Kamera
  2. FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)
  3. DIY Arduino TV-B-Gone: Universelle TV-Aus-Fernbedienung
  4. Einen eigenen LED-Master-Clock mit Alarm bauen – aus 12 Metern Entfernung ablesbar
  5. Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
  6. Optimierte Stromversorgungslösungen für Arduino-Projekte
  7. Arduino Tic Tac Toe mit MAX7219 LED-Matrix und Karton-Gehäuse
  8. Intelligenten Arduino-Vierbeiner-Roboter bauen: Schritt-für-Schritt-Anleitung
  9. Echtzeit-Entfernungsmessung mit Arduino Sonar & Processing-Visualisierung
  10. DIY Arduino Lenkrad / Joystick für Rennspiele – USB-HID-Umbau