Advertisement
Guest User

Untitled

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