Raspberry Pi - Arduino Uno - erkennen die Aliens mit einem HC-SR04 !

Wenn ich mein Arduino-Anfänger-Paket empfangen hatte er in einem HC-SR04. Unter diesem barbarischen Namen verbirgt sich einen Ultraschall Distanz-sensor. Und ich dachte sofort an dieser Detektor verwendet im Film Alien (und seine Fortsetzungen) !

motion_tracker

Für diejenigen, die dieses Gerät nicht wissen, Neben schade wird, die Sie während ereilen. 18 Generationen (Ja 18 nichts so viel), Hier ist das Gerät in Aktion :

(Hier wird das Video nicht angezeigt)

Jetzt siehst du sicherlich, wo ich immer bin. Nicht zu erkennen die Aliens, die im Haus lauern aber einfach erkennt eine Bewegung in einem Korridor zum Beispiel. Zum Spaß habe ich einen Summer, der auf der gleichen Höhe wie das Blinken der LED geht.

Und hier ist der berühmte sensor :

hc-SR04-s

Für diejenigen, die alles über diese Komponente HC-SR04 wissen wollen, Das Datenblatt ist auf Diese Seite.

Ausrüstung

Also für unsere Detektor brauchen Sie uns die folgende Ausrüstung :

  • Ein HC-SR04
  • Ein Steckbrett
  • Eine rote LED für den Bereich “nicht autorisierte”
  • Eine grüne LED für den Bereich “autorisierte”
  • Minimalen Widerstand der 190Ω (Ich benutze einen 1KΩ Widerstand im Kit geliefert)
  • Einen Summer
  • Kabel

Montage

Die Assembly wird so aussehen :

HC-SR04_bb

Das Programm

Für das Programm habe ich Kommentare, mit denen Sie lesen, auch wenn es ehrlich gesagt nicht kompliziert ist :

// PIN Control Modul HC-SR04 const Int TrigPin = 3;
const Int EchoPin = 2;
// PIN für LED grün const Int GreenLEDPin = 10;
// Kiefer für die LED const Int RedLEDPin = 12;
// Kiefer für die Summer const Int BuzzerPin =. 7;
// Mindestabstand richtige const Int Min_dist = 200;
// Entfernung auslösen l alert const Int Alerte_dist = 100;
// Variable für Distanz berechnet Langdistanz;

// Für das Einrichten von Sub-Setup-Funktion()
{
  // Initialisierung des Pins-pinMode(trigPin, AUSGABE);
  pinMode(echoPin, EINGANG);
  pinMode(greenLEDPin, AUSGABE);
  pinMode(redLEDPin, AUSGABE);
  pinMode(buzzerPin,AUSGABE);
  // Definition der Geschwindigkeit der Übertragung für die Serial.begin-Konsole(9600);
}

// Loop-Sub-Loop-Funktion()
{
  // Dauer des Signals ausgegeben von der Sonde. Es gibt eine gehen und return Int-Länge;
  // Aktivieren den Sensor digitalWrite(trigPin, HOHE);
  // DelayMicroseconds warten(1000);
  // Deaktivieren der DigitalWrite-Sonde(trigPin, LOW);
  // Angeforderte Dauer = PulseIn Sonde(echoPin, HOHE);
  // Berechnung in Zentimetern (Division durch 2 für One-Way und dann nach 29 die zurückgelegte Wegstrecke von Mikrosekunden)
  Entfernung = Zeit/58;

  If (Distanz >= min_dist || Distanz <= 0) {     Serial.Print(Distanz);     Serial.println(" Tabu");   } sonst {     Serial.println(Distanz);     If(Distanz >0 && Distanz < alerte_dist)     {       Blink(Distanz, redLEDPin, true);     }     ElseIf(Distanz >= alerte_dist)
    {
      Blink(Distanz, greenLEDPin, false);
    }
  }
}

// Funktion zu Flash eine LED die Entfernung erkannt
// Die Summer kann aktiv-Sub-Blink sein(Int-pause, Int ledPin, Int Summer)
{
  Pause = Abstand * 10;
  digitalWrite(ledPin, HOHE);
  If (Summer) digitalWrite(buzzerPin,HOHE);
  Verzögerung(10);
  digitalWrite(ledPin, LOW);
  If (Summer) digitalWrite(buzzerPin,LOW);
  Verzögerung(Anhalten);
}

Ergebnis

WP_20130810_002

Dies ist. Wenn etwas geht vor dem Sensor und betritt den Bereich definiert als “nicht autorisierte”, dann Signalton, die rote, die LED leuchtet, und der Summer !

Wenn du willst, Sie können die Bibliothek in Ihrem Programm verwenden. Ultraschall Das vereinfacht initialisieren und Berechnung der Entfernung. Weitere Informationen über die Verwendung Hier.

[BEARBEITEN] Wenn Sie testen möchten können weiter auf dem Sensor einen Artikel Hier.

Gutes Wochenende für alle !

Sie können auch mögen....