/* * Web Server for receiving values for 7dgit-LED shiftout through three registers * Sparkfun WiFly shield and library necessary * used call http://ip-address/&123 with browser or wget * character 7,8,9 on URL Call is used */ #include "WiFly.h" #include "Credentials.h" const int CLOCK_PIN = 2; //common clock for shiftout const int DATA_PIN = 3; //common data for shiftout const int LATCH_PIN_1 = 4; //Latch for Digit 1 for shiftout const int LATCH_PIN_2 = 5; //Latch for Digit 2 for shiftout const int LATCH_PIN_3 = 6; //Latch for Digit 3 for shiftout Server server(80); String readString = String(100); String shstring1; // shortened string for digit1 String shstring2; // shortened string for digit2 String shstring3; // shortened string for digit3 void setup() { WiFly.begin(); if (!WiFly.join(ssid, passphrase)) { while (1) { // Hang on failure. } } Serial.begin(9600); Serial.print("IP: "); Serial.println(WiFly.ip()); pinMode(LATCH_PIN_1, OUTPUT); pinMode(LATCH_PIN_2, OUTPUT); pinMode(LATCH_PIN_3, OUTPUT); pinMode(DATA_PIN, OUTPUT); pinMode(CLOCK_PIN, OUTPUT); server.begin(); } void loop() { Client client = server.available(); if (client) { // an http request ends with a blank line boolean current_line_is_blank = true; 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 = readString + c; } if (c == '\n' && current_line_is_blank) { shstring1 = readString.substring(6,7); shstring2 = readString.substring(7,8); shstring3 = readString.substring(8,9); Serial.println("this was the recognized number" ); Serial.println("digit 1="); Serial.println(shstring1); Serial.println("digit 2="); Serial.println(shstring2); Serial.println("digit 3="); Serial.println(shstring3); // send a standard http response header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); client.print("received_via_url="); client.print("digit 1="); client.print(shstring1); client.print("digit 2="); client.print(shstring2); client.print("digit 3="); client.print(shstring3); //controlling of shiftout for three digits if (shstring1.equals("0")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B00111111);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring1.equals("1")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B00000110);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring1.equals("2")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01011011);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring1.equals("3")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01001111);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring1.equals("4")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01100110);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring1.equals("5")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01101101);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring1.equals("6")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01111101);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring1.equals("7")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B00000111);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring1.equals("8")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01111111);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring1.equals("9")){digitalWrite(LATCH_PIN_1, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01101111);digitalWrite(LATCH_PIN_1, HIGH);} if (shstring2.equals("0")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B00111111);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring2.equals("1")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B00000110);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring2.equals("2")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01011011);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring2.equals("3")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01001111);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring2.equals("4")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01100110);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring2.equals("5")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01101101);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring2.equals("6")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01111101);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring2.equals("7")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B00000111);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring2.equals("8")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01111111);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring2.equals("9")){digitalWrite(LATCH_PIN_2, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01101111);digitalWrite(LATCH_PIN_2, HIGH);} if (shstring3.equals("0")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B00111111);digitalWrite(LATCH_PIN_3, HIGH);} if (shstring3.equals("1")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B00000110);digitalWrite(LATCH_PIN_3, HIGH);} if (shstring3.equals("2")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01011011);digitalWrite(LATCH_PIN_3, HIGH);} if (shstring3.equals("3")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01001111);digitalWrite(LATCH_PIN_3, HIGH);} if (shstring3.equals("4")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01100110);digitalWrite(LATCH_PIN_3, HIGH);} if (shstring3.equals("5")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01101101);digitalWrite(LATCH_PIN_3, HIGH);} if (shstring3.equals("6")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01111101);digitalWrite(LATCH_PIN_3, HIGH);} if (shstring3.equals("7")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B00000111);digitalWrite(LATCH_PIN_3, HIGH);} if (shstring3.equals("8")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01111111);digitalWrite(LATCH_PIN_3, HIGH);} if (shstring3.equals("9")){digitalWrite(LATCH_PIN_3, LOW);shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, B01101111);digitalWrite(LATCH_PIN_3, HIGH);} break; } if (c == '\n') { // we're starting a new line current_line_is_blank = true; } else if (c != '\r') { // we've gotten a character on the current line current_line_is_blank = false; } } } // give the web browser time to receive the data readString=""; delay(100); client.stop(); } }