Advertisement
Makerino

Ultraschall Entfernungsmesser mit Display

Apr 26th, 2019
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.70 KB | None | 0 0
  1. /*Anschluss Belegung:
  2.  * Arduino      Ultraschallsensor       Signalgeber
  3.  * 5V                 5V
  4.  * 7                  Trig  
  5.  * 6                  Echo
  6.  * Gnd                Gnd                  Gnd
  7.  * 13                                       +
  8. Für Display siehe Video Schaltplan
  9.  */
  10. #include <LiquidCrystal.h>
  11.  
  12. int pingPin = 7;
  13. int inPin = 6;
  14.  
  15. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  16.  
  17. void setup() {
  18. Serial.begin(9600);
  19. pinMode(13, OUTPUT);
  20. lcd.begin(16, 2);
  21. }
  22.  
  23. void loop(){
  24.  
  25. long duration, inches, cm;
  26.  
  27. /*Der Ausgangsimpuls wird durch einen High-Impuls erzeugt der 2 Microsekunden dauert
  28. Vorher sollte ein kurzer Low Impuls kommen um sicherzugehen, einen Sauberen High-Pegel zu bekommen.*/
  29. pinMode(pingPin, OUTPUT);
  30. digitalWrite(pingPin, LOW);
  31. delayMicroseconds(2);
  32. digitalWrite(pingPin, HIGH);
  33. delayMicroseconds(10);
  34. digitalWrite(pingPin, LOW);
  35.  
  36. //auf dem Echo Pin wird nun auf einen HIGH Pegel gewartet
  37. pinMode(inPin, INPUT);
  38. duration = pulseIn(inPin, HIGH);
  39.  
  40. //Umwandlung der Zeit des Pulses bis er wieder erkannt wird
  41. cm = microsecondsToCentimeters(duration);
  42.  
  43. Serial.println(cm, DEC);
  44.  
  45. delay(100);
  46.  
  47. if (cm < 30&&cm>5 ){
  48.   digitalWrite(13,HIGH);
  49.   delay(cm*10);           ////In dieser Zeile werden die Tonimpulse so eingestellt, dass sie mit sinkender Entfernung auch schneller werden
  50.   digitalWrite(13,LOW);
  51.   }
  52.  
  53.   if (cm<6 ){
  54.   digitalWrite(13,HIGH);  /////Dauerpiepton wenn die Entferung unter 6cm liegt
  55.   }
  56.  
  57.                                 //Ab hier beginnt die Anzeige
  58. lcd.clear();
  59. lcd.setCursor(0, 0);
  60. lcd.print("Entfernung");
  61. lcd.setCursor(0, 1);
  62. lcd.print(cm);
  63.  
  64. }
  65.  
  66.  
  67.  
  68. long microsecondsToCentimeters(long microseconds){    
  69. return microseconds / 58;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement