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




