Advertisement
Guest User

sketch

a guest
Mar 28th, 2014
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 34.90 KB | None | 0 0
  1. include <string.h>
  2. #include <SPI.h>
  3. #include <Ethernet.h>
  4. #include <IRLib.h>
  5. #include <avr/pgmspace.h>
  6. #include <OneWire.h>
  7.  
  8. #define VDIM(v) (sizeof(v)/sizeof((v[0])))
  9.  
  10.  
  11. int DS18B20_Pin = 7;
  12.  
  13. OneWire ds(DS18B20_Pin);
  14.  
  15. byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
  16. byte ip[] = {192, 168, 1, 3};
  17. byte gateway[] = {192, 168, 1, 1};
  18. byte subnet[] = {255, 255, 255, 0};
  19.  
  20. EthernetServer server(80);
  21.  
  22. String readString;
  23.  
  24. boolean PORTONE = false;
  25. boolean GARAGE = false;
  26. boolean SCALA = false;
  27.  
  28. IRsend My_Sender;
  29. int khz=38; // frequenza
  30.  
  31. //ARIA CALDA
  32. static const uint16_t  C30[] PROGMEM = {4492,4432,596,1600,592,508,592,1608,588,1608,596,504,588,508,596,1604,592,504,596,504,596,1604,592,504,600,500,592,1604,600,1600,596,504,596,1600,596,504,596,504,588,1608,596,1600,596,1604,588,1608,600,1600,592,1604,592,1604,600,1600,592,508,596,500,592,508,596,504,596,504,588,508,596,1604,588,508,596,1604,588,1608,600,1600,592,1604,592,508,592,508,596,500,592,1608,596,500,592,508,596,504,596,504,588,1608,596,1604,592,5268,4520,4424,592,1608,596,504,588,1608,596,1604,592,504,600,500,592,1608,596,500,592,508,592,1604,592,508,596,504,596,1600,596,1604,588,508,596,1604,592,504,596,504,600,1600,592,1604,592,1604,600,1600,596,1600,592,1608,588,1608,596,1604,592,504,596,504,600,500,592,508,592,504,600,500,592,1604,592,508,592,1604,592,1608,596,1600,592,1608,588,508,596,504,596,504,588,1608,596,504,600,500,592,504,596,504,588,1612,592,1604,592,1000}; //AnalysIR Batch Export - RAW
  33. static const uint16_t  C29[] PROGMEM = {4488,4436,592,1604,592,508,592,1604,592,1608,596,504,588,512,592,1604,588,512,592,504,600,1600,592,508,596,500,592,1608,596,1600,596,504,596,1600,596,504,596,504,592,1604,600,1600,592,1604,592,1608,596,1600,596,1604,592,1604,588,1612,596,500,592,508,592,508,596,500,592,508,592,508,596,1600,596,504,596,1604,592,504,596,1604,592,1604,592,508,592,508,596,500,592,1608,596,504,588,1608,600,500,592,508,592,1604,592,1604,600,5264,4516,4432,596,1600,592,508,596,1600,596,1604,588,512,592,504,600,1600,592,508,596,500,592,1608,596,504,588,508,596,1604,588,1608,596,504,592,1604,600,500,592,508,592,1604,592,1608,596,1600,596,1604,592,1604,588,1612,596,1600,592,1608,588,508,592,508,596,504,588,508,596,504,596,504,588,1608,600,500,592,1608,596,500,592,1608,596,1600,596,504,600,500,588,508,596,1604,592,508,592,1604,592,508,596,500,600,1600,596,1600,592,1000}; //AnalysIR Batch Export - RAW
  34. static const uint16_t  C28[] PROGMEM = {4496,4424,592,1608,596,504,592,1604,600,1600,592,504,600,500,592,1608,596,500,592,508,596,1604,588,508,596,504,600,1600,592,1604,592,508,592,1604,592,508,596,504,596,1600,596,1604,592,1604,600,1600,592,1604,592,1604,600,1600,596,1600,596,504,596,504,600,500,592,504,596,504,600,500,592,1604,600,500,592,508,596,504,596,1600,596,1604,588,508,596,504,600,500,592,1604,600,1600,596,1600,592,508,596,504,588,1608,596,1604,592,5268,4520,4428,600,1596,596,504,600,1600,596,1600,592,508,596,504,596,1600,596,504,600,500,592,1604,588,512,592,508,592,1604,592,1604,592,508,592,1608,588,508,596,504,596,1604,592,1604,588,1612,596,1600,592,1608,588,1608,596,1604,592,1604,588,512,592,504,600,500,588,512,592,508,596,500,600,1600,596,504,596,500,592,508,596,1604,592,1604,588,512,592,508,592,504,600,1600,596,1600,592,1608,588,508,592,508,596,1604,592,1604,588,1000}; //AnalysIR Batch Export - RAW
  35. static const uint16_t  C27[] PROGMEM = {4496,4428,588,1608,600,500,592,1604,600,1600,592,508,596,500,592,1608,596,500,592,508,596,1604,588,512,592,504,600,1600,592,1604,592,508,592,1604,592,508,596,504,596,1600,596,1604,588,1608,600,1600,592,1604,592,1608,596,1600,596,1604,588,508,596,504,596,504,592,508,592,508,596,500,592,1608,596,504,588,508,596,1604,588,1608,596,1604,592,504,600,500,592,508,592,1604,592,1608,596,500,592,508,596,504,596,1604,592,1604,592,5268,4520,4428,600,1600,592,508,596,1600,592,1608,588,508,596,504,596,1604,592,504,600,500,592,1608,596,500,592,508,592,1608,588,1608,596,504,588,1608,596,504,592,508,592,1604,592,1608,596,1600,596,1604,588,1608,600,1600,592,1604,592,1608,596,500,592,508,596,504,596,504,588,508,596,504,600,1596,596,504,600,500,592,1608,596,1600,592,1604,592,508,596,504,596,504,588,1608,600,1600,592,504,600,500,592,508,592,1604,592,1608,596,1000}; //AnalysIR Batch Export - RAW
  36. static const uint16_t  C26[] PROGMEM = {4500,4424,592,1608,596,500,592,1608,596,1600,596,504,596,504,592,1604,600,500,592,508,592,1604,592,508,596,504,596,1600,596,1604,592,504,596,1604,592,508,592,508,596,1600,596,1600,592,1608,588,1608,596,1604,592,1604,592,1608,596,1600,592,508,596,504,588,512,592,504,596,504,588,512,592,1604,592,1608,596,504,588,1608,596,1604,592,1604,588,512,592,508,596,500,592,508,592,1608,588,508,592,508,596,504,588,1608,596,1604,592,5268,4524,4424,592,1608,596,504,588,1608,596,1604,592,504,596,504,588,1612,596,500,592,508,592,1608,588,508,596,504,596,1600,596,1604,588,512,592,1604,592,508,592,508,596,1600,596,1604,588,1608,596,1604,592,1604,592,1608,596,1600,596,1604,588,508,596,504,596,504,592,508,592,504,600,500,592,1608,596,1600,596,504,596,1600,596,1604,592,1604,600,500,592,508,596,504,596,500,592,1608,596,504,592,504,596,504,600,1600,592,1604,592,1000}; //AnalysIR Batch Export - RAW
  37. static const uint16_t  C25[] PROGMEM = {4496,4428,588,1608,596,504,588,1612,596,1600,592,508,596,500,592,1608,596,504,592,504,596,1604,592,508,592,504,600,1600,596,1600,592,508,596,1604,588,508,596,504,600,1600,592,1604,592,1608,596,1600,596,1604,588,1608,600,1600,592,1604,592,508,596,504,596,500,592,508,596,504,596,504,592,1604,600,1600,592,504,600,500,592,1608,588,1608,596,504,588,512,592,508,596,500,592,1608,596,1600,592,508,596,504,588,1608,596,1604,592,5268,4520,4428,600,1600,596,504,596,1600,596,1604,592,504,596,504,588,1612,596,500,592,508,592,1608,588,508,592,508,596,1604,592,1604,588,512,592,1604,592,508,592,508,596,1600,596,1604,588,1608,596,1604,592,1608,588,1608,596,1600,596,1604,588,512,592,504,596,504,592,508,592,508,596,500,592,1608,596,1600,596,504,596,504,588,1608,600,1600,592,508,596,500,592,508,596,504,596,1600,596,1604,592,508,592,504,600,1600,592,1604,592,1000}; //AnalysIR Batch Export - RAW
  38. static const uint16_t  C24[] PROGMEM = {4492,4432,596,1600,592,508,596,1600,596,1604,588,512,592,504,600,1600,592,508,596,504,588,1608,596,504,588,508,596,1604,588,1612,596,500,592,1608,596,504,588,508,596,1604,588,1608,596,1604,592,1604,592,1608,596,1604,592,1604,588,1608,600,500,592,508,596,504,596,500,592,508,596,504,596,504,588,1608,600,500,592,508,592,1604,592,1608,596,504,588,508,596,1604,592,508,592,1604,592,1608,596,500,592,508,596,1604,588,1608,596,5268,4512,4436,592,1604,592,508,592,1608,588,1608,596,504,588,512,592,1604,592,508,592,508,596,1600,596,504,596,504,588,1608,596,1604,592,508,596,1600,592,508,596,504,588,1608,596,1604,592,1604,592,1608,596,1600,596,1604,588,1612,596,1600,592,508,596,500,592,508,596,504,596,504,588,508,596,504,596,1604,592,508,596,500,592,1608,596,1600,592,508,596,504,588,1608,596,504,592,1604,600,1600,592,508,596,500,592,1608,596,1604,592,1000}; //AnalysIR Batch Export - RAW
  39. static const uint16_t  C23[] PROGMEM = {4488,4436,592,1604,600,500,592,1604,600,1600,596,504,600,500,592,1604,600,500,592,508,596,1600,592,508,596,504,596,1600,596,1604,592,508,592,1604,592,508,596,504,596,1600,596,1604,592,1604,600,1600,592,1604,592,1608,596,1600,596,1604,592,508,592,504,600,500,592,508,596,504,596,504,588,508,596,1604,592,504,596,1604,592,1608,596,1600,596,504,600,500,592,1604,600,500,592,1604,600,500,592,508,596,504,596,1600,596,1604,592,5268,4520,4432,596,1600,596,504,596,1600,596,1604,592,508,592,508,596,1600,592,508,596,504,588,1608,596,504,592,508,592,1604,592,1608,596,504,588,1608,596,504,588,512,592,1604,592,1608,596,1600,596,1604,588,1608,600,1600,592,1604,592,1608,596,504,588,512,592,504,600,500,592,508,592,504,600,500,592,1608,596,504,588,1608,596,1604,592,1604,592,508,592,508,596,1600,596,504,596,1604,592,504,600,500,592,508,592,1604,592,1608,596,1000}; //AnalysIR Batch Export - RAW
  40. static const uint16_t  C22[] PROGMEM = {4496,4428,588,1612,596,504,588,1608,596,1604,592,504,596,504,600,1600,596,504,596,500,592,1608,600,500,592,508,592,1604,592,1604,600,500,592,1608,600,500,592,504,596,1604,592,1608,596,1600,596,1604,588,1608,600,1600,592,1604,592,1608,596,504,588,508,596,504,596,504,588,512,592,504,600,500,592,1608,596,1600,596,1604,592,1604,600,1600,596,504,596,500,592,1608,596,504,588,512,592,504,600,500,592,508,592,1604,592,1608,596,5264,4516,4436,592,1604,600,500,592,1608,596,1604,592,504,596,504,592,1604,600,500,592,508,592,1608,588,508,596,504,596,1604,592,1604,592,508,592,1604,592,508,596,504,596,1604,592,1604,592,1608,596,1600,592,1608,588,1608,596,1604,592,1604,592,508,592,508,596,504,588,512,592,504,596,504,588,512,592,1604,592,1608,596,1604,592,1604,600,1600,592,504,600,500,592,1608,596,504,592,504,596,504,600,500,592,508,592,1604,592,1608,600,1000}; //AnalysIR Batch Export - RAW
  41. static const uint16_t  C21[] PROGMEM = {4500,4424,592,1608,596,504,588,1608,596,1604,592,504,600,500,592,1608,596,504,588,512,592,1604,588,512,592,504,600,1600,592,1608,588,508,596,1604,588,512,592,508,592,1604,592,1608,588,1608,596,1604,592,1604,600,1600,596,1604,588,1608,600,500,592,508,592,504,600,500,592,508,596,504,596,500,592,1608,600,1600,592,504,600,1600,596,1600,592,508,596,504,596,1604,592,504,600,500,592,1608,596,504,588,508,596,1604,592,1604,600,5264,4516,4436,592,1604,600,500,592,1604,600,1600,596,504,596,500,592,1608,600,500,592,508,592,1604,592,508,596,504,596,1600,596,1604,592,508,592,1604,592,508,592,508,596,1600,596,1604,588,1608,600,1600,592,1604,592,1608,596,1604,592,1604,592,508,592,508,596,504,588,508,596,504,596,504,588,512,592,1604,592,1608,596,504,588,1608,596,1604,592,504,596,504,600,1600,596,504,596,500,592,1608,600,500,592,508,592,1604,592,1608,596,1000}; //AnalysIR Batch Export - RAW
  42. static const uint16_t  C20[] PROGMEM = {4496,4428,600,1600,596,504,596,1600,596,1604,588,508,596,504,600,1600,592,508,596,500,592,1608,596,504,588,508,596,1604,592,1608,596,500,592,1608,596,504,588,512,592,1604,592,1608,596,1600,596,1604,588,1608,596,1604,592,1608,596,1600,596,504,596,504,592,504,596,504,600,500,592,508,596,504,596,500,592,1608,600,500,592,1604,600,1600,596,504,596,500,592,1608,596,1600,596,504,600,1600,592,508,596,500,592,1608,596,1600,596,5268,4524,4424,592,1608,596,504,600,1596,596,1604,592,508,596,504,596,1600,596,504,596,504,592,1604,600,500,592,508,592,1608,588,1608,596,504,592,1604,600,500,592,508,592,1608,588,1608,596,1604,592,1604,592,1608,596,1600,596,1604,588,1608,600,500,592,508,592,508,596,500,592,508,592,508,596,504,588,512,592,1604,600,500,592,1604,600,1600,596,504,600,500,592,1604,600,1600,596,504,596,1600,596,504,596,504,588,1608,600,1600,592,1000}; //AnalysIR Batch Export - RAW
  43. static const uint16_t  C19[] PROGMEM = {4488,4436,588,1608,600,500,592,1608,596,1600,596,504,596,504,588,1608,596,504,592,508,592,1604,592,508,596,504,596,1604,592,1604,588,512,592,1608,588,508,592,508,596,1604,592,1604,600,1600,592,1604,592,1608,596,1600,596,1604,592,1608,596,500,592,508,596,504,596,504,588,508,596,504,600,500,592,508,592,1604,592,1608,596,1600,596,1604,592,508,592,508,596,1600,592,1608,588,508,596,504,596,504,588,512,592,1604,592,1608,596,5264,4524,4428,592,1608,596,500,592,1608,596,1600,596,504,596,504,588,1612,596,500,592,508,592,1608,588,512,592,504,596,1604,592,1604,592,508,592,1608,596,504,592,504,596,1604,592,1604,600,1600,596,1604,588,1608,600,1600,592,1604,592,1608,596,504,588,512,592,504,600,500,592,508,592,508,596,500,592,508,596,1604,588,1608,596,1604,592,1604,592,508,592,508,596,1604,592,1604,592,508,592,508,596,504,588,508,592,1608,600,1596,596,1000}; //AnalysIR Batch Export - RAW
  44. static const uint16_t  C18[] PROGMEM = {4492,4432,596,1604,588,512,592,1604,592,1608,596,504,588,508,596,1604,600,500,592,508,596,1600,592,508,596,504,596,1600,596,1604,592,508,592,1604,592,508,596,504,596,1600,596,1604,592,1604,600,1600,596,1604,588,1608,596,1604,592,1604,592,508,592,508,596,504,588,508,596,504,596,504,592,508,592,504,600,500,592,1608,596,1600,596,1604,588,512,592,508,596,1600,592,1608,588,1608,596,504,600,500,592,508,592,1604,592,1608,596,5264,4520,4432,592,1604,592,508,596,1604,588,1608,596,504,588,512,592,1604,592,508,592,508,596,1604,592,504,596,504,600,1600,592,1604,592,508,596,1604,588,508,596,504,600,1600,592,1604,592,1608,596,1600,596,1604,592,1608,596,1600,596,1604,588,512,592,504,596,504,588,512,592,508,596,500,592,508,592,508,596,504,588,1608,596,1604,592,1604,600,500,592,508,596,1604,592,1604,600,1600,592,508,596,500,592,508,596,1604,588,1608,600,1000}; //AnalysIR Batch Export - RAW
  45. static const uint16_t  C17[] PROGMEM = {4496,4428,592,1608,596,504,588,1608,596,1604,592,508,592,504,588,1612,596,504,588,508,592,1608,600,500,592,504,596,1604,592,1608,596,500,592,1608,596,504,592,504,596,1604,592,1608,596,1600,596,1604,588,1608,600,1600,592,1608,588,1608,596,504,588,512,592,504,600,500,592,508,592,508,596,504,588,508,596,504,596,504,588,1612,592,1604,592,508,596,504,588,1608,596,1604,592,1604,600,1600,596,504,600,500,588,1608,600,1600,592,5268,4524,4428,588,1608,596,504,588,1612,596,1600,592,508,596,504,588,1608,596,504,600,500,592,1608,596,500,592,508,596,1604,592,1604,600,500,592,1608,596,500,592,508,596,1604,588,1608,600,1600,592,1604,592,1608,596,1604,592,1604,592,1608,596,504,588,508,596,504,596,504,588,512,592,508,592,504,592,508,592,508,596,504,588,1608,596,1604,592,508,592,504,600,1600,596,1600,592,1608,600,1600,592,504,600,500,592,1608,596,1600,596,1000}; //AnalysIR Batch Export - RAW
  46.  
  47. //ARIA FREDDA
  48. static const uint16_t  F30[] PROGMEM = {4492,4432,592,1604,592,512,592,1600,592,1608,596,500,592,508,596,1600,592,508,596,504,588,1612,592,504,588,512,592,1604,592,1608,596,500,592,1608,596,504,588,508,592,1608,588,1608,596,1604,592,1604,588,1608,600,1600,592,1604,592,1608,596,500,592,512,592,504,596,504,588,508,596,504,596,1604,592,504,600,1600,592,1604,592,508,592,508,596,500,592,508,592,508,596,1600,596,504,596,504,588,1608,600,1596,596,1604,592,1604,600,5264,4512,4436,592,1604,592,508,592,1604,592,1608,596,500,592,508,592,1604,592,508,596,504,596,1600,596,504,596,504,588,1608,600,1600,592,504,600,1600,592,508,596,500,592,1608,596,1600,596,1604,588,1608,600,1600,592,1604,592,1604,600,1600,596,500,600,500,592,508,596,504,596,504,588,508,596,1604,592,504,596,1604,592,1604,588,512,592,508,592,504,592,508,592,508,596,1600,592,508,596,504,588,1608,596,1604,592,1604,588,1608,596,1000}; //AnalysIR Batch Export - RAW
  49. static const uint16_t  F29[] PROGMEM = {4496,4428,588,1608,596,504,588,1608,600,1600,592,504,600,500,592,1608,596,500,592,508,592,1604,592,508,596,504,596,1600,596,1604,592,504,596,1604,592,508,592,504,600,1600,592,1604,592,1608,596,1600,596,1604,588,1608,596,1600,596,1604,592,508,592,504,600,500,592,508,592,508,596,500,592,1608,596,504,588,1608,596,504,588,508,596,504,596,504,588,512,592,504,596,1604,592,504,600,1600,592,1604,592,1608,596,1600,596,1604,588,5272,4516,4432,596,1600,596,504,596,1600,596,1604,588,512,592,504,596,1604,592,508,596,500,592,1608,596,500,592,508,592,1608,588,1608,596,504,588,1608,596,504,592,508,592,1604,592,1608,596,1600,592,1604,592,1608,596,1604,592,1604,588,1608,600,500,592,508,592,504,600,500,592,508,592,508,596,1600,592,508,596,1600,596,504,596,504,588,508,596,504,596,504,588,512,592,1604,592,508,592,1604,592,1608,596,1600,596,1604,588,1608,596,1000}; //AnalysIR Batch Export - RAW
  50. static const uint16_t  F28[] PROGMEM = {4492,4428,588,1612,596,500,588,1612,596,1600,592,508,596,504,588,1608,596,504,588,512,592,1604,588,512,592,504,596,1604,592,1608,584,512,592,1608,596,500,592,508,596,1604,588,1608,600,1596,596,1604,592,1604,600,1600,592,1604,592,1608,596,500,592,508,596,504,596,504,588,508,596,504,600,1596,596,504,600,500,592,508,592,504,600,500,592,508,592,504,600,500,592,1608,596,1600,596,1604,588,1608,600,1600,592,1604,592,1604,600,5264,4516,4432,592,1604,592,508,592,1604,592,1608,596,500,592,508,596,1604,592,504,596,504,600,1600,592,504,600,500,592,1604,600,1600,596,504,596,1600,596,504,596,500,596,1604,600,1596,596,1604,592,1604,600,1600,596,1600,592,1608,596,1600,596,504,600,500,592,504,596,504,600,500,592,504,596,1604,592,508,592,504,600,500,592,508,596,504,596,500,592,508,596,504,596,1600,596,1604,592,1604,600,1600,592,1604,592,1604,600,1600,596,1000}; //AnalysIR Batch Export - RAW
  51. static const uint16_t  F27[] PROGMEM = {4488,4436,588,1608,600,500,592,1604,600,1600,592,504,600,500,592,1608,596,500,592,508,596,1604,588,508,596,504,596,1600,596,1604,592,508,592,1604,592,508,592,508,596,1600,596,1604,588,1608,596,1600,596,1604,588,1608,596,1604,592,1604,592,508,592,508,596,500,592,508,592,508,596,504,588,1608,596,504,588,512,592,1604,588,512,592,504,596,504,588,512,592,508,592,1604,592,1608,596,500,592,1608,596,1600,596,1604,588,1608,600,5260,4516,4436,592,1604,588,512,592,1604,588,1608,600,500,592,508,592,1604,592,508,592,508,596,1600,592,508,596,504,588,1608,596,1604,592,508,592,1604,592,508,596,500,592,1608,596,1600,592,1608,596,1600,596,1604,592,1604,600,1600,592,1604,592,508,596,500,600,500,592,508,596,504,596,500,592,1608,596,504,592,504,596,1604,592,508,592,504,600,500,592,508,592,504,600,1600,596,1600,592,508,596,1600,592,1608,600,1600,592,1604,592,1000}; //AnalysIR Batch Export - RAW
  52. static const uint16_t  F26[] PROGMEM = {4496,4424,592,1608,596,500,592,1608,596,1600,596,504,596,504,588,1608,596,504,588,512,592,1604,588,512,592,508,596,1600,592,1608,596,500,592,1608,596,504,592,504,596,1604,592,1604,600,1600,592,1604,592,1608,596,1600,592,1608,588,1608,596,504,588,512,592,504,596,504,588,512,592,504,600,1600,592,1604,592,508,592,1604,592,508,592,508,596,504,588,508,592,508,596,504,588,1608,596,504,600,1600,592,1604,592,1608,596,1600,596,5264,4524,4424,592,1608,596,500,592,1608,596,1604,592,504,596,504,588,1608,596,504,588,512,592,1604,588,512,592,508,596,1600,592,1608,596,500,592,1608,596,504,588,508,596,1604,592,1604,600,1600,596,1600,592,1608,596,1600,596,1604,588,1608,596,504,588,512,592,504,596,504,592,508,592,504,600,1600,592,1608,588,508,592,1608,588,508,592,508,596,504,588,508,596,504,596,504,588,1608,596,504,588,1612,592,1604,592,1604,600,1600,596,1000}; //AnalysIR Batch Export - RAW
  53. static const uint16_t  F25[] PROGMEM = {4500,4424,588,1612,592,504,592,1608,596,1600,592,508,596,504,588,1608,596,504,588,512,592,1604,600,500,592,504,596,1604,592,1604,600,500,592,1608,596,500,592,508,596,1604,588,1608,600,1596,596,1604,592,1604,600,1600,596,1600,592,1608,596,504,588,508,596,504,596,504,588,508,596,504,596,1604,592,1604,592,508,592,508,596,500,592,508,592,508,596,504,588,508,596,504,596,1604,592,1604,588,1608,600,1600,592,1608,588,1608,596,5264,4512,4436,592,1608,596,500,592,1608,596,1600,596,504,600,500,592,1604,600,500,592,508,592,1604,592,508,592,508,596,1600,596,1604,588,508,596,1604,588,512,592,504,596,1604,592,1604,592,1608,596,1600,592,1608,588,1608,596,1604,592,1604,600,500,592,508,592,504,600,500,592,508,596,500,600,1600,596,1600,592,508,596,504,596,504,588,508,596,504,600,500,592,508,592,504,600,1600,592,1604,592,1608,596,1600,596,1604,588,1608,596,1000}; //AnalysIR Batch Export - RAW
  54. static const uint16_t  F24[] PROGMEM = {4496,4424,592,1608,596,504,588,1608,596,1600,596,504,596,504,592,1604,600,500,592,508,592,1604,592,508,592,508,596,1600,596,1604,588,512,592,1604,588,512,592,504,596,1604,592,1608,588,1608,596,1600,592,1608,596,1600,596,1604,592,1604,600,500,592,508,592,508,596,500,592,508,596,504,596,500,592,1608,596,504,588,508,596,504,600,500,592,508,592,504,600,1600,592,508,596,1600,592,1604,592,1608,596,1600,596,1604,588,1608,596,5268,4512,4436,592,1604,600,500,592,1604,600,1600,596,504,596,500,592,1608,596,504,592,504,596,1604,592,508,592,504,600,1600,592,1604,592,508,592,1604,592,508,596,504,596,1600,596,1604,588,1608,596,1604,592,1604,592,1608,596,1600,592,1608,588,508,592,508,596,504,588,512,592,508,592,504,600,500,592,1604,600,500,592,508,596,504,596,500,592,508,596,504,596,1600,596,504,596,1604,592,1604,592,1604,600,1600,592,1604,592,1608,596,1000}; //AnalysIR Batch Export - RAW
  55. static const uint16_t  F23[] PROGMEM = {4496,4428,596,1600,596,504,596,1604,592,1604,592,508,596,504,596,1600,592,508,596,504,588,1608,596,504,596,500,592,1608,596,1600,596,504,600,1600,592,504,600,500,592,1608,596,1600,592,1604,592,1608,596,1600,596,1604,588,1608,596,1604,592,508,596,500,592,508,592,508,596,504,588,508,596,504,596,1604,588,508,596,1604,592,504,596,504,600,500,592,508,592,1604,592,508,592,1604,592,508,596,1604,588,1608,596,1604,592,1604,588,5272,4520,4428,596,1604,592,508,592,1604,592,1608,596,500,592,508,596,1604,588,508,596,504,596,1604,592,504,600,500,592,1604,600,1600,592,508,596,1600,592,508,596,504,596,1600,596,1604,592,1604,600,1600,592,1604,592,1608,596,1600,596,1604,588,508,596,504,596,504,588,508,596,504,596,504,588,512,592,1604,592,508,592,1604,592,508,592,508,596,504,588,508,592,1608,588,512,592,1604,588,512,592,1604,600,1600,596,1600,592,1608,596,1000}; //AnalysIR Batch Export - RAW
  56. static const uint16_t  F22[] PROGMEM = {4496,4428,588,1608,596,504,588,1608,600,1600,592,508,596,500,592,1608,596,500,592,508,596,1604,588,508,596,504,596,1604,592,1604,592,508,592,1604,592,508,592,508,596,1600,596,1604,588,1608,596,1604,592,1604,600,1600,592,1604,592,1608,596,504,588,508,596,504,600,500,592,504,596,504,600,500,592,1604,600,1600,592,1604,592,508,596,504,596,504,588,508,596,1604,588,508,596,504,596,504,592,1604,600,1600,592,1604,592,1608,596,5264,4516,4432,592,1608,596,504,588,1608,600,1596,596,504,600,500,592,1604,600,500,592,508,592,1608,588,508,596,504,596,1600,596,1604,588,512,592,1604,588,512,592,508,596,1600,592,1608,588,1608,596,1600,596,1604,588,1608,596,1604,592,1604,600,500,592,508,596,504,596,504,588,508,596,504,596,504,588,1608,600,1600,592,1604,592,508,592,508,596,500,592,508,592,1604,592,508,596,504,596,504,588,1608,596,1604,592,1604,588,1612,596,1000}; //AnalysIR Batch Export - RAW
  57. static const uint16_t  F21[] PROGMEM = {4496,4428,596,1600,596,504,596,1600,596,1604,592,504,596,504,600,1600,592,504,600,500,592,1608,596,500,592,508,596,1604,588,1608,596,504,588,1608,600,500,592,508,592,1604,592,1608,596,1600,592,1608,588,1608,596,1604,592,1604,592,1608,596,500,592,508,592,508,596,504,596,500,592,508,596,504,596,1600,596,1604,592,508,592,504,600,500,592,508,592,508,596,1600,592,508,596,504,588,1608,596,1604,592,1604,592,1604,600,1600,592,5268,4520,4428,600,1600,592,508,596,1600,592,1608,588,508,596,504,596,1600,596,504,596,504,588,1608,600,500,592,508,592,1604,592,1608,596,504,588,1608,596,504,588,512,592,1604,588,1612,592,1604,592,1608,596,1600,596,1600,592,1608,596,1604,592,504,600,500,592,508,592,508,596,500,592,508,596,504,596,1600,596,1604,588,508,596,504,596,504,588,512,592,504,600,1600,592,508,596,500,592,1608,596,1600,592,1608,588,1608,596,1604,592,1000}; //AnalysIR Batch Export - RAW
  58. static const uint16_t  F20[] PROGMEM = {4492,4428,596,1604,592,508,592,1604,592,1608,596,500,592,508,596,1604,588,508,596,504,600,1600,592,504,596,504,592,1608,596,1600,592,508,596,1600,592,508,596,504,588,1608,596,1604,592,1604,600,1600,592,1604,592,1608,596,1600,596,1604,588,508,596,504,600,500,592,508,592,504,600,500,592,508,592,508,596,1600,592,508,596,504,588,508,596,504,596,504,588,1608,596,1604,592,504,596,1604,592,1604,592,1608,596,1600,592,1608,596,5264,4516,4432,596,1604,588,512,592,1604,588,1612,596,500,592,512,588,1608,596,500,592,508,596,1600,592,508,596,504,600,1600,592,1604,592,508,592,1604,592,508,596,504,596,1600,596,1604,588,1608,596,1604,592,1604,592,1608,596,1600,592,1608,588,508,592,508,596,504,588,508,596,504,596,504,588,512,592,504,600,1600,592,508,596,504,588,508,592,508,596,504,588,1608,596,1604,592,504,596,1604,592,1604,600,1600,596,1600,592,1608,596,1000}; //AnalysIR Batch Export - RAW
  59. static const uint16_t  F19[] PROGMEM = {4488,4432,592,1608,588,508,596,1604,588,1608,596,504,600,500,592,1604,600,500,592,508,596,1600,592,508,596,504,596,1600,596,1604,592,508,592,1604,592,508,592,508,596,1600,592,1604,592,1608,596,1604,592,1604,588,1608,600,1600,592,1604,600,500,592,508,596,504,596,500,596,504,596,504,600,500,592,504,596,1604,592,1604,600,500,592,508,592,508,596,500,592,1608,596,1600,596,504,596,504,588,1608,596,1604,592,1604,592,1608,596,5264,4524,4424,592,1608,596,504,588,1608,596,1600,596,504,596,504,588,1608,596,504,600,500,592,1604,600,500,592,508,596,1604,588,1608,596,504,588,1608,600,500,592,508,592,1604,592,1608,596,1600,596,1604,588,1608,596,1604,592,1604,600,1600,592,504,600,500,592,508,596,504,596,500,592,508,596,504,596,504,588,1608,596,1604,592,504,600,500,592,508,592,504,600,1600,592,1604,592,508,592,508,596,1600,596,1604,588,1612,592,1604,592,1000}; //AnalysIR Batch Export - RAW
  60. static const uint16_t  F18[] PROGMEM = {4492,4428,600,1600,596,504,596,1600,596,1604,588,508,596,504,596,1604,592,504,600,500,592,1608,596,500,592,508,592,1608,588,1608,596,504,600,1596,596,504,600,500,592,1604,600,1600,596,1604,588,1608,596,1600,596,1604,588,1608,596,1604,592,508,596,500,592,508,592,508,596,504,592,504,592,508,596,504,588,508,596,1604,600,500,592,504,596,504,600,500,592,1604,600,1600,596,1604,588,508,596,1604,588,1608,596,1604,592,1604,592,5268,4520,4432,592,1604,592,508,592,1604,592,1608,596,504,588,508,596,1604,592,508,592,504,596,1604,592,508,596,500,592,1608,596,1600,592,508,596,1604,592,504,596,504,600,1600,592,1604,592,1608,596,1600,596,1604,588,1608,596,1600,596,1604,588,512,592,508,596,500,592,508,592,508,596,500,592,508,592,508,596,504,596,1600,596,504,600,500,592,504,596,504,600,1600,592,1604,592,1608,596,500,592,1608,596,1600,596,1604,588,1608,596,1000}; //AnalysIR Batch Export - RAW
  61. static const uint16_t  F17[] PROGMEM = {4492,4432,592,1604,592,508,592,1604,592,1608,596,504,588,512,592,1604,588,512,592,504,596,1604,592,508,596,500,592,1608,596,1600,592,508,596,1600,596,504,596,504,600,1596,596,1604,592,1604,600,1600,596,1600,592,1608,596,1600,596,1604,592,508,592,508,596,500,592,508,592,508,596,500,592,508,592,512,592,504,588,508,596,504,596,504,588,512,592,504,596,1604,592,1604,592,1608,596,1604,588,1608,600,1596,596,1604,592,1604,600,5264,4512,4436,592,1604,592,508,592,1608,596,1600,596,504,600,500,588,1608,600,500,592,508,592,1604,592,508,592,508,596,1600,596,1604,588,508,596,1604,588,512,592,504,600,1600,592,1604,592,1608,596,1600,596,1604,588,1608,596,1604,592,1604,600,500,592,508,596,500,600,500,592,508,596,504,596,500,592,508,596,504,596,504,592,508,592,504,600,500,592,508,592,1604,592,1608,596,1600,592,1608,588,1608,596,1604,592,1604,600,1600,596,1000}; //AnalysIR Batch Export - RAW
  62.  
  63. //OFF
  64. static const uint16_t OFF[] PROGMEM = {4492,4432,592,1608,588,508,596,1604,588,1608,596,504,588,512,592,1604,600,500,592,508,596,1600,592,508,596,504,596,1600,596,1604,588,512,592,1604,592,508,592,1604,592,1608,596,1600,596,1604,588,508,596,1604,588,1608,596,1604,592,508,592,508,596,500,592,508,596,1600,592,508,596,504,596,1600,596,1604,592,1604,600,500,592,508,592,508,596,500,592,508,592,508,596,504,588,508,596,1604,588,1608,596,1604,592,1608,596,1600,596,5264,4524,4424,592,1608,596,504,588,1608,596,1604,592,504,596,504,600,1600,592,508,596,500,592,1608,596,500,592,508,596,1604,588,1608,596,504,588,1608,600,500,592,1608,596,1600,592,1608,588,1608,596,504,588,1608,596,1604,592,1608,596,500,592,508,596,504,596,500,592,1608,596,504,588,508,596,1604,592,1604,600,1600,592,508,596,500,592,508,592,508,596,504,588,508,596,504,596,504,588,1608,596,1604,592,1604,592,1608,596,1600,592,1000}; //AnalysIR Batch Export - RAW
  65.  
  66. static const uint16_t *IR[] PROGMEM = {C30, C29, C28, C27, C26, C25, C24, C23, C22, C21, C20, C19, C18, C17, F30, F29, F28, F27, F26, F25, F24, F23, F22, F21, F20, F19, F18, F17, OFF};
  67.  
  68. //Ritorna la temperatura attuale
  69. float getTemp(){
  70.  
  71.   byte data[12];
  72.   byte addr[8];
  73.  
  74.   if ( !ds.search(addr)) {
  75.       //no more sensors on chain, reset search
  76.       ds.reset_search();
  77.       return -1000;
  78.   }
  79.  
  80.   if ( OneWire::crc8( addr, 7) != addr[7]) {
  81.       Serial.println("CRC is not valid!");
  82.       return -1000;
  83.   }
  84.  
  85.   if ( addr[0] != 0x10 && addr[0] != 0x28) {
  86.       Serial.print("Device is not recognized");
  87.       return -1000;
  88.   }
  89.  
  90.   ds.reset();
  91.   ds.select(addr);
  92.   ds.write(0x44,1); // start conversion, with parasite power on at the end
  93.  
  94.   byte present = ds.reset();
  95.   ds.select(addr);    
  96.   ds.write(0xBE); // Read Scratchpad
  97.  
  98.   for (int i = 0; i < 9; i++) { // we need 9 bytes
  99.     data[i] = ds.read();
  100.   }
  101.  
  102.   ds.reset_search();
  103.  
  104.   byte MSB = data[1];
  105.   byte LSB = data[0];
  106.  
  107.   float tempRead = ((MSB << 8) | LSB); //using two's compliment
  108.   float TemperatureSum = tempRead / 16;
  109.  
  110.   return TemperatureSum;
  111. }
  112.  
  113.  
  114.  
  115. //INVIO IR AL CONDIZIONATORE
  116. void ReadFlash(const uint16_t *x , byte len){
  117.  
  118.   unsigned int buffer[256];
  119.  
  120.   for (byte i=0; i < len; i++) {
  121.     buffer[i] = pgm_read_word( x+i );
  122.   }
  123.   My_Sender.IRsendRaw::send(buffer, len, khz);
  124. }
  125.  
  126. void setup(){
  127.  
  128.   Ethernet.begin(mac, ip, gateway, subnet);
  129.  
  130.   pinMode(5, OUTPUT);
  131.   pinMode(6, OUTPUT);
  132.   pinMode(7, OUTPUT);    
  133.  
  134.   Serial.begin(9600);
  135.   digitalWrite(5, HIGH);
  136.   digitalWrite(6, HIGH);
  137.   digitalWrite(7, HIGH);
  138. }
  139.  
  140. void loop(){
  141.   EthernetClient client = server.available();
  142.  
  143.   if (client) {
  144.     boolean currentLineIsBlank = true;
  145.  
  146.     while (client.connected()) {
  147.       if (client.available()) {  
  148.         char c = client.read();
  149.         readString.concat(c);  
  150.         if (c == '\n' && currentLineIsBlank) {
  151.           Serial.print(readString);
  152.  
  153.         // TEMPERATURA ATTUALE
  154.           float temperature = getTemp();
  155.  
  156.           Serial.print("Temperatura:   ");
  157.           Serial.print(temperature);
  158.  
  159.           delay(1000);
  160.        
  161.           //PORTONE CASA
  162.           if(readString.indexOf("L=1") > 0) {
  163.             digitalWrite(5, LOW);
  164.             delay(500);
  165.             digitalWrite(5, HIGH);
  166.             PORTONE = true;      
  167.           }
  168.  
  169.           // GARAGE
  170.           if(readString.indexOf("L=2") > 0) {
  171.             digitalWrite(6, LOW);
  172.             delay(500);
  173.             digitalWrite(6, HIGH);
  174.             GARAGE = true;      
  175.           }
  176.          
  177.           //LUCE SCALA
  178.           if(readString.indexOf("L=3") > 0) {
  179.             digitalWrite(7, LOW);
  180.             delay(500);
  181.             digitalWrite(7, HIGH);
  182.             SCALA = true;      
  183.           }
  184.          
  185.           // CONDIZIONATORE -- ARIA CALDA --
  186.           if (readString.indexOf("C=30") > 0 )
  187.             ReadFlash(C30,VDIM(C30));          
  188.            
  189.           if(readString.indexOf("C=29") > 0)
  190.             ReadFlash(C29,VDIM(C29));          
  191.  
  192.           if(readString.indexOf("C=28") > 0)
  193.             ReadFlash(C28,VDIM(C28));          
  194.          
  195.           if(readString.indexOf("C=27") > 0)
  196.             ReadFlash(C27,VDIM(C27));          
  197.            
  198.           if(readString.indexOf("C=26") > 0)
  199.             ReadFlash(C26,VDIM(C26));          
  200.            
  201.           if(readString.indexOf("C=25") > 0)
  202.             ReadFlash(C25,VDIM(C25));          
  203.            
  204.           if(readString.indexOf("C=24") > 0)
  205.             ReadFlash(C24,VDIM(C24));          
  206.            
  207.           if(readString.indexOf("C=23") > 0)
  208.             ReadFlash(C23,VDIM(C23));          
  209.            
  210.           if(readString.indexOf("C=22") > 0)
  211.             ReadFlash(C22,VDIM(C22));          
  212.            
  213.           if(readString.indexOf("C=21") > 0)
  214.             ReadFlash(C21,VDIM(C21));          
  215.            
  216.           if(readString.indexOf("C=20") > 0)
  217.             ReadFlash(C20,VDIM(C20));          
  218.            
  219.           if(readString.indexOf("C=19") > 0)
  220.             ReadFlash(C19,VDIM(C19));          
  221.            
  222.           if(readString.indexOf("C=18") > 0)
  223.             ReadFlash(C18,VDIM(C18));          
  224.            
  225.           if(readString.indexOf("C=17") > 0)
  226.             ReadFlash(C17,VDIM(C17));          
  227.          
  228.          
  229.           // CONDIZIONATORE -- ARIA FREDDA --
  230.           if(readString.indexOf("F=30") > 0)
  231.             ReadFlash(F30,VDIM(F30));          
  232.            
  233.           if(readString.indexOf("F=29") > 0)
  234.             ReadFlash(F29,VDIM(F29));          
  235.  
  236.           if(readString.indexOf("F=28") > 0)
  237.             ReadFlash(F28,VDIM(F28));          
  238.  
  239.           if(readString.indexOf("F=27") > 0)
  240.             ReadFlash(F27,VDIM(F27));          
  241.  
  242.           if(readString.indexOf("F=26") > 0)
  243.             ReadFlash(F26,VDIM(F26));          
  244.  
  245.           if(readString.indexOf("F=25") > 0)
  246.             ReadFlash(F25,VDIM(F25));          
  247.  
  248.           if(readString.indexOf("F=24") > 0)
  249.             ReadFlash(F24,VDIM(F24));          
  250.  
  251.           if(readString.indexOf("F=23") > 0)
  252.             ReadFlash(F23,VDIM(F23));          
  253.  
  254.           if(readString.indexOf("F=22") > 0)
  255.             ReadFlash(F22,VDIM(F22));          
  256.  
  257.           if(readString.indexOf("F=21") > 0)
  258.             ReadFlash(F21,VDIM(F21));          
  259.  
  260.           if(readString.indexOf("F=20") > 0)
  261.             ReadFlash(F20,VDIM(F20));          
  262.  
  263.           if(readString.indexOf("F=19") > 0)
  264.             ReadFlash(F19,VDIM(F19));          
  265.  
  266.           if(readString.indexOf("F=18") > 0)
  267.             ReadFlash(F18,VDIM(F18));          
  268.  
  269.           if(readString.indexOf("F=17") > 0)
  270.             ReadFlash(F17,VDIM(F17));          
  271.  
  272.  
  273.           // CONDIZIONATORE -- OFF --
  274.           if (readString.indexOf("OFF") > 0 )
  275.             ReadFlash(OFF,VDIM(OFF));  
  276.  
  277.           // INIZIO DICHIARAZIONE PAGINA HTML
  278.           client.println(F("HTTP/1.1 200 OK"));
  279.           client.println(F("Content-Type: text/html"));
  280.           client.println();
  281.           client.print(F("<html><head><title>ARDUINO Controllo via WEB</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' ></head><body>"));
  282.  
  283.           //PORTONE CASA
  284.           client.println(F("<hr />"));
  285.           client.println(F("<h1>Portone Casa</h1>"));
  286.           client.println(F("<br />"));
  287.           //STAMPA STATO OPERAZIONE
  288.           client.print(F("<span>ESEGUITO: </span>"));
  289.  
  290.           if (PORTONE) {
  291.             client.println(F("<span style='color:green'>SI</span>"));
  292.           }else{
  293.             client.println(F("<span style='color:grey'>NO</span>"));
  294.           }
  295.           client.print(F("<h2><a href='/?C=30'>APRI</a>"));
  296.           client.println(F("<hr />"));
  297.          
  298.          
  299.           //GARAGE
  300.           client.println(F("<hr />"));
  301.           client.println(F("<h1>Garage</h1>"));
  302.           client.println(F("<br />"));
  303.           //STAMPA STATO OPERAZIONE
  304.           client.print(F("<span>ESEGUITO: </span>"));
  305.  
  306.           if (GARAGE) {
  307.             client.println(F("<span style='color:green'>SI</span>"));
  308.           }else{
  309.             client.println(F("<span style='color:grey'>NO</span>"));
  310.           }
  311.           client.print(F("<h2><a href='/?L=2'>APRI</a>"));
  312.           client.println(F("<hr />"));  
  313.          
  314.           //LUCE SCALA
  315.           client.println(F("<hr />"));
  316.           client.println(F("<h1>Luce Scala</h1>"));
  317.           client.println(F("<br />"));
  318.           //STAMPA STATO OPERAZIONE
  319.           client.print(F("<span>ESEGUITO: </span>"));
  320.  
  321.           if (SCALA) {
  322.             client.println(F("<span style='color:green'>SI</span>"));
  323.           }else{
  324.             client.println(F("<span style='color:grey'>NO</span>"));
  325.           }
  326.           client.print(F("<h2><a href='/?L=3'>ACCENDI</a>"));
  327.           client.println(F("<hr />"));
  328.          
  329.           client.println(F("</body></html>"));
  330.  
  331.           readString="";
  332.           client.stop();
  333.         }
  334.       }      
  335.     }
  336.   }
  337. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement