Alright I'm stuck again. For some reason when I run the code no html page loads and the serial monitor displays nothing. When I remove the following lines of code, it works fine. What's going on?
else if(wipers == 1){
client.println("<div style='padding-left:25px;font-size:50px;float:left;'>Wiper Status: INT</div>");
client.println("<form><div style='font-size:60px;float:right;><input type='radio'> OFF<br><a href='/?wipersintermittnet'><input type='radio' checked></a> INT<br><a href='/?wiperslow'><input type='radio'></a> SLOW<br><a href='/?wipershigh'><input type='radio'></a> FAST<br></div></form>");
}
//zoomkat 4-1-12
//simple button GET for servo and pin 5
//for use with IDE 1.0
//open serial monitor to see what the arduino receives
//use the \ slash to escape the " in the html, or use ' instead of "
//address will look like http://192.168.0.80 when submited
//for use with W5100 based ethernet shields
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = {
192, 168, 0, 80 }; // ip in lan
//byte gateway[] = { 192, 168, 1, 1 }; // internet access via router
//byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); //server port
boolean engine = false; //engine status
int wipers = 0; //windshield wipers status 0-off 1-intermittent 2-slow 3-high
String readString;
unsigned long WiperResetStart = 0;
unsigned long WiperResetStop = 0;
int S = 6; //Wiper Fast pin
int B = 7; //Wiper Slow pin
int BA = 8; //Wiper Reset pin
unsigned long IntermittentRunStart = 0;
unsigned long IntermittentRunStop = 0;
//////////////////////
void setup(){
pinMode(5, OUTPUT); //pin selected to control
pinMode(6, OUTPUT); //pin selected to control
pinMode(7, OUTPUT); //pin selected to control
pinMode(8, OUTPUT); //pin selected to control
pinMode(9, OUTPUT); //pin selected to control
pinMode(10, OUTPUT); //pin selected to control
//start Ethernet
Ethernet.begin(mac, ip);
server.begin();
//enable serial data print
Serial.begin(9600);
Serial.println("server pin 5 test 1.0"); // so I can keep track of what is loaded
}
void loop(){
// Check if timer has expired for wiper position to reset
if(BA == HIGH){
WiperResetStop=millis();
if(WiperResetStop > WiperResetStart + 5000){
if(wipers == 1){
digitalWrite(S, HIGH); //Turn on high setting for 1 second
IntermittentRunStart = millis();
}
else{
wipers = 0;
Serial.println("Wipers Off");
}
}
}
// Check if timer has expired for intermittent run
if(wipers == 1){
IntermittentRunStop = millis();
if(IntermittentRunStop > IntermittentRunStart + 1000){
digitalWrite(S, LOW);//Turn off fast
delay(1);//Let it disconnect
digitalWrite(BA, HIGH);//Reset Wiper position
WiperResetStart=millis();
}
}
// Create a client connection
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}
//if HTTP request has ended
if (c == '\n') {
///////////////////// Engine Control
if(readString.indexOf("?engineon") >0)
{
digitalWrite(5, HIGH); // set pin 5 high
engine = true;
Serial.println("Starting Engine...");
}
if(readString.indexOf("?engineoff") >0)
{
digitalWrite(5, LOW); // set pin 5 low
engine = false;
Serial.println("Turning Engine Off...");
}
///////////////////// Wiper Control
if(readString.indexOf("?wipersoff") >0)
{
digitalWrite(B, LOW);//Turn off slow
digitalWrite(S, LOW);//Turn off fast
delay(1);//Let it disconnect
digitalWrite(BA, HIGH);//Reset Wiper position
WiperResetStart=millis();
Serial.println("Resetting Wiper Position...");
}
if(readString.indexOf("?wipersintermittent") >0)
{
digitalWrite(B, LOW);//Turn off slow
digitalWrite(S, LOW);//Turn off fast
delay(1);//Let it disconnect
digitalWrite(BA, HIGH);//Reset Wiper position
WiperResetStart=millis();
wipers = 1;
Serial.println("Wiper Status: Intermittent");
}
if(readString.indexOf("?wiperslow") >0)
{
digitalWrite(S, LOW);//Turn off fast
digitalWrite(BA, LOW);//Turn off reset incase it is in the process of resetting
delay(1);//Let it disconnect
digitalWrite(B, HIGH);//Turn on slow
wipers = 2;
Serial.println("Wiper Status: SLOW");
}
if(readString.indexOf("?wipershigh") >0)
{
digitalWrite(B, LOW);//Turn off slow
digitalWrite(BA, LOW);//Turn off reset incase it is in the process of resetting
delay(1);//Let it disconnect
digitalWrite(S, HIGH);//Turn on fast
wipers = 3;
Serial.println("Wiper Status: FAST");
}
///////////////
Serial.println(readString); //print to serial monitor for debuging
client.println("HTTP/1.1 200 OK"); //send new page
client.println("Content-Type: text/html");
client.println();
client.println("<HTML>");
client.println("<HEAD>");
client.println("<META HTTP-EQUIV='refresh' CONTENT='5'>");
client.println("<TITLE>CARduino</TITLE>");
client.println("</HEAD>");
client.println("<BODY>");
client.println("<h1 style='text-align:center;font-size:70px;'>Welcome to Project CARduino!<br /></h1>");
if(engine == false){
client.println("<div style='padding-left:25px;font-size:50px;display:inline;'>Engine Status: OFF</div><a href='/?engineon'><div style='font-size:60px;display:inline;padding-left:100px;'><button type='submit'><div style='font-size:60px;'>Start Engine</div></button></div></a><br><br><br><br>");
}
if(engine == true){
client.println("<div style='padding-left:25px;font-size:50px;display:inline;'>Engine Status: ON </div><a href='/?engineoff'><div style='font-size:60px;display:inline;padding-left:100px;'><button type='submit'><div style='font-size:60px;'>Engine Off</div></button></div></a><br><br><br><br>");
}
if(wipers == 0){
client.println("<div style='padding-left:25px;font-size:50px;float:left;'>Wiper Status: OFF</div>");
client.println("<form><div style='font-size:60px;float:right;><input type='radio' checked> OFF<br><a href='/?wipersintermittnet'><input type='radio'></a> INT<br><a href='/?wiperslow'><input type='radio'></a> SLOW<br><a href='/?wipershigh'><input type='radio'></a> FAST<br></div></form>");
}
else if(wipers == 1){
client.println("<div style='padding-left:25px;font-size:50px;float:left;'>Wiper Status: INT</div>");
client.println("<form><div style='font-size:60px;float:right;><input type='radio'> OFF<br><a href='/?wipersintermittnet'><input type='radio' checked></a> INT<br><a href='/?wiperslow'><input type='radio'></a> SLOW<br><a href='/?wipershigh'><input type='radio'></a> FAST<br></div></form>");
}
//else if(wipers == 2){
//client.println("<div style='padding-left:25px;font-size:50px;display:inline;float:left;'>Wiper Status: SLW</div><form><div style='padding-left:40px;float:right;'><br><a href='/?wipersoff'><input type='radio'></a> OFF<br><a href='/?wipersintermittnet'><input type='radio'></a> INTERMITTENT<br><input type='radio' checked> ON (SLOW)<br><a href='/?wipershigh'><input type='radio'></a> ON (FAST)<br></div></form>");
//}
//else{
//client.println("<div style='padding-left:25px;font-size:50px;display:inline;float:left;'>Wiper Status: FST</div><form><div style='padding-left:40px;float:right;'><br><a href='/?wipersoff'><input type='radio'></a> OFF<br><a href='/?wipersintermittnet'><input type='radio'></a> INTERMITTENT<br><a href='/?wiperslow'><input type='radio'></a> ON (SLOW)<br><input type='radio' checked> ON (FAST)<br></div></form>");
//}
client.println("</BODY>");
client.println("</HTML>");
delay(1);
//stopping client
client.stop();
//clearing string for next read
readString="";
}
}
}
}
}