Go Down

Topic: Home Snow maker automation (Read 668 times) previous topic - next topic

H20626

Hey everyone. I do back yard snowmaking. This comming year i would like to automate my system. I want to see what my system pressures are and control simple sprinkler valves when i click a button. I dont want to have a computer on 24/7...
i have
-uno
-eirther net
-two pressure transducers
-micro sd card

My problems are
-how do i display an html page that i made using notes?
-How do i make it a webpage that can be seen from a phone or an internet devise when im at school or away?
-how do i hit a button that says automate and will turn on the valves when there is a temp reading below 28 out?
Thanks!!

Code: [Select]
/*
 Web Server

A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.

Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)

created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe

*/

#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 Leonardo 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("Connnection: close");
         client.println();
         client.println("<!DOCTYPE HTML>");
         client.println("<html>");
         // variables for pressure transducer reading
         float pressure = 0; // air pressure variable
         float wpressure = 0; // water pressure variable
         int pressureunits = 0; // values read from transducer
         int i;
         // for the pressure transducer
         float uhigh = 918; // reference value read by transducer at the high end
         float phigh = 200; // reference pressure at high end
         float ulow = 102; // reference value read by are transducer at low end pressure
         float plow = 0; // reference pressure at low end
         float wulow = 72 ;// reference value read by water transducer at low end pressure


         // add a meta refresh tag, so the browser pulls again every 5 seconds:
         client.println("<meta http-equiv=\"refresh\" content=\"5\">");
         // output the value of each analog input pin
         client.print("Home Snowmaking");
         {
           client.println("<br />");
         }
         pressureunits = analogRead(A0);
         {
           int AIR = (pressureunits-ulow)*(phigh - plow)/(uhigh-ulow);
           client.print("Air Psi");
           client.print(" is ");
           client.print(AIR);
           client.println("<br />");      
         }
         client.println("<meta http-equiv=\"refresh\" content=\"5\">");
         // output the value of each analog input pin
         
         {
           pressureunits = analogRead(A1);
           int Water = (pressureunits-wulow)*(phigh-plow)/(uhigh-wulow);
           
           client.print("Water PSI ");
           client.print(" is ");
           client.print(Water);
           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 disonnected");
 }
}


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy