Ja ich habe einen neuen Sensor bekommen,
natürlich wollte ihn gleich mal ausprobieren 😉
So habe ich eine kleine Einparkhilfe mit
optischer Warnung gebaut ….
So die Teileliste:
In diesem Aufbau habe die LED’s über Minus/ Masse geschaltet,
es bot sich an von der Belegung und hat kein tieferen Sinn.
Hier noch einmal der Aufbau:
Und noch ein kleines Video dazu…
Hinweis: Für den Code wir die Libary NewPing benötigt! –>Download<–
#include <NewPing.h> /*****************Config********************/ //Loop Intervall long interval = 150; //Ab wieviel cm soll die Farbe leuchten const int LEDON = 100; const int GreenRange = 50; const int YellowRange = 30; const int RedRange = 1; //LED Pins der Farben const int ledPinGreen = 5; const int ledPinYellow = 4; const int ledPinRed = 3; //Ultraschall Sensor Conf #define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE LEDON // MAX = 500 CM long previousMillis = 0; NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); void setup() { Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results. pinMode(ledPinGreen, OUTPUT); pinMode(ledPinYellow, OUTPUT); pinMode(ledPinRed, OUTPUT); } void loop() { unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { previousMillis = currentMillis; unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS). Serial.print(F("Ping: ")); Serial.print(uS / US_ROUNDTRIP_CM); // Convert ping time to distance in cm and print result (0 = outside set distance range) Serial.println(F("cm")); if(uS / US_ROUNDTRIP_CM >= GreenRange) { digitalWrite(ledPinGreen, LOW); digitalWrite(ledPinYellow, HIGH); digitalWrite(ledPinRed, HIGH); } else if(uS / US_ROUNDTRIP_CM >= YellowRange) { digitalWrite(ledPinGreen, HIGH); digitalWrite(ledPinYellow, LOW); digitalWrite(ledPinRed, HIGH); } else if(uS / US_ROUNDTRIP_CM >= RedRange) { digitalWrite(ledPinGreen, HIGH); digitalWrite(ledPinYellow, HIGH); digitalWrite(ledPinRed, LOW); } else if(uS / US_ROUNDTRIP_CM == 0) { digitalWrite(ledPinGreen, HIGH); digitalWrite(ledPinYellow, HIGH); digitalWrite(ledPinRed, HIGH); } } }
Gruß Shojo
35 Kommentare
Silas M. · 15. Dezember 2020 um 19:22
Was für einen Widerstand braucht man für die jeweiligen LEDS?
Silas M. · 15. Dezember 2020 um 18:52
Guten Abend,
Ich bräuchte eine kleine Hilfe. Und zwar taucht bei mir folgende Fehlermeldung auf und ich weiß nicht, wie ich sie behebe.
avrdude: ser_drain(): read error: Das Gerät erkennt den Befehl nicht.
N. · 18. November 2020 um 16:45
Hallo,
Kann man dieses Projekt auch mit einem Arduino Nano machen?
feb · 5. November 2020 um 11:59
Hi, tolles praxisnahes Projekt !
Bis zu welcher maximale Entfernung können Objekte mit dem verwendeten Sensor detektiert werden?
IdleBit · 5. November 2020 um 12:08
Laut diesem Datenblatt -> https://www.mikrocontroller.net/attachment/218122/HC-SR04_ultraschallmodul_beschreibung_3.pdf
Messbare Distanz: 2cm – ca. 300cm
feb · 5. November 2020 um 12:11
@IdleBit: Vielen Dank für die Hilfe.
Dr.Smart · 6. November 2020 um 06:10
US-015 kann angeblich bis 7 Meter
Reinhold · 25. Juli 2020 um 12:39
Hallo, ich habe die Einparkhilfe nachgebaut und sie funktioniert einwandfrei.
Eine sehr gute Sache mit wenig Aufwand.
Man muss halt die Parameter entsprechend den eigenen Bedürfnissen anpassen.
Dann klappt das!
Vielen Dank an den Entwickler
dw · 20. Mai 2019 um 14:14
Hallo!
Bei uns gibt es die Fehlermeldung, dass wir nach void loop und void setup keine Klammer auf schreiben müssen ( function-definition is not allowed here before „{“ token ).
Wenn wir die Klammer weglassen steht expected initializer before „Serial“.
Können sie uns bitte weiterhelfen und sagen, woran es liegen könnte ?
Said · 16. Mai 2019 um 09:43
muss es das gleiche steckbrett sein wie in diesem Bild ?
Said · 15. Mai 2019 um 22:26
Welcher Code , ich habe dieses Programm heruntergeladen und wollte fragen wie ich den Code kriege ?
digitalewelt · 2. Mai 2019 um 13:16
Hallo,
Wir haben Ihre Einparkhilfe im Rahmen eines Projektes in der Schule nachgebaut. Jedoch funktioniert der Code bei uns nicht, da steht „Fehler beim Kompilieren“. Könnten Sie uns erklären woran es liegt und wie wir unser Problem lösen können.
Shojo · 2. Mai 2019 um 13:44
Hi digitalewelt,
der Fehler ist leider nichtssagend.
Kann es aber sein das ihr die nötige NewPing Libary nicht hinzugefügt habt ?
(https://bitbucket.org/teckel12/arduino-new-ping/downloads/)
Renni · 25. April 2019 um 13:56
Hallo, erstmal cooles Projekt 😉 Wäre es möglich, das Projekt auf einen Arduino Pro Mini 3.3v zu betreiben? Wenn was müsste ich am Code umschreiben?
Shojo · 25. April 2019 um 14:17
Nein der Code kann so beibehalten werden, allerdings ist meines Wissens der HC-SR04 auf 5V Versorgungsspannung angewiesen.
Renni · 25. April 2019 um 14:24
Könnte ich nicht auch den US-100 nutzen ohne was am Code zu ändern?
Shojo · 25. April 2019 um 14:27
Wie es aussieht leider nein, https://bitbucket.org/teckel12/arduino-new-ping/wiki/Home#!ultrasonic-sensors
Mavo · 26. April 2019 um 23:46
Hab es mit einer Variablen gelöst, die jeden Zyklus um 1 erhöht wird.
Bei z.B. 50 Zyklen, werden dann alle LED ausgeschalten.
Das Fahrzeug parkt also, und nach ca 1min gehen alle Lichter aus.
So leuchten die LED’s nicht unnötig dauerhaft wenn das KFZ geparkt ist.
Beim nächsten ausparken wird der Wert der Variable auf 0 gesetzt, um beim nächsten einparken erneut zählen zu können.
Funktioniert klasse!
Marv · 23. April 2019 um 06:37
Hallo,
Erstmal vielen Dank für deine Mühe!
Ich werde das ganze mit einem Nano umsetzen.
Hat mal jemand versucht alle LED’s auszuschalten sobald das Fahrzeug länger als 3min steht? Um Strom zu sparen wenn das Teil an einer Blockbatterie hängt..
Hat da jemand einen Tip das umzusetzen? Eine UND Verknüpfung der Abstands-Erkennung und einer Zeitverzögerung?
Shojo · 25. April 2019 um 14:20
Ja das ist möglich wenn Du dir die millis merkst wenn er auf Grün gesprungen ist.
Und dann prüfst wenn 3000 ms vergangen sind.
Tobias · 16. März 2019 um 10:01
Was soll ich tun wenn nur die grüne Lampe brennt?
WienerWorscht123 · 20. März 2019 um 12:54
JA bei uns ist dieses Problem genauso vertreten?
Was könnte man da tun? Hat jemand ideen?
Danke im Voraus LG TIM
Shojo · 25. April 2019 um 14:22
Muss ein Verkabelungsfehler sein, aber welcher kann ich natürlich so nicht sagen.
DancingJax · 10. Januar 2018 um 10:31
Ich habe alles aufgebaut und geschrieben, wie Sie es dargestellt haben. Trotzdem leuchten meine Lampen nur kurz auf und danach nur, wenn ich sie nochmal anschließe oder den Code erneut hochlade.
DancingJax · 10. Januar 2018 um 11:01
Ich habe das Problem gelöst. Ich habe trotz mehrfacher Kontrolle ein Kabel falsch gesteckt. Vielleicht sollte ich das nächste Mal aufmerksamer sein :D.
Ich danke für die detaillierte Beschreibung auf Ihrer Seite Shojo und hoffe, dass das nicht Ihr letztes Projekt war.
Cello · 16. November 2017 um 10:54
kann man dort auch ein einen lautsprecher mit einbauen, der je nach lage schneller oder langsamer piept?
Shojo · 16. November 2017 um 11:50
Ja das geht mit den entsprechenden Anpassung vom Code.
Hier mal ein ein Beispiel wie man ein Piepser anspricht.
http://www.hobbytronics.co.uk/arduino-tutorial7-piezo-beep
Patrick · 30. September 2017 um 20:07
Danke hat supper geklapt! Jetzt wird meine Frau nicht mehr ins Regal fahren!!!
Shojo · 1. Oktober 2017 um 09:44
Sehr schön 😀
Shojo · 1. Oktober 2017 um 10:31
Wenn Du Bild oder Video Material von deiner Umsetzung hast immer her damit.
Würde das dann im Blogbeitrag mit aufnehmen.
Berni · 16. Februar 2014 um 16:53
Hier die Libary NewPing:
https://arduino-new-ping.googlecode.com/files/NewPing_v1.5.zip
Shojo · 16. Februar 2014 um 18:06
Habe ich jetzt mal im Post mit untergebracht.
Gruß
Shojo
vondasein · 16. Juni 2013 um 13:57
Hi,
danke für deine ausführliche Beschreibung. Nach dem Projekt habe ich lange gesucht!!
@ D.: Sicherlich kommt mein Tipp etwas spät. Hast du die NewPing.h libary hinzugefügt. Das musst du vorher tun, sonst erkennt die Arduino IDE den sketch nicht.
gruß
Shojo · 2. März 2013 um 22:27
Das ist mit den Infos schwer zu sagen…
Wenn Du es genau so nachgebaut hast, müsste es eigentlich laufen.
D. · 2. März 2013 um 20:06
Hallo,
ich habe Ihre Einparkhilfe nachgebaut und den Code so übernommen leider funktioniert dieser bei mir nicht. Woran kann das liegen?