Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h> //Aqui incluimos la libreria SPI
- #include <Ethernet.h> //Aqui incluimos la libreria Ethernet
- byte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; //Declaracion de la direccion MAC
- IPAddress ip(192,168,10,199); //Declaracion de la IP
- EthernetServer servidor(80); //Declaracion del puerto 80
- int led22 = 22;
- int led23 = 23;
- int led24 = 24;
- int led25 = 25;
- int led26 = 26;
- int led27 = 27;
- int led28 = 28;
- int led29 = 29;
- int led30 = 30;
- int led31 = 31;
- int led32 = 32;
- int led33 = 33;
- int i = 0;
- String readString=String(30); //lee los caracteres de una secuencia en una cadena.
- //Los strings se representan como arrays de caracteres (tipo char)
- String state=String(3);
- void setup() {
- Ethernet.begin(mac, ip); //Inicializamos con las direcciones asignadas
- servidor.begin(); //inicia el servidor
- pinMode(led22, OUTPUT);
- pinMode(led23, OUTPUT);
- pinMode(led24, OUTPUT);
- pinMode(led25, OUTPUT);
- pinMode(led26, OUTPUT);
- pinMode(led27, OUTPUT);
- pinMode(led28, OUTPUT);
- pinMode(led29, OUTPUT);
- pinMode(led30, OUTPUT);
- pinMode(led31, OUTPUT);
- pinMode(led32, OUTPUT);
- pinMode(led33, OUTPUT);
- digitalWrite(led22, LOW);
- digitalWrite(led23, LOW);
- digitalWrite(led24, LOW);
- digitalWrite(led25, LOW);
- digitalWrite(led26, LOW);
- digitalWrite(led27, LOW);
- digitalWrite(led28, LOW);
- digitalWrite(led29, LOW);
- digitalWrite(led30, LOW);
- digitalWrite(led31, LOW);
- digitalWrite(led32, LOW);
- digitalWrite(led33, LOW);
- state="OFF";
- }
- void loop() {
- //EthernetClient Crea un cliente que se puede conectar a
- //una dirección específica de Internet IP
- EthernetClient cliente= servidor.available();
- if(cliente) {
- boolean lineaenblanco=true;
- while(cliente.connected()) {
- if(cliente.available()) {
- char c=cliente.read();
- if(readString.length()<30) {
- readString.concat(c);
- //Cliente conectado
- //Leemos petición HTTP caracter a caracter
- //Almacenar los caracteres en la variable readString
- }
- if(c=='\n' && lineaenblanco) //Si la petición HTTP ha finalizado
- {
- int LED = readString.indexOf("LED=");
- if(readString.substring(LED,LED+5)=="LED=A") {
- digitalWrite(led22,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=B") {
- digitalWrite(led22,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=C") {
- digitalWrite(led23,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=D") {
- digitalWrite(led23,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=E") {
- digitalWrite(led24,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=F") {
- digitalWrite(led24,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=G") {
- digitalWrite(led25,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=H") {
- digitalWrite(led25,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=I") {
- digitalWrite(led26,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=J") {
- digitalWrite(led26,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=K") {
- digitalWrite(led27,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=L") {
- digitalWrite(led27,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=M") {
- digitalWrite(led28,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=N") {
- digitalWrite(led28,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=O") {
- digitalWrite(led29,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=P") {
- digitalWrite(led29,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=Q") {
- digitalWrite(led30,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=R") {
- digitalWrite(led30,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=S") {
- digitalWrite(led31,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=T") {
- digitalWrite(led31,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=U") {
- digitalWrite(led32,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=V") {
- digitalWrite(led32,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=W") {
- digitalWrite(led33,HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=X") {
- digitalWrite(led33,LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=Y") {
- digitalWrite(led22, HIGH);
- digitalWrite(led23, HIGH);
- digitalWrite(led24, HIGH);
- digitalWrite(led25, HIGH);
- digitalWrite(led26, HIGH);
- digitalWrite(led27, HIGH);
- digitalWrite(led28, HIGH);
- digitalWrite(led29, HIGH);
- digitalWrite(led30, HIGH);
- digitalWrite(led31, HIGH);
- digitalWrite(led32, HIGH);
- digitalWrite(led33, HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=Z") {
- digitalWrite(led22, LOW);
- digitalWrite(led23, LOW);
- digitalWrite(led24, LOW);
- digitalWrite(led25, LOW);
- digitalWrite(led26, LOW);
- digitalWrite(led27, LOW);
- digitalWrite(led28, LOW);
- digitalWrite(led29, LOW);
- digitalWrite(led30, LOW);
- digitalWrite(led31, LOW);
- digitalWrite(led32, LOW);
- digitalWrite(led33, LOW);
- state="OFF";
- }
- if(readString.substring(LED,LED+5)=="LED=0") {
- for(i=0; i < 10; i++) {
- digitalWrite(led22, HIGH);
- digitalWrite(led23, HIGH);
- digitalWrite(led24, HIGH);
- digitalWrite(led25, HIGH);
- digitalWrite(led26, HIGH);
- digitalWrite(led27, HIGH);
- digitalWrite(led28, HIGH);
- digitalWrite(led29, HIGH);
- digitalWrite(led30, HIGH);
- digitalWrite(led31, HIGH);
- digitalWrite(led32, HIGH);
- digitalWrite(led33, HIGH);
- delay(200);
- digitalWrite(led22, LOW);
- digitalWrite(led23, LOW);
- digitalWrite(led24, LOW);
- digitalWrite(led25, LOW);
- digitalWrite(led26, LOW);
- digitalWrite(led27, LOW);
- digitalWrite(led28, LOW);
- digitalWrite(led29, LOW);
- digitalWrite(led30, LOW);
- digitalWrite(led31, LOW);
- digitalWrite(led32, LOW);
- digitalWrite(led33, LOW);
- delay(200);
- digitalWrite(led22, HIGH);
- digitalWrite(led23, HIGH);
- digitalWrite(led24, HIGH);
- digitalWrite(led25, HIGH);
- digitalWrite(led26, HIGH);
- digitalWrite(led27, HIGH);
- digitalWrite(led28, HIGH);
- digitalWrite(led29, HIGH);
- digitalWrite(led30, HIGH);
- digitalWrite(led31, HIGH);
- digitalWrite(led32, HIGH);
- digitalWrite(led33, HIGH);
- }
- digitalWrite(led22, LOW);
- digitalWrite(led23, LOW);
- digitalWrite(led24, LOW);
- digitalWrite(led25, LOW);
- digitalWrite(led26, LOW);
- digitalWrite(led27, LOW);
- digitalWrite(led28, LOW);
- digitalWrite(led29, LOW);
- digitalWrite(led30, LOW);
- digitalWrite(led31, LOW);
- digitalWrite(led32, LOW);
- digitalWrite(led33, LOW);
- delay(500);
- for(i=0; i < 10; i++) {
- digitalWrite(led22, HIGH);
- delay(50);
- digitalWrite(led22, LOW);
- digitalWrite(led23, HIGH);
- delay(50);
- digitalWrite(led23, LOW);
- digitalWrite(led24, HIGH);
- delay(50);
- digitalWrite(led24, LOW);
- digitalWrite(led25, HIGH);
- delay(50);
- digitalWrite(led25, LOW);
- digitalWrite(led26, HIGH);
- delay(50);
- digitalWrite(led26, LOW);
- digitalWrite(led27, HIGH);
- delay(50);
- digitalWrite(led27, LOW);
- digitalWrite(led28, HIGH);
- delay(50);
- digitalWrite(led28, LOW);
- digitalWrite(led29, HIGH);
- delay(50);
- digitalWrite(led29, LOW);
- digitalWrite(led30, HIGH);
- delay(50);
- digitalWrite(led30, LOW);
- digitalWrite(led31, HIGH);
- delay(50);
- digitalWrite(led31, LOW);
- digitalWrite(led32, HIGH);
- delay(50);
- digitalWrite(led32, LOW);
- digitalWrite(led33, HIGH);
- delay(50);
- digitalWrite(led33, LOW);
- delay(50);
- }
- for(i=0; i < 10; i++) {
- digitalWrite(led28, HIGH);
- delay(50);
- digitalWrite(led28, LOW);
- digitalWrite(led22, HIGH);
- delay(50);
- digitalWrite(led22, LOW);
- digitalWrite(led30, HIGH);
- delay(50);
- digitalWrite(led30, LOW);
- digitalWrite(led24, HIGH);
- delay(50);
- digitalWrite(led24, LOW);
- digitalWrite(led25, HIGH);
- delay(50);
- digitalWrite(led25, LOW);
- digitalWrite(led33, HIGH);
- delay(50);
- digitalWrite(led33, LOW);
- digitalWrite(led26, HIGH);
- delay(50);
- digitalWrite(led26, LOW);
- digitalWrite(led27, HIGH);
- delay(50);
- digitalWrite(led27, LOW);
- digitalWrite(led23, HIGH);
- delay(50);
- digitalWrite(led23, LOW);
- digitalWrite(led29, HIGH);
- delay(50);
- digitalWrite(led29, LOW);
- digitalWrite(led31, HIGH);
- delay(50);
- digitalWrite(led31, LOW);
- digitalWrite(led32, HIGH);
- delay(50);
- digitalWrite(led32, LOW);
- delay(50);
- }
- digitalWrite(led22, HIGH);
- digitalWrite(led23, HIGH);
- digitalWrite(led24, HIGH);
- digitalWrite(led25, HIGH);
- digitalWrite(led26, HIGH);
- digitalWrite(led27, HIGH);
- digitalWrite(led28, HIGH);
- digitalWrite(led29, HIGH);
- digitalWrite(led30, HIGH);
- digitalWrite(led31, HIGH);
- digitalWrite(led32, HIGH);
- digitalWrite(led33, HIGH);
- state="ON"; }
- else if (readString.substring(LED,LED+5)=="LED=1") {
- digitalWrite(led22, LOW);
- digitalWrite(led23, LOW);
- digitalWrite(led24, LOW);
- digitalWrite(led25, LOW);
- digitalWrite(led26, LOW);
- digitalWrite(led27, LOW);
- digitalWrite(led28, LOW);
- digitalWrite(led29, LOW);
- digitalWrite(led30, LOW);
- digitalWrite(led31, LOW);
- digitalWrite(led32, LOW);
- digitalWrite(led33, LOW);
- state="OFF";
- }
- //Cabecera HTTP estándar
- cliente.println("HTTP/1.1 200 OK");
- cliente.println("Content-Type: text/html");
- cliente.println(); //Página Web en HTML
- cliente.println("<html>");
- cliente.println("<head>");
- cliente.println("<title>LED ON/OFF</title>");
- cliente.println("</head>");
- cliente.println("<body width=100% height=100%>");
- cliente.println("<center>");
- cliente.println("<h1>LED ON/OFF</h1>");
- cliente.print("<br><br>");
- cliente.print("Estado del LED: ");
- cliente.print(state);
- cliente.print("<br><br><br><br>");
- cliente.print("Lobby 1");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=K\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=L\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Lobby 2");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=M\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=N\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Javier");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=O\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=P\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Juan Manuel");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=Q\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=R\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Claudia");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=S\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=T\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Sala de Juntas");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=U\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=V\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Almacen");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=W\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=X\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Sanitarios");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=A\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=B\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Cocina");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=C\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=D\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Jorge");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=E\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=F\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Andrea");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=G\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=H\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("Ivan");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=I\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=J\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("TODOS LOS CUARTOS");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=Y\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=Z\'>");
- cliente.print("<br><br><br><br>");
- cliente.print("DANZAR");
- cliente.print("<br><br>");
- cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=0\'>");
- cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=1\'>");
- cliente.println("</center>");
- cliente.println("</body>");
- cliente.println("</html>");
- cliente.stop();
- //Cierro conexión con el cliente
- readString="";
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement