Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <Ethernet.h>
- byte mac[] = {
- 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
- };
- IPAddress ip(192, 168, 0, 11);
- EthernetServer server(80);
- int trigger=7; //Trigger-Pin des Ultraschallsensors an Pin7 des Arduino-Boards
- int echo=6; // Echo-Pim des Ultraschallsensors an Pin6 des Arduino-Boards
- int i=0;
- long dauer=0; // speichert Dauer bis Echo
- long mittel=0; // Mittelwert
- long entfernung=0; // Das Wort „entfernung“ ist jetzt die variable, unter der die berechnete Entfernung gespeichert wird.
- void setup() {
- Serial.begin(9600);
- pinMode(trigger, OUTPUT); // Trigger-Pin ist ein Ausgang
- pinMode(echo, INPUT); // Echo-Pin ist ein Eingang
- while (!Serial) {
- ; // wait for serial port to connect. Needed for native USB port only
- }
- // start the Ethernet connection and the server:
- Ethernet.begin(mac, ip);
- server.begin();
- Serial.print("server is at ");
- Serial.println(Ethernet.localIP());
- }
- void loop() {
- // listen for incoming clients
- EthernetClient client = server.available();
- if (client) {
- Serial.println("new client");
- // an http request ends with a blank line
- boolean currentLineIsBlank = true;
- while (client.connected()) {
- if (client.available()) {
- char c = client.read();
- Serial.write(c);
- // if you've gotten to the end of the line (received a newline
- // character) and the line is blank, the http request has ended,
- // so you can send a reply
- if (c == '\n' && currentLineIsBlank) {
- // send a standard http response header
- client.println("HTTP/1.1 200 OK");
- client.println("Content-Type: text/html");
- client.println("Connection: close"); // the connection will be closed after completion of the response
- //client.println("Refresh: 5"); // refresh the page automatically every 5 sec
- client.println();
- client.print("<!DOCTYPE HTML>");
- client.println("<html>");
- // Ultraschall Teil
- for (i=0; i<10; i++)
- {
- 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.
- delay(5); //Dauer: 5 Millisekunden
- digitalWrite(trigger, HIGH); //Jetzt sendet man eine Ultraschallwelle los.
- delay(10); //Dieser „Ton“ erklingt für 10 Millisekunden.
- digitalWrite(trigger, LOW);//Dann wird der „Ton“ abgeschaltet.
- dauer = pulseIn(echo, HIGH); //Mit dem Befehl „pulseIn“ zählt der Mikrokontroller die Zeit in Mikrosekunden, bis der Schall zum Ultraschallsensor zurückkehrt.
- client.println(dauer);
- //mittel = mittel + dauer; // 10 Werte aufaddieren
- }
- //mittel = mittel / 10; // Durchschnitt aus 10 Messungen
- //client.println(dauer);
- //client.println("<br>");
- //client.println(mittel);
- // Ultraschall Teil Ende
- client.println("</html>");
- break;
- }
- if (c == '\n') {
- // you're starting a new line
- currentLineIsBlank = true;
- } else if (c != '\r') {
- // you've gotten a character on the current line
- currentLineIsBlank = false;
- }
- }
- }
- // give the web browser time to receive the data
- delay(1);
- // close the connection:
- client.stop();
- Serial.println("client disconnected");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement