Ultraschall-Lineal mit LCD und Arduino

3 Schritt:Schritt 1: Der Ultraschall-Module Schritt 2: Der LCD- Schritt 3: Der Kodex

Ultraschall-Lineal mit LCD und Arduino
Hier finden Sie einen LCD-Ein Arduino Uno muss (ich habe ein Ethernet-Schild auf mir, sie nicht irgend etwas in diesem Projekt zu tun, aber es ist ein Schmerz zu nehmen und aus) ein Ultraschallsensor Modul 20 - 30 Schaltdrähte Dies ist ein ziemlich einfaches Projekt, das ich kam mit, wenn ich wollte, um die Ultraschall-Abstandssensor, ohne den Computer (die Serien Monitor) verwenden. Es ist ziemlich einfach zu machen und brauchen Sie nicht eine Menge Sachen zu machen, so, lässt beginnen Schritt 1: Die Ultraschall-Module



Ultraschall-Lineal mit LCD und Arduino
Ich bin mit dem HC - SR04 Ultraschall, aber es ist nicht wirklich wichtig, sind die Stifte wahrscheinlich das gleiche auf allen von ihnen.
Legen Sie die Ultraschall in Ihrem Steckbrett und Haken
* Ultraschall-GND an A0
* Ultransonic Echo auf A1
* Ultraschall-Trigger auf A3
* Ultraschall-VCC auf A4
Jetzt laden Sie diesen Code auf der Platine und ersetzen lcd.print mit Serial.print

/ *
Liquid Bibliothek - Hallo Welt

Zeigt die Verwendung einer 16x2 LCD-Display. Die Liquid
Bibliothek arbeitet mit allen LCD-Displays, die mit der kompatibel sind
Hitachi HD44780-Treiber. Es gibt viele von ihnen gibt, und Sie
können in der Regel sagen, von der 16-Pin-Schnittstelle.

Diese Skizze druckt "Hallo Welt!" zur LCD
und zeigt die Zeit an.

Die Schaltung:
* LCD RS Stift, um digitale Stift 12
* LCD aktivieren Pin-Digital-Stift 11
* LCD D4 Stift, um digitale Stift 5
* LCD D5 Stift, um digitale Stift 4
* LCD D6 Pin auf digitalen Stift 3
* LCD D7 Pin auf digitalen Pin 2
* LCD-R / W Pin mit Masse
* 10K-Widerstand:
* Endet mit + 5V und Masse
* Wischer zu LCD VO (Pin 3)
* Ultraschall-GND an A0
* Ultransonic Echo auf A1
* Ultraschall-Trigger auf A3
* Ultraschall-VCC auf A4
#include <LiquidCrystal.h>

* /

Leere setup () {
// Bis die LCD-Reihe von Spalten und Zeilen ein:
lcd.begin (16, 4);
pinMode (A4, Ausgang); // Pin 2 auf Vcc zu befestigen
pinMode (A0, OUTPUT); // Pin 5 GND legen
// Initialisierung der seriellen Kommunikation:
Serial.begin (9600);
lcd.setCursor (0, 0);
lcd.print ("Ultraschall-Lineal mit LCD");
lcd.setCursor (0, 1);
lcd.print ("von Alex Willis");
}

Leere Schleife () {
digital (A4, HIGH);
// Variablen zur Laufzeit des ping zu etablieren,
// Und der Abstand Ergebnis in Zoll und Zentimeter:
lange Dauer, Zoll, cm;

// Der PING))) wird mit einem High Impuls von 2 oder mehr Mikrosekunden ausgelöst.
// Geben Sie eine kurze LOW Impuls voraus, um eine saubere HOCH-Impuls zu gewährleisten:
pinMode (A3, OUTPUT); // Pin 3 Trig befestigen
digital (A3, LOW);
delayMicroseconds (2);
digital (A3, HOCH);
delayMicroseconds (5);
digital (A3, LOW);

// Das gleiche Pin wird verwendet, um das Signal von der PING lesen))): Ein hoch
// Impuls, dessen Dauer ist die Zeit (in Mikrosekunden) von der Sende
// Der ping auf den Empfang sein Echo von einem Objekt.
pinMode (A1, Eingang); // befestigen Pin 4 Echo
Dauer = pulseIn (A1, HIGH);

// Zeit in einem Abstand zu konvertieren
inches = microsecondsToInches (Dauer);
cm = microsecondsToCentimeters (Dauer);
lcd.setCursor (0, 2);
lcd.print (Zoll);
lcd.print ("in");
lcd.print (cm);
lcd.print ("cm");
Verzögerung (1000);
lcd.clear ();
}

Lang microsecondsToInches (lange Mikrosekunden)
{
// Nach Parallax Datenblatt für den PING))), gibt es
// 73,746 Mikrosekunden pro Zoll (dh Schall bei 1130 Fuß pro
// Sekunde). Dies gibt den Abstand vom Ping, Outbound gereist
// Und zurück, so dass wir durch 2 teilen, um den Abstand des Hindernisses zu bekommen.
// Siehe: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
zurück Mikrosekunden / 74/2;
}

Lang microsecondsToCentimeters (lange Mikrosekunden)
{
// Die Schallgeschwindigkeit ist 340 m / s oder 29 Mikrosekunden pro Zentimeter.
// Der Ping fährt hin und zurück, so, um den Abstand von der zu finden
// Objekt nehmen wir die Hälfte der zurückgelegten Strecke.
zurück Mikrosekunden / 29/2;
}

Austauschen der lcd.print mit Serial.print wird sichergestellt, dass Ultraschall arbeitet und dann können wir auf die LCD zu bewegen. Schritt 2: Der LCD-

Ultraschall-Lineal mit LCD und Arduino

Ultraschall-Lineal mit LCD und Arduino

Beginnen Sie mit dem Anbringen
* LCD RS Stift, um digitale Stift 12
* LCD aktivieren Pin-Digital-Stift 11
* LCD D4 Stift, um digitale Stift 5
* LCD D5 Stift, um digitale Stift 4
* LCD D6 Pin auf digitalen Stift 3
* LCD D7 Pin auf digitalen Pin 2
* LCD-R / W Pin mit Masse
* 10K Pot:
* Endet mit + 5V und Masse
* Wischer zu LCD VO (Pin 3),
Nun, das ist die gleiche Schaltung wie die Hallo Welt Beispiel für Arduino und es wäre wahrscheinlich am besten, um das Programm, um sicherzustellen, haben Sie Ihre LCD-Setup richtig (wenn Sie nicht bemerkt, Ich mag, um zu testen, wie ich gehen zusammen) zu testen. Schritt 3: Der Kodex

Ultraschall-Lineal mit LCD und Arduino

Ultraschall-Lineal mit LCD und Arduino

Sie sollten Ihre Schaltung jetzt alle Setup haben, so jetzt ist es Zeit für den Code.
/ *
Die Schaltung:
* LCD RS Stift, um digitale Stift 12
* LCD aktivieren Pin-Digital-Stift 11
* LCD D4 Stift, um digitale Stift 5
* LCD D5 Stift, um digitale Stift 4
* LCD D6 Pin auf digitalen Stift 3
* LCD D7 Pin auf digitalen Pin 2
* LCD-R / W Pin mit Masse
* 10K-Widerstand:
* Endet mit + 5V und Masse
* Wischer zu LCD VO (Pin 3)
* Ultraschall-GND an A0
* Ultransonic Echo auf A1
* Ultraschall-Trigger auf A3
* Ultraschall-VCC auf A4
#include <LiquidCrystal.h>

* /

Leere setup () {
// Bis die LCD-Reihe von Spalten und Zeilen ein:
lcd.begin (16, 4);
pinMode (A4, Ausgang); // Pin 2 auf Vcc zu befestigen
pinMode (A0, OUTPUT); // Pin 5 GND legen
// Initialisierung der seriellen Kommunikation:
Serial.begin (9600);
lcd.setCursor (0, 0);
lcd.print ("Ultraschall-Lineal mit LCD");
lcd.setCursor (0, 1);
lcd.print ("von Alex Willis");
}

Leere Schleife () {
digital (A4, HIGH);
// Variablen zur Laufzeit des ping zu etablieren,
// Und der Abstand Ergebnis in Zoll und Zentimeter:
lange Dauer, Zoll, cm;

// Der PING))) wird mit einem High Impuls von 2 oder mehr Mikrosekunden ausgelöst.
// Geben Sie eine kurze LOW Impuls voraus, um eine saubere HOCH-Impuls zu gewährleisten:
pinMode (A3, OUTPUT); // Pin 3 Trig befestigen
digital (A3, LOW);
delayMicroseconds (2);
digital (A3, HOCH);
delayMicroseconds (5);
digital (A3, LOW);

// Das gleiche Pin wird verwendet, um das Signal von der PING lesen))): Ein hoch
// Impuls, dessen Dauer ist die Zeit (in Mikrosekunden) von der Sende
// Der ping auf den Empfang sein Echo von einem Objekt.
pinMode (A1, Eingang); // befestigen Pin 4 Echo
Dauer = pulseIn (A1, HIGH);

// Zeit in einem Abstand zu konvertieren
inches = microsecondsToInches (Dauer);
cm = microsecondsToCentimeters (Dauer);
lcd.setCursor (0, 2);
lcd.print (Zoll);
lcd.print ("in");
lcd.print (cm);
lcd.print ("cm");
Verzögerung (1000);
lcd.clear ();
}

Lang microsecondsToInches (lange Mikrosekunden)
{
// Nach Parallax Datenblatt für den PING))), gibt es
// 73,746 Mikrosekunden pro Zoll (dh Schall bei 1130 Fuß pro
// Sekunde). Dies gibt den Abstand vom Ping, Outbound gereist
// Und zurück, so dass wir durch 2 teilen, um den Abstand des Hindernisses zu bekommen.
// Siehe: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
zurück Mikrosekunden / 74/2;
}

Lang microsecondsToCentimeters (lange Mikrosekunden)
{
// Die Schallgeschwindigkeit ist 340 m / s oder 29 Mikrosekunden pro Zentimeter.
// Der Ping fährt hin und zurück, so, um den Abstand von der zu finden
// Objekt nehmen wir die Hälfte der zurückgelegten Strecke.
zurück Mikrosekunden / 29/2;
}

Laden Sie diesen Code und es sollte funktionieren, auch wenn es nicht sehr genau, aber hey! Es funktioniert!