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

Ultraschall-Kartierung mit Arduino Yun – Schritt-für-Schritt-Anleitung

Komponenten und Zubehör

Komponente Menge
Arduino Yun (oder kompatibles Board) 1
Ultraschallsensor HC-SR04 1
Servo Tower Pro MG996R 1
Jumper-Kabel (gemischt) 10

Software & Online-Dienste

Über das Projekt

Schritt 1: Theorie

Der HC-SR04 sendet Ultraschallwellen (>20 kHz) aus und misst die Laufzeit des Echos. Abstand = (Laufzeit/2) × Schallgeschwindigkeit. Ein Servo dreht den Sensor über 180° und liefert so ein 180°-Sichtfeld – ähnlich wie Fledermäuse oder Sonar.

Ultraschall-Kartierung mit Arduino Yun – Schritt-für-Schritt-Anleitung
Ultraschall-Kartierung mit Arduino Yun – Schritt-für-Schritt-Anleitung

Schritt 2: Materialbeschaffung

Schritt 3: Mechanischer Aufbau

  1. Kleines Lochraster-Platinchen als Adapter für HC-SR04 löten, mit doppelseitigem Klebeband am Servo-Horn befestigen.
  2. Servo ebenfalls mit doppelseitigem Klebeband an der hervorstehenden Ecke des Proto-Shields fixieren (optional, macht kompakter).
  3. Ergebnis erinnert an Wall-Es Bauch.
Ultraschall-Kartierung mit Arduino Yun – Schritt-für-Schritt-Anleitung
Ultraschall-Kartierung mit Arduino Yun – Schritt-für-Schritt-Anleitung
Ultraschall-Kartierung mit Arduino Yun – Schritt-für-Schritt-Anleitung

Schritt 4: Arduino-Code

Der Sketch steuert den Servo (1°-Schritte), liest den Ultraschallsensor 10× pro Winkel, mittelt die Werte und sendet sie über Serial (9600 Baud) an den PC.

Schritt 5: MATLAB-Code

MATLAB liest die seriellen Daten (Winkel + Distanz = Polarkoordinaten), wandelt sie in kartesische Koordinaten um (x = r·cosθ, y = r·sinθ) und plottet das Ergebnis.

Ultraschall-Kartierung mit Arduino Yun – Schritt-für-Schritt-Anleitung

Testaufbau in einer Kartonschachtel – der Plot zeigt Wände und Öffnungen recht gut.

Ultraschall-Kartierung mit Arduino Yun – Schritt-für-Schritt-Anleitung

Schritt 6: Fazit

Ultraschall-Kartierung mit Arduino Yun – Schritt-für-Schritt-Anleitung

Das System liefert brauchbare Tiefenschätzungen. Fehlerquellen: Servo-Vibrationen während der Bewegung und gelegentliche Ausreißer des Ultraschallsensors. Für Experimente zur Tiefenwahrnehmung und einfache Computer-Vision-Projekte gut geeignet.

Code

MATLAB-Code (auf PC ausführen)

MATLAB

theta = 0:(pi/180):pi;
s = serial('COM10');
s.BaudRate = 9600;
fopen(s);
i = 0;
inc = 1;
while i < 180
  A = fgets(s);
  num(i+1) = str2num(A);
  i = i + 1;
end
fclose(s);
j = 1;
while j < 181
  tab(j,1) = (j-1)*inc;
  tab(j,2) = num(j);
  tab(j,3) = num(j)*cosd((j-1)*inc);
  tab(j,4) = num(j)*sind((j-1)*inc);
  j = j + 1;
end
% figure; polar(theta,num);
plot(tab(:,3), tab(:,4));

Arduino-Code (für Arduino Yun)

Arduino

#include <Servo.h>
#include <NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
Servo myservo;
int pos = 0;
int it = 10;

void setup() {
  myservo.attach(9);
  Serial.begin(9600);
  delay(3000);
}

void loop() {
  int i = 0, t = 0, a = 0;
  for (i = 0; i < 180; i++) {
    unsigned int uS = sonar.ping();
    myservo.write(i);
    delay(20);
    for (t = 0; t < it; t++) {
      uS = sonar.ping();
      a = uS / US_ROUNDTRIP_CM + a;
      delay(30);
    }
    a = a / (it - 1);
    t = 0;
    Serial.println(a);
    a = 0;
  }
}

Schaltplan

Fritzing-Datei für Servo- und Ultraschallsensor-Verkabelung: YunConfig.fzz

Herstellungsprozess

  1. Monitor-Ambilight selbst bauen mit Arduino Nano & WS2812B LEDs
  2. Arduino-Uno-Roboter zur Personenerkennung – Sensorintegration Schritt für Schritt
  3. Ultraschall-Schwebegerät mit Arduino bauen – Akustische Levitation Schritt für Schritt
  4. FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)
  5. Intelligentes Voltmeter mit Arduino & Smartphone bauen – Einfaches DIY-Projekt
  6. Echtzeit-IoT-Herzfrequenzmonitor mit Arduino & MAX30100
  7. Android-gesteuertes Roboterfahrzeug mit Raspberry Pi Motor Shield
  8. Smart IoT-Glas bauen: Füllstand überwachen mit ESP8266, Arduino & Ultraschall
  9. Arduino UNO WiFi Webserver: LED per Browser steuern
  10. Autonomer Linienfolger-Roboter mit Arduino UNO