Go Down

Topic: :o HELP arduino + Ultrasonic+ Shield Ethernet  (Read 607 times) previous topic - next topic

hachani

Hey all i have problem i found code source and look good but when i try used to display data of ultrasonic using ethernet shield arduino on web page...Doesn't Work

THIS IS CODE
how i can fix that ??  :o

Code: [Select]
#include <SPI.h>
#include <Ethernet.h>
#define trigPin 5
#define echoPin 6

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };   
byte ip[] = { 192, 168, 1, 178 };                     
byte gateway[] = { 192, 168, 1, 1 };                 
byte subnet[] = { 255, 255, 255, 0 };         

void setup() {
pinMode(trigPin, OUTPUT); 
pinMode(echoPin, INPUT); 
Serial.begin (9600);
  Ethernet.begin(mac, ip, gateway, subnet);
  delay(2000);           
  Serial.println("connecting...");
}

void loop() {
  String s;
  s=misura();
  Serial.println(s);
  delay(2000);
}

String misura()
{
   int duration, distance;
  String risultato;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);   
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); 
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH); 
  distance = (duration/2) / 29.1;     
   risultato="cm: ";
    risultato.concat(distance);


PaulS

There is nothing in your code to make the Arduino act as either a client (making requests) or server (responding to requests). Therefore, it is not surprising that the data sent to the serial port is not visible on a web page.
The art of getting good answers lies in asking good questions.

hachani

so how i make it ?? how i can make my data display on web page ??

PaulS

Quote
how i can make my data display on web page ??
The Arduino has to act as a server. Start with the Ethernet server example.
The art of getting good answers lies in asking good questions.

hachani

you mean start with that example ??

Code: [Select]
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 1, 177);

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  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.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("<br />");
          }
          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");
  }
}

PaulS

Quote
you mean start with that example ??
Yes.. Instead of reading all the analog pins, and returning useless data, read your ultrasonic sensor and return useful data.

The art of getting good answers lies in asking good questions.

hachani

ok  bro i'll try do it if icant i'll ask your help

Go Up