Advertisement
Halbheld

Arduino Echolot mit 10 Ergebnissen

Jul 17th, 2024
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <SPI.h>
  2. #include <Ethernet.h>
  3.  
  4. byte mac[] = {
  5.   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
  6. };
  7. IPAddress ip(192, 168, 0, 11);
  8.  
  9. EthernetServer server(80);
  10.  
  11. int trigger=7; //Trigger-Pin des Ultraschallsensors an Pin7 des Arduino-Boards
  12. int echo=6; // Echo-Pim des Ultraschallsensors an Pin6 des Arduino-Boards
  13. int i=0;
  14. long dauer=0; // speichert Dauer bis Echo
  15. long mittel=0; // Mittelwert
  16. long entfernung=0; // Das Wort „entfernung“ ist jetzt die variable, unter der die berechnete Entfernung gespeichert wird.
  17.  
  18. void setup() {
  19.   Serial.begin(9600);
  20.  
  21. pinMode(trigger, OUTPUT); // Trigger-Pin ist ein Ausgang
  22. pinMode(echo, INPUT); // Echo-Pin ist ein Eingang
  23.  
  24.   while (!Serial) {
  25.     ; // wait for serial port to connect. Needed for native USB port only
  26.   }
  27.  
  28.   // start the Ethernet connection and the server:
  29.   Ethernet.begin(mac, ip);
  30.   server.begin();
  31.   Serial.print("server is at ");
  32.   Serial.println(Ethernet.localIP());
  33. }
  34.  
  35. void loop() {
  36.   // listen for incoming clients
  37.   EthernetClient client = server.available();
  38.   if (client) {
  39.     Serial.println("new client");
  40.     // an http request ends with a blank line
  41.     boolean currentLineIsBlank = true;
  42.     while (client.connected()) {
  43.       if (client.available()) {
  44.         char c = client.read();
  45.         Serial.write(c);
  46.         // if you've gotten to the end of the line (received a newline
  47.         // character) and the line is blank, the http request has ended,
  48.         // so you can send a reply
  49.         if (c == '\n' && currentLineIsBlank) {
  50.           // send a standard http response header
  51.           client.println("HTTP/1.1 200 OK");
  52.           client.println("Content-Type: text/html");
  53.           client.println("Connection: close");  // the connection will be closed after completion of the response
  54.           //client.println("Refresh: 5");  // refresh the page automatically every 5 sec
  55.           client.println();
  56.           client.print("<!DOCTYPE HTML>");
  57.           client.println("<html>");
  58.          
  59.          
  60.           // Ultraschall Teil
  61.           for (i=0; i<10; i++)
  62.           {
  63.          
  64.           digitalWrite(trigger, LOW); //Hier nimmt man die Spannung für kurze Zeit vom Trigger-Pin, damit man später beim senden des Trigger-Signals ein rauschfreies Signal hat.
  65.           delay(5); //Dauer: 5 Millisekunden
  66.           digitalWrite(trigger, HIGH); //Jetzt sendet man eine Ultraschallwelle los.
  67.           delay(10); //Dieser „Ton“ erklingt für 10 Millisekunden.
  68.          
  69.           digitalWrite(trigger, LOW);//Dann wird der „Ton“ abgeschaltet.
  70.           dauer = pulseIn(echo, HIGH); //Mit dem Befehl „pulseIn“ zählt der Mikrokontroller die Zeit in Mikrosekunden, bis der Schall zum Ultraschallsensor zurückkehrt.
  71.           client.println(dauer);
  72.           //mittel = mittel + dauer; // 10 Werte aufaddieren
  73.           }
  74.          
  75.           //mittel = mittel / 10; // Durchschnitt aus 10 Messungen
  76.           //client.println(dauer);
  77.           //client.println("<br>");
  78.           //client.println(mittel);
  79.           // Ultraschall Teil Ende
  80.          
  81.           client.println("</html>");
  82.           break;
  83.         }
  84.         if (c == '\n') {
  85.           // you're starting a new line
  86.           currentLineIsBlank = true;
  87.         } else if (c != '\r') {
  88.           // you've gotten a character on the current line
  89.           currentLineIsBlank = false;
  90.         }
  91.       }
  92.     }
  93.     // give the web browser time to receive the data
  94.     delay(1);
  95.     // close the connection:
  96.     client.stop();
  97.     Serial.println("client disconnected");
  98.   }
  99. }
  100.  
  101.  
Tags: Arduino
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement