Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#define BLYNK_DEBUG
- // ok działa transmisja z Blynk i dioda na 7 porty 11,9 18b20 na A5
- #include "Arduino.h"
- #define BLYNK_PRINT Serial // Comment this out to disable prints and save space
- #include <ESP8266_HardSer.h>
- #include <BlynkSimpleShieldEsp8266_HardSer.h>
- #include <Adafruit_SleepyDog.h>
- #include <OneWire.h>
- #include <DS18B20.h>
- WidgetLED led1(V1); // vLED wskażnik połącznia z arduino - miga co 1 sek jeśli jest połączenie
- WidgetLED led5(V5); //wskaznik pilota 1
- WidgetLED led6(V6);//wskaznik pilota 2
- #define EspSerial Serial // Set ESP8266 Serial object
- ESP8266 wifi(EspSerial);
- char auth[] = "ooooooooooooooooooooooooooooooooooooooo";
- const byte ONEWIRE_PIN = A5; // 1-Wire bus Arduino pin
- byte sensorAddress[8] = {0x28, 0xFF, 0xAE, 0x1B, 0x5, 0x16, 0x3, 0xE4};
- const int ledPinA4 = 7; //dioda sygnalizacyjna połączenia z BLYNK serwerwm połączona jest też z z vprzyciskiem bezpośrednim dla celów testowych
- const int button1Pin = 8; //we przycisku
- OneWire onewire(ONEWIRE_PIN); // 1-Wire object
- DS18B20 sensors(&onewire); // DS18B20 sensors object
- float temperature = 0;
- float temperature1 = 0;
- int temp1 = 0;
- int ledStateA4 = HIGH;
- int tbutton1 = 0;
- int V3_down = 0;
- int ppilot = 0;
- int ppilotold = 0;
- int vPin20 = 0; // z vMENU
- int onoff = 0;
- int klaw1stan = 0;
- int wskrunAr = 0; //vLED miga co sek
- int timer1 = 0; // co 1 sek
- int treset = 0; //czas analizy połaczenia z BLYNK
- int sekunda = 0; //zmienna pomocnicza do pompy
- void setup()
- {
- pinMode(ledPinA4, OUTPUT); // dioda sygnalizacyjna czy uruchomiło się połączenie z serwerem BLYNK - nie świeci gdy NIE ma połaczenia
- digitalWrite(ledPinA4, LOW);
- sensors.begin(); // DS18B20 sensors setup
- sensors.request(sensorAddress); // Requests sensor for measurement
- Serial.begin(115200); // Set console baud rate
- delay(10);
- EspSerial.begin(115200); // Set ESP8266 baud rate
- delay(10);
- Blynk.begin(auth, wifi, "123","a1b2c3d4");
- while (Blynk.connect() == false) {} // Wait until Blynk is connected
- pinMode(button1Pin, INPUT_PULLUP); // Blynk.virtualWrite(V5, 0); przycisk na porcie 8 połączony z vLED na V5
- treset = millis() / 1000; // pętla 1 sek - do sprawdzania pocedury BLYNK Conected
- } // koniec pęli setup
- bool isFirstConnect = true;
- // This function will run every time Blynk connection is established
- BLYNK_CONNECTED() {
- ledStateA4 = LOW;
- digitalWrite(ledPinA4, HIGH); //zgaszenie LED gdy jest połaczenie z BLYNK server
- if (isFirstConnect) {
- Blynk.syncAll(); //ważna procedura - po starcie arduino synchronizuje wszystkiw wirtualne piny ze zmiennymi programu
- isFirstConnect = false;
- }
- }
- BLYNK_WRITE(V10) //vprzycisk załączenia pompy
- {
- // pompaonoff = param.asInt();
- }
- BLYNK_WRITE(V3) //vprzycisk do pilotów on/off
- {
- // BLYNK_LOG("V3=%s", param.asStr());
- ppilot = param.asInt();
- }
- BLYNK_WRITE(V20) //wybór pilota - menu rozwijane
- {
- vPin20 = param.asInt();
- }
- BLYNK_READ(V11) //temperatura
- {
- String str = String(temperature, 1) + " ℃";
- Blynk.virtualWrite(V11, str);
- }
- void loop()
- {
- Blynk.run();
- int i = millis() / 1000; //co 2 sekundy coś możemy robić
- if ((i - treset) > 1) { // co 2 sek sprawdzenie czy jest połączenie z BLYNK
- treset = millis() / 1000;
- bool r = Blynk.connected();
- if (r == 1) { //jeśli jest połączenie to zgaś LED
- digitalWrite(ledPinA4, HIGH);
- }
- else {
- digitalWrite(ledPinA4, LOW); // jeśli nie ma to zapal LED
- Watchdog.enable(2000); // za dwie sek restar procesora
- }
- } // koniec procedury testowania połączenia BLYNK
- if (ppilot == ppilotold) {} //sprawdzanie zmiany stanu przycisku vPIN pilot (V3)
- else {
- V3_down = 1; //jest zmiana stanu klawisza vPin3
- ppilotold = ppilot;
- }
- if ((V3_down == 1)) {
- onoff = ppilot; //zapisanie stanu klawisza do wysłania kodu on/off
- if (onoff == 1) {
- led6.on(); //wysłanie potwierdzenia na vLED o on/off komendzie pilota
- }
- else {
- led6.off();
- }
- V3_down = 0;
- }
- int j = millis() / 1000; //co 2 sekundy sprawdzanie przycisku na porcie 8
- if ((j - timer1) > 1) {
- klaw1stan = digitalRead(button1Pin);
- if (klaw1stan == 0){
- // led5.on(); //zapalenie vLED gdy przycisk wciśniety
- }
- else {
- // led5.off();
- }
- wskrunAr = !wskrunAr ;
- if (wskrunAr == 0){
- led1.off(); //miganie vLED dla kontroli połączenia z UNO
- }
- else {
- led1.on();
- }
- timer1 = j;
- if (sensors.available())
- {
- temperature = sensors.readTemperature(sensorAddress); // Reads the temperature from sensor
- temperature1 = (temperature*10);
- temp1 = temperature1;
- temperature1 = temp1;
- temperature = (temperature1/10);
- //Serial.print(temperature);
- //Serial.println((" 'C"));
- sensors.request(sensorAddress);
- }
- } //koniec petli 1 sek
- } //koniec loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement