Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Anschluss Belegung:
- * Arduino Ultraschallsensor Signalgeber
- * 5V 5V
- * 7 Trig
- * 6 Echo
- * Gnd Gnd Gnd
- * 13 +
- Für Display siehe Video Schaltplan
- */
- #include <LiquidCrystal.h>
- int pingPin = 7;
- int inPin = 6;
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
- void setup() {
- Serial.begin(9600);
- pinMode(13, OUTPUT);
- lcd.begin(16, 2);
- }
- void loop(){
- long duration, inches, cm;
- /*Der Ausgangsimpuls wird durch einen High-Impuls erzeugt der 2 Microsekunden dauert
- Vorher sollte ein kurzer Low Impuls kommen um sicherzugehen, einen Sauberen High-Pegel zu bekommen.*/
- pinMode(pingPin, OUTPUT);
- digitalWrite(pingPin, LOW);
- delayMicroseconds(2);
- digitalWrite(pingPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(pingPin, LOW);
- //auf dem Echo Pin wird nun auf einen HIGH Pegel gewartet
- pinMode(inPin, INPUT);
- duration = pulseIn(inPin, HIGH);
- //Umwandlung der Zeit des Pulses bis er wieder erkannt wird
- cm = microsecondsToCentimeters(duration);
- Serial.println(cm, DEC);
- delay(100);
- if (cm < 30&&cm>5 ){
- digitalWrite(13,HIGH);
- delay(cm*10); ////In dieser Zeile werden die Tonimpulse so eingestellt, dass sie mit sinkender Entfernung auch schneller werden
- digitalWrite(13,LOW);
- }
- if (cm<6 ){
- digitalWrite(13,HIGH); /////Dauerpiepton wenn die Entferung unter 6cm liegt
- }
- //Ab hier beginnt die Anzeige
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("Entfernung");
- lcd.setCursor(0, 1);
- lcd.print(cm);
- }
- long microsecondsToCentimeters(long microseconds){
- return microseconds / 58;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement