Advertisement
Guest User

Código Arduino - Maqueta UM

a guest
Feb 11th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.26 KB | None | 0 0
  1. #include <SPI.h> //Aqui incluimos la libreria SPI
  2. #include <Ethernet.h> //Aqui incluimos la libreria Ethernet
  3. byte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; //Declaracion de la direccion MAC
  4. IPAddress ip(192,168,10,199); //Declaracion de la IP
  5. EthernetServer servidor(80); //Declaracion del puerto 80
  6.  
  7. int led22 = 22;
  8. int led23 = 23;
  9. int led24 = 24;
  10. int led25 = 25;
  11. int led26 = 26;
  12. int led27 = 27;
  13. int led28 = 28;
  14. int led29 = 29;
  15. int led30 = 30;
  16. int led31 = 31;
  17. int led32 = 32;
  18. int led33 = 33;
  19.  
  20. int i = 0;
  21.  
  22. String readString=String(30); //lee los caracteres de una secuencia en una cadena.
  23. //Los strings se representan como arrays de caracteres (tipo char)
  24. String state=String(3);
  25.  
  26.  
  27. void setup() {
  28. Ethernet.begin(mac, ip); //Inicializamos con las direcciones asignadas
  29. servidor.begin(); //inicia el servidor
  30.  
  31. pinMode(led22, OUTPUT);
  32. pinMode(led23, OUTPUT);
  33. pinMode(led24, OUTPUT);
  34. pinMode(led25, OUTPUT);
  35. pinMode(led26, OUTPUT);
  36. pinMode(led27, OUTPUT);
  37. pinMode(led28, OUTPUT);
  38. pinMode(led29, OUTPUT);
  39. pinMode(led30, OUTPUT);
  40. pinMode(led31, OUTPUT);
  41. pinMode(led32, OUTPUT);
  42. pinMode(led33, OUTPUT);
  43.  
  44. digitalWrite(led22, LOW);
  45. digitalWrite(led23, LOW);
  46. digitalWrite(led24, LOW);
  47. digitalWrite(led25, LOW);
  48. digitalWrite(led26, LOW);
  49. digitalWrite(led27, LOW);
  50. digitalWrite(led28, LOW);
  51. digitalWrite(led29, LOW);
  52. digitalWrite(led30, LOW);
  53. digitalWrite(led31, LOW);
  54. digitalWrite(led32, LOW);
  55. digitalWrite(led33, LOW);
  56. state="OFF";
  57. }
  58.  
  59.  
  60. void loop() {
  61. //EthernetClient Crea un cliente que se puede conectar a
  62. //una dirección específica de Internet IP
  63. EthernetClient cliente= servidor.available();
  64. if(cliente) {
  65. boolean lineaenblanco=true;
  66. while(cliente.connected()) {
  67. if(cliente.available()) {
  68. char c=cliente.read();
  69. if(readString.length()<30) {
  70. readString.concat(c);
  71. //Cliente conectado
  72. //Leemos petición HTTP caracter a caracter
  73. //Almacenar los caracteres en la variable readString
  74. }
  75. if(c=='\n' && lineaenblanco) //Si la petición HTTP ha finalizado
  76. {
  77. int LED = readString.indexOf("LED=");
  78. if(readString.substring(LED,LED+5)=="LED=A") {
  79. digitalWrite(led22,HIGH);
  80. state="ON"; }
  81. else if (readString.substring(LED,LED+5)=="LED=B") {
  82. digitalWrite(led22,LOW);
  83. state="OFF";
  84. }
  85.  
  86. if(readString.substring(LED,LED+5)=="LED=C") {
  87. digitalWrite(led23,HIGH);
  88. state="ON"; }
  89. else if (readString.substring(LED,LED+5)=="LED=D") {
  90. digitalWrite(led23,LOW);
  91. state="OFF";
  92. }
  93.  
  94. if(readString.substring(LED,LED+5)=="LED=E") {
  95. digitalWrite(led24,HIGH);
  96. state="ON"; }
  97. else if (readString.substring(LED,LED+5)=="LED=F") {
  98. digitalWrite(led24,LOW);
  99. state="OFF";
  100. }
  101.  
  102. if(readString.substring(LED,LED+5)=="LED=G") {
  103. digitalWrite(led25,HIGH);
  104. state="ON"; }
  105. else if (readString.substring(LED,LED+5)=="LED=H") {
  106. digitalWrite(led25,LOW);
  107. state="OFF";
  108. }
  109.  
  110. if(readString.substring(LED,LED+5)=="LED=I") {
  111. digitalWrite(led26,HIGH);
  112. state="ON"; }
  113. else if (readString.substring(LED,LED+5)=="LED=J") {
  114. digitalWrite(led26,LOW);
  115. state="OFF";
  116. }
  117.  
  118. if(readString.substring(LED,LED+5)=="LED=K") {
  119. digitalWrite(led27,HIGH);
  120. state="ON"; }
  121. else if (readString.substring(LED,LED+5)=="LED=L") {
  122. digitalWrite(led27,LOW);
  123. state="OFF";
  124. }
  125.  
  126. if(readString.substring(LED,LED+5)=="LED=M") {
  127. digitalWrite(led28,HIGH);
  128. state="ON"; }
  129. else if (readString.substring(LED,LED+5)=="LED=N") {
  130. digitalWrite(led28,LOW);
  131. state="OFF";
  132. }
  133.  
  134. if(readString.substring(LED,LED+5)=="LED=O") {
  135. digitalWrite(led29,HIGH);
  136. state="ON"; }
  137. else if (readString.substring(LED,LED+5)=="LED=P") {
  138. digitalWrite(led29,LOW);
  139. state="OFF";
  140. }
  141.  
  142. if(readString.substring(LED,LED+5)=="LED=Q") {
  143. digitalWrite(led30,HIGH);
  144. state="ON"; }
  145. else if (readString.substring(LED,LED+5)=="LED=R") {
  146. digitalWrite(led30,LOW);
  147. state="OFF";
  148. }
  149.  
  150. if(readString.substring(LED,LED+5)=="LED=S") {
  151. digitalWrite(led31,HIGH);
  152. state="ON"; }
  153. else if (readString.substring(LED,LED+5)=="LED=T") {
  154. digitalWrite(led31,LOW);
  155. state="OFF";
  156. }
  157.  
  158. if(readString.substring(LED,LED+5)=="LED=U") {
  159. digitalWrite(led32,HIGH);
  160. state="ON"; }
  161. else if (readString.substring(LED,LED+5)=="LED=V") {
  162. digitalWrite(led32,LOW);
  163. state="OFF";
  164. }
  165.  
  166. if(readString.substring(LED,LED+5)=="LED=W") {
  167. digitalWrite(led33,HIGH);
  168. state="ON"; }
  169. else if (readString.substring(LED,LED+5)=="LED=X") {
  170. digitalWrite(led33,LOW);
  171. state="OFF";
  172. }
  173.  
  174. if(readString.substring(LED,LED+5)=="LED=Y") {
  175. digitalWrite(led22, HIGH);
  176. digitalWrite(led23, HIGH);
  177. digitalWrite(led24, HIGH);
  178. digitalWrite(led25, HIGH);
  179. digitalWrite(led26, HIGH);
  180. digitalWrite(led27, HIGH);
  181. digitalWrite(led28, HIGH);
  182. digitalWrite(led29, HIGH);
  183. digitalWrite(led30, HIGH);
  184. digitalWrite(led31, HIGH);
  185. digitalWrite(led32, HIGH);
  186. digitalWrite(led33, HIGH);
  187. state="ON"; }
  188. else if (readString.substring(LED,LED+5)=="LED=Z") {
  189. digitalWrite(led22, LOW);
  190. digitalWrite(led23, LOW);
  191. digitalWrite(led24, LOW);
  192. digitalWrite(led25, LOW);
  193. digitalWrite(led26, LOW);
  194. digitalWrite(led27, LOW);
  195. digitalWrite(led28, LOW);
  196. digitalWrite(led29, LOW);
  197. digitalWrite(led30, LOW);
  198. digitalWrite(led31, LOW);
  199. digitalWrite(led32, LOW);
  200. digitalWrite(led33, LOW);
  201. state="OFF";
  202. }
  203.  
  204. if(readString.substring(LED,LED+5)=="LED=0") {
  205. for(i=0; i < 10; i++) {
  206. digitalWrite(led22, HIGH);
  207. digitalWrite(led23, HIGH);
  208. digitalWrite(led24, HIGH);
  209. digitalWrite(led25, HIGH);
  210. digitalWrite(led26, HIGH);
  211. digitalWrite(led27, HIGH);
  212. digitalWrite(led28, HIGH);
  213. digitalWrite(led29, HIGH);
  214. digitalWrite(led30, HIGH);
  215. digitalWrite(led31, HIGH);
  216. digitalWrite(led32, HIGH);
  217. digitalWrite(led33, HIGH);
  218. delay(200);
  219. digitalWrite(led22, LOW);
  220. digitalWrite(led23, LOW);
  221. digitalWrite(led24, LOW);
  222. digitalWrite(led25, LOW);
  223. digitalWrite(led26, LOW);
  224. digitalWrite(led27, LOW);
  225. digitalWrite(led28, LOW);
  226. digitalWrite(led29, LOW);
  227. digitalWrite(led30, LOW);
  228. digitalWrite(led31, LOW);
  229. digitalWrite(led32, LOW);
  230. digitalWrite(led33, LOW);
  231. delay(200);
  232. digitalWrite(led22, HIGH);
  233. digitalWrite(led23, HIGH);
  234. digitalWrite(led24, HIGH);
  235. digitalWrite(led25, HIGH);
  236. digitalWrite(led26, HIGH);
  237. digitalWrite(led27, HIGH);
  238. digitalWrite(led28, HIGH);
  239. digitalWrite(led29, HIGH);
  240. digitalWrite(led30, HIGH);
  241. digitalWrite(led31, HIGH);
  242. digitalWrite(led32, HIGH);
  243. digitalWrite(led33, HIGH);
  244. }
  245. digitalWrite(led22, LOW);
  246. digitalWrite(led23, LOW);
  247. digitalWrite(led24, LOW);
  248. digitalWrite(led25, LOW);
  249. digitalWrite(led26, LOW);
  250. digitalWrite(led27, LOW);
  251. digitalWrite(led28, LOW);
  252. digitalWrite(led29, LOW);
  253. digitalWrite(led30, LOW);
  254. digitalWrite(led31, LOW);
  255. digitalWrite(led32, LOW);
  256. digitalWrite(led33, LOW);
  257. delay(500);
  258.  
  259. for(i=0; i < 10; i++) {
  260. digitalWrite(led22, HIGH);
  261. delay(50);
  262. digitalWrite(led22, LOW);
  263.  
  264. digitalWrite(led23, HIGH);
  265. delay(50);
  266. digitalWrite(led23, LOW);
  267.  
  268. digitalWrite(led24, HIGH);
  269. delay(50);
  270. digitalWrite(led24, LOW);
  271.  
  272. digitalWrite(led25, HIGH);
  273. delay(50);
  274. digitalWrite(led25, LOW);
  275.  
  276. digitalWrite(led26, HIGH);
  277. delay(50);
  278. digitalWrite(led26, LOW);
  279.  
  280. digitalWrite(led27, HIGH);
  281. delay(50);
  282. digitalWrite(led27, LOW);
  283.  
  284. digitalWrite(led28, HIGH);
  285. delay(50);
  286. digitalWrite(led28, LOW);
  287.  
  288. digitalWrite(led29, HIGH);
  289. delay(50);
  290. digitalWrite(led29, LOW);
  291.  
  292. digitalWrite(led30, HIGH);
  293. delay(50);
  294. digitalWrite(led30, LOW);
  295.  
  296. digitalWrite(led31, HIGH);
  297. delay(50);
  298. digitalWrite(led31, LOW);
  299.  
  300. digitalWrite(led32, HIGH);
  301. delay(50);
  302. digitalWrite(led32, LOW);
  303.  
  304. digitalWrite(led33, HIGH);
  305. delay(50);
  306. digitalWrite(led33, LOW);
  307. delay(50);
  308. }
  309.  
  310. for(i=0; i < 10; i++) {
  311. digitalWrite(led28, HIGH);
  312. delay(50);
  313. digitalWrite(led28, LOW);
  314.  
  315. digitalWrite(led22, HIGH);
  316. delay(50);
  317. digitalWrite(led22, LOW);
  318.  
  319. digitalWrite(led30, HIGH);
  320. delay(50);
  321. digitalWrite(led30, LOW);
  322.  
  323. digitalWrite(led24, HIGH);
  324. delay(50);
  325. digitalWrite(led24, LOW);
  326.  
  327. digitalWrite(led25, HIGH);
  328. delay(50);
  329. digitalWrite(led25, LOW);
  330.  
  331. digitalWrite(led33, HIGH);
  332. delay(50);
  333. digitalWrite(led33, LOW);
  334.  
  335. digitalWrite(led26, HIGH);
  336. delay(50);
  337. digitalWrite(led26, LOW);
  338.  
  339. digitalWrite(led27, HIGH);
  340. delay(50);
  341. digitalWrite(led27, LOW);
  342.  
  343. digitalWrite(led23, HIGH);
  344. delay(50);
  345. digitalWrite(led23, LOW);
  346.  
  347. digitalWrite(led29, HIGH);
  348. delay(50);
  349. digitalWrite(led29, LOW);
  350.  
  351. digitalWrite(led31, HIGH);
  352. delay(50);
  353. digitalWrite(led31, LOW);
  354.  
  355. digitalWrite(led32, HIGH);
  356. delay(50);
  357. digitalWrite(led32, LOW);
  358. delay(50);
  359. }
  360.  
  361. digitalWrite(led22, HIGH);
  362. digitalWrite(led23, HIGH);
  363. digitalWrite(led24, HIGH);
  364. digitalWrite(led25, HIGH);
  365. digitalWrite(led26, HIGH);
  366. digitalWrite(led27, HIGH);
  367. digitalWrite(led28, HIGH);
  368. digitalWrite(led29, HIGH);
  369. digitalWrite(led30, HIGH);
  370. digitalWrite(led31, HIGH);
  371. digitalWrite(led32, HIGH);
  372. digitalWrite(led33, HIGH);
  373.  
  374. state="ON"; }
  375. else if (readString.substring(LED,LED+5)=="LED=1") {
  376. digitalWrite(led22, LOW);
  377. digitalWrite(led23, LOW);
  378. digitalWrite(led24, LOW);
  379. digitalWrite(led25, LOW);
  380. digitalWrite(led26, LOW);
  381. digitalWrite(led27, LOW);
  382. digitalWrite(led28, LOW);
  383. digitalWrite(led29, LOW);
  384. digitalWrite(led30, LOW);
  385. digitalWrite(led31, LOW);
  386. digitalWrite(led32, LOW);
  387. digitalWrite(led33, LOW);
  388. state="OFF";
  389. }
  390.  
  391. //Cabecera HTTP estándar
  392. cliente.println("HTTP/1.1 200 OK");
  393. cliente.println("Content-Type: text/html");
  394. cliente.println(); //Página Web en HTML
  395. cliente.println("<html>");
  396. cliente.println("<head>");
  397. cliente.println("<title>LED ON/OFF</title>");
  398. cliente.println("</head>");
  399. cliente.println("<body width=100% height=100%>");
  400. cliente.println("<center>");
  401. cliente.println("<h1>LED ON/OFF</h1>");
  402. cliente.print("<br><br>");
  403. cliente.print("Estado del LED: ");
  404. cliente.print(state);
  405. cliente.print("<br><br><br><br>");
  406. cliente.print("Lobby 1");
  407. cliente.print("<br><br>");
  408. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=K\'>");
  409. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=L\'>");
  410. cliente.print("<br><br><br><br>");
  411. cliente.print("Lobby 2");
  412. cliente.print("<br><br>");
  413. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=M\'>");
  414. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=N\'>");
  415. cliente.print("<br><br><br><br>");
  416.  
  417. cliente.print("Javier");
  418. cliente.print("<br><br>");
  419. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=O\'>");
  420. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=P\'>");
  421. cliente.print("<br><br><br><br>");
  422.  
  423. cliente.print("Juan Manuel");
  424. cliente.print("<br><br>");
  425. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=Q\'>");
  426. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=R\'>");
  427. cliente.print("<br><br><br><br>");
  428.  
  429. cliente.print("Claudia");
  430. cliente.print("<br><br>");
  431. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=S\'>");
  432. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=T\'>");
  433. cliente.print("<br><br><br><br>");
  434.  
  435. cliente.print("Sala de Juntas");
  436. cliente.print("<br><br>");
  437. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=U\'>");
  438. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=V\'>");
  439. cliente.print("<br><br><br><br>");
  440.  
  441. cliente.print("Almacen");
  442. cliente.print("<br><br>");
  443. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=W\'>");
  444. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=X\'>");
  445. cliente.print("<br><br><br><br>");
  446.  
  447. cliente.print("Sanitarios");
  448. cliente.print("<br><br>");
  449. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=A\'>");
  450. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=B\'>");
  451. cliente.print("<br><br><br><br>");
  452.  
  453. cliente.print("Cocina");
  454. cliente.print("<br><br>");
  455. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=C\'>");
  456. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=D\'>");
  457. cliente.print("<br><br><br><br>");
  458.  
  459. cliente.print("Jorge");
  460. cliente.print("<br><br>");
  461. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=E\'>");
  462. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=F\'>");
  463. cliente.print("<br><br><br><br>");
  464.  
  465. cliente.print("Andrea");
  466. cliente.print("<br><br>");
  467. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=G\'>");
  468. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=H\'>");
  469. cliente.print("<br><br><br><br>");
  470.  
  471. cliente.print("Ivan");
  472. cliente.print("<br><br>");
  473. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=I\'>");
  474. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=J\'>");
  475. cliente.print("<br><br><br><br>");
  476.  
  477. cliente.print("TODOS LOS CUARTOS");
  478. cliente.print("<br><br>");
  479. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=Y\'>");
  480. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=Z\'>");
  481. cliente.print("<br><br><br><br>");
  482. cliente.print("DANZAR");
  483. cliente.print("<br><br>");
  484. cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=0\'>");
  485. cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=1\'>");
  486. cliente.println("</center>");
  487. cliente.println("</body>");
  488. cliente.println("</html>");
  489. cliente.stop();
  490. //Cierro conexión con el cliente
  491. readString="";
  492. }
  493. }
  494. }
  495. }
  496. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement