wojaovlad

ardui

Feb 18th, 2015
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.50 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <string.h>
  3. #include <Ethernet.h>
  4.  
  5. const int Trig = 8;
  6. const int Echo = 9;
  7. const int ledPin = 11;
  8. const int ledPin2 = 13;
  9. const int pirPin = 7;
  10. const int pirPin2 = 6;
  11. const int  lumPin = 12;
  12.  
  13. byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0x89, 0x7B };
  14. byte server[] = {192, 168, 1, 2};  
  15. IPAddress ip(192,168,1,88);
  16.  
  17. EthernetClient client;
  18.  
  19. int t = 0;
  20. int t2 = 0;
  21. int p = 0;
  22. int u = 0;
  23.  
  24. String currentLine = "";
  25. void setup()
  26. {
  27. Serial.begin(9600);
  28. pinMode(Trig, OUTPUT);
  29. pinMode(Echo, INPUT);
  30. pinMode(ledPin, OUTPUT);
  31. pinMode(ledPin2, OUTPUT);
  32. pinMode(lumPin, OUTPUT);
  33. pinMode(pirPin, INPUT);
  34. pinMode(pirPin2, INPUT);
  35.  
  36. Serial.begin(9600);
  37.   Ethernet.begin(mac, ip);
  38.  
  39. digitalWrite(ledPin,HIGH);
  40. digitalWrite(ledPin2,HIGH);
  41. digitalWrite(lumPin,HIGH);
  42. // Задержка для инициализации пир-датчика
  43. Serial.println("Wait(60 sec)...");
  44.  
  45.  
  46.  
  47. }
  48.  
  49. unsigned int time_us=0;
  50. bool pinState=false;
  51. bool pinState2=false;
  52. unsigned int distance_sm=0;
  53.  
  54. void loop()
  55.  
  56.  
  57. {
  58. digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера
  59. delayMicroseconds(10); // Удерживаем 10 микросекунд
  60. digitalWrite(Trig, LOW); // Затем убираем
  61. time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса
  62. distance_sm=time_us/58; // Пересчитываем в сантиметры
  63. Serial.print("distance_sm= ");
  64. Serial.println(distance_sm); // Выводим на порт
  65.  
  66. //подключаемся к серверу, запрашиваем pinstatusweb
  67.  
  68. Serial.println("connecting to server #2...");
  69.   if (client.connect(server, 80)) {
  70.     Serial.println("GET /send_data_toarduino");
  71.  
  72.     client.println("GET /send_data_toarduino.php");
  73.     client.println("HOST: 192.168.1.2");
  74.     client.println();
  75.  
  76.     if (client.connected()) {
  77.  
  78.       Serial.println("Connected is continuous");
  79.       while (client.available()) {
  80.  
  81.         char inChar = client.read();
  82.  
  83.         currentLine += inChar;
  84.  
  85.         delay(10);
  86.       }
  87.  
  88.     }
  89.     else Serial.println("Sorry, can not read data");
  90.   }
  91.   client.stop();
  92.   byte ligftSwitch = 0;
  93.   Serial.println(currentLine);
  94.  
  95.   //выделяем переданные запросы с сервера
  96.  
  97.   ligftSwitch = (int)currentLine[currentLine.indexOf("T") +1] - 48;
  98.   currentLine = "";
  99.  switch (ligftSwitch){
  100.   case 0:
  101.     {
  102.       digitalWrite(ledPin,0);
  103.        Serial.println("off by web");
  104.       break;
  105.     }
  106.   case 1:{
  107.     //WC________________________WC
  108. pinState=digitalRead(pirPin);
  109. pinState2=digitalRead(pirPin2);
  110.  
  111. if ((pinState==true))  
  112. {
  113.   t+=5;
  114.   digitalWrite(ledPin, 1);
  115.   Serial.println("on");
  116. }
  117.  
  118. if (distance_sm < 60)
  119. {
  120.   digitalWrite(ledPin, 1);
  121.   Serial.println("on");
  122.   u = 0;
  123. }
  124. else {
  125.   u+=1;
  126. }
  127.  
  128. if (t<=0)
  129. {
  130.   if (u>3)
  131.   {
  132.     digitalWrite(ledPin, 0);
  133.     Serial.println("off");
  134.   }
  135. }
  136.  
  137. if (t>20)
  138. {
  139.   t=5;
  140. }
  141. if (t <= 0)
  142. {
  143.   t = 0;
  144. }
  145. if (u >4)
  146. {
  147. u=0;
  148. }
  149.  
  150. t-=1;
  151. //WC_end__________________________________WC_end
  152.      
  153. //      break;
  154.  // }
  155.   //Corridor________________________________Corridor
  156.  
  157. if ((pinState2==true))  
  158. {
  159.   t2+=5;
  160.   digitalWrite(ledPin2, 1);
  161.   Serial.println("on_corridor");
  162. }
  163. if (t2<=0)
  164. {
  165.     digitalWrite(ledPin, 0);
  166.     Serial.println("off");
  167. }
  168.  
  169. if (t2>30)
  170. {
  171.   t2=10;
  172. }
  173. if (t2 <= 0)
  174. {
  175.   t2 = 0;
  176. }
  177. t2-=1;
  178.        break;
  179.   }
  180.   //Corridor_end___________________________Corridor_end
  181.  
  182.     case 2:
  183.       {
  184.         digitalWrite(ledPin, 1);
  185.          Serial.println("on by web");
  186.         break;
  187.       }
  188.     }
  189. Serial.print("t = ");
  190. Serial.println(t);
  191. Serial.print("u = ");
  192. Serial.println(u);
  193.  
  194. delay(1000);
  195. }
Advertisement
Add Comment
Please, Sign In to add comment