Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <string.h>
- #include <Ethernet.h>
- const int Trig = 8;
- const int Echo = 9;
- const int ledPin = 11;
- const int ledPin2 = 13;
- const int pirPin = 7;
- const int pirPin2 = 6;
- const int lumPin = 12;
- byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0x89, 0x7B };
- byte server[] = {192, 168, 1, 2};
- IPAddress ip(192,168,1,88);
- EthernetClient client;
- int t = 0;
- int t2 = 0;
- int p = 0;
- int u = 0;
- String currentLine = "";
- void setup()
- {
- Serial.begin(9600);
- pinMode(Trig, OUTPUT);
- pinMode(Echo, INPUT);
- pinMode(ledPin, OUTPUT);
- pinMode(ledPin2, OUTPUT);
- pinMode(lumPin, OUTPUT);
- pinMode(pirPin, INPUT);
- pinMode(pirPin2, INPUT);
- Serial.begin(9600);
- Ethernet.begin(mac, ip);
- digitalWrite(ledPin,HIGH);
- digitalWrite(ledPin2,HIGH);
- digitalWrite(lumPin,HIGH);
- // Задержка для инициализации пир-датчика
- Serial.println("Wait(60 sec)...");
- }
- unsigned int time_us=0;
- bool pinState=false;
- bool pinState2=false;
- unsigned int distance_sm=0;
- void loop()
- {
- digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера
- delayMicroseconds(10); // Удерживаем 10 микросекунд
- digitalWrite(Trig, LOW); // Затем убираем
- time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса
- distance_sm=time_us/58; // Пересчитываем в сантиметры
- Serial.print("distance_sm= ");
- Serial.println(distance_sm); // Выводим на порт
- //подключаемся к серверу, запрашиваем pinstatusweb
- Serial.println("connecting to server #2...");
- if (client.connect(server, 80)) {
- Serial.println("GET /send_data_toarduino");
- client.println("GET /send_data_toarduino.php");
- client.println("HOST: 192.168.1.2");
- client.println();
- if (client.connected()) {
- Serial.println("Connected is continuous");
- while (client.available()) {
- char inChar = client.read();
- currentLine += inChar;
- delay(10);
- }
- }
- else Serial.println("Sorry, can not read data");
- }
- client.stop();
- byte ligftSwitch = 0;
- Serial.println(currentLine);
- //выделяем переданные запросы с сервера
- ligftSwitch = (int)currentLine[currentLine.indexOf("T") +1] - 48;
- currentLine = "";
- switch (ligftSwitch){
- case 0:
- {
- digitalWrite(ledPin,0);
- Serial.println("off by web");
- break;
- }
- case 1:{
- //WC________________________WC
- pinState=digitalRead(pirPin);
- pinState2=digitalRead(pirPin2);
- if ((pinState==true))
- {
- t+=5;
- digitalWrite(ledPin, 1);
- Serial.println("on");
- }
- if (distance_sm < 60)
- {
- digitalWrite(ledPin, 1);
- Serial.println("on");
- u = 0;
- }
- else {
- u+=1;
- }
- if (t<=0)
- {
- if (u>3)
- {
- digitalWrite(ledPin, 0);
- Serial.println("off");
- }
- }
- if (t>20)
- {
- t=5;
- }
- if (t <= 0)
- {
- t = 0;
- }
- if (u >4)
- {
- u=0;
- }
- t-=1;
- //WC_end__________________________________WC_end
- // break;
- // }
- //Corridor________________________________Corridor
- if ((pinState2==true))
- {
- t2+=5;
- digitalWrite(ledPin2, 1);
- Serial.println("on_corridor");
- }
- if (t2<=0)
- {
- digitalWrite(ledPin, 0);
- Serial.println("off");
- }
- if (t2>30)
- {
- t2=10;
- }
- if (t2 <= 0)
- {
- t2 = 0;
- }
- t2-=1;
- break;
- }
- //Corridor_end___________________________Corridor_end
- case 2:
- {
- digitalWrite(ledPin, 1);
- Serial.println("on by web");
- break;
- }
- }
- Serial.print("t = ");
- Serial.println(t);
- Serial.print("u = ");
- Serial.println(u);
- delay(1000);
- }
Advertisement
Add Comment
Please, Sign In to add comment