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…
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





 
  
 