#include "ESP8266.h" // для работы с esp8266 #include // чтобы добавить больше пинов UART #include // чтобы высчитать логарифм #define SSID "Arduino" // имя вашего wi-fi #define PASSWORD "12345678" // пароль вашего wi-fi #define LIGHT_PIN A0 // пин подключения фоторезистора SoftwareSerial mySerial(4, 5); // пины подключения по UART ESP8266 wifi(mySerial); // говорим esp8266, что она будет работать через пины UART int reading = 9; // пин, который считывает значение с кнопки ` boolean currentButton = 0 ; // настоящее значение кнопки boolean but = 0; // прошлое значение кнопки String maker_ID = "kYVzddd-4SGWuUGQzhxtAPwwBbcssddZ8lJfaYss8ffaAnib7mIk4eGX8Z"; // ваш ключ от сайта dweet.io void setup() { Serial.begin(9600); // открываем serial соединение if (wifi.joinAP(SSID, PASSWORD)) { // если мы подключились к нашей сети Serial.println("Press the button"); //пишем в мониторе порта, чтобы нажали на кнопку } else { Serial.println("Wi-Fi connection error"); //в случае, если мы не подключимся к сети, нам выдадут ошибку } } float Light () // функция, которая возвращает значение света в люксах { float r_light = 10.0/(1023.0/analogRead(LIGHT_PIN) - 1.0); float light = 10.0*pow(14.0/r_light, 1.6); return (light); } boolean Button( boolean got ) // функция, которая принимает предыдущее значение нажатия кнопки и отправляет текущие значение { boolean current = digitalRead(reading); if( !got == current) { delay(10); current = digitalRead(reading); } return(current); } void loop() { currentButton = Button(but);// находм состояние кнопки if (currentButton == 1 && but ==0) // если кнопка была нажата и отжата { String value1 = String(Light ());// создаем строковую переменную нашего света sendTwitter (value1);// отправляем ее Serial.println("Data sent"); //пишим. что данные отправлены } but = currentButton; //запоминаем текущее состояние кнопки } void sendTwitter( String value1) { if (wifi.createTCP("maker.ifttt.com", 80)) { // если нам удалось создать TCP соединение String request = "GET /trigger/Message/with/key/" + maker_ID + "?value1=" + value1 + " HTTP/1.1\r\n"; // создаем переменную request в виде строки (заполняем GET-запрос) request += "Host: maker.ifttt.com\r\n\r\n"; // закрываем GET-запрос в строке wifi.send(request.c_str(), request.length()); // отправляем данные в массиве (строка с-стиля) и общее количество байтов wifi.releaseTCP(); // закрываем TCP соеденение } else { Serial.println("create tcp error"); // в случае, если мы не создали TCP соеденение, нам выдадут ошибку } }