Sterownik Arduino + Blynk według robert4you - kontynuacja

Teoria, praktyka, sprzęt, kolumna
zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2020-08-19, 19:01

andras pisze:
2020-08-19, 16:10
jak sprawdzić czy się łączy z serwerm ?
char auth[] = "lC5BDxtnOO8sVM25xxxxxxxxxxxx";
char ssid[] = "SUxxx";
char pass[] = "olenxxx";
Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,186), 8442);

te wszystkie dane są indywidualne...
dla każdego inne...
auth[] to kopiujesz z utworzonego projektu blynka w smartfonie
char ssid[] i char pass[] to nazwa i hasło twojej sieci Wifi
IPAddress(192,168,1,186) a to jest adres IP twojego serwera (lokalnego) który utworzyłeś

Informacja czy jest połączenie jest u góry ekranu telefonu w otwartym i uruchomionym projekcie...

andras
30%
30%
Posty: 48
Rejestracja: 2012-07-16, 20:17

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: andras » 2020-08-19, 22:47

Dzięki za info, poszło miałem ustawiony zły port :)

piotr1310
20%
20%
Posty: 24
Rejestracja: 2017-10-13, 09:08

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: piotr1310 » 2020-12-05, 07:43

Hejka,mam małe pytanko jak wygenerować kod QR Blynka ze smartfona bo chce mieć kopię na wszelki wypadek.


marian929
30%
30%
Posty: 37
Rejestracja: 2018-12-27, 21:09

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: marian929 » 2020-12-09, 14:16

Siemka, pomoże ktoś w dopisaniu wyświetlania temperatury na lcd 4x20 i2c ? mam esp32 walczę z tym już któryś dzień i jedyne co mam to dwa rzędy aktywnych pixeli
Mam adresy czujników, ale jakoś nie mogę ich dopisać. w blynku wazystko działa
z góry dzięki za pomoc

Kod: Zaznacz cały

/*****adresy czujnikow DS18B20*******
DeviceAddress ZBIORNIKx = { 0x28, 0xFF, 0x08, 0x65, 0x51, 0x19, 0x01, 0xB7  };//ZBIORNIK
DeviceAddress BUFORx = { 0x28, 0xFF, 0x41, 0x65, 0x51, 0x19, 0x01, 0xAD  }; //BUFOR
DeviceAddress POLKAx = { 0x28, 0xFF, 0xA9, 0x43, 0x51, 0x19, 0x01, 0x30  };//10 PÓŁKA
DeviceAddress OLMx = { 0x28, 0xFF, 0x37, 0x71, 0x51, 0x19, 0x01, 0x6A  };//OLM
DeviceAddress GLOWICAx = { 0x28, 0xFF, 0x51, 0xA8, 0x81, 0x15, 0x01, 0x21 };//GŁOWICA
DeviceAddress WODAx = { 0x28, 0xFF, 0xF5, 0x53, 0xA7, 0x15, 0x01, 0xAD };//WODA
korzystam z tego kodu od Roberta

Kod: Zaznacz cały

/*
   ZAPISY DO BLYNK
V1 led1 OK
V2 zapamiętaj temperaturę dnia
V3 temperatura dnia
V4 grzałka 2
V5 grzałka 3

V11 led2 EZ
V12 led3 AWARIA
V13 led4 KONIEC

V20 SSR_time

V25 EZ_time

V30 praca

V50 zbiornik
V51 bufor
V52 10p
V53 OLM
V54 UFO
V55 woda




*/



 TaskHandle_t Task1;
//#define BLYNK_PRINT Serial
#include <DallasTemperature.h>
#include <OneWire.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <WiFi.h>


#define EZPin 12 // EZ
#define RelayPin 14 // grzałka 1
#define RelayPin2 4 // grzałka 2
#define RelayPin3 25 // grzałka 3

#define ONE_WIRE_BUS 5 // temperatura
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);


int SSR_time=0;
int EZ_time=0;
int EZ_time2=0;
unsigned long windowStartTime=0;
unsigned long windowStartTime1=0;


char auth[] =zzzO";
char ssid[] = "zzz";
char pass[] = "zzzb";


WidgetLED led1(V1);//ok
WidgetLED led2(V11);// EZ
WidgetLED led3(V12);//awaria
WidgetLED led4(V13);//koniec

BlynkTimer timer;

float temp_zbiornik = 0;
float temp_bufor = 0;
float temp_10p = 0;
float temp_OLM = 0;
float temp_UFO = 0;
float temp_woda = 0;
float temp_dnia = 80;

int grzalka_2=0;
int grzalka_3=0;


int koniec=0;
int awaria=0;
int praca=0;
int x=0;
int skok=0; // skok na 10p
int EZ=0; // stan EZ
int EZstop;
int a=0;
int b=0;
int c=0;

//**************************************************
BLYNK_WRITE(V20) 
{
 SSR_time = param.asInt();
}
//***************************************************
BLYNK_WRITE(V25) 
{
 EZ_time = param.asInt();
}
//**************************************************
BLYNK_WRITE(V30) 
{
 praca = param.asInt();
}
//*******************************************************
BLYNK_WRITE(V2) 
{
 c = param.asInt();
 if (c==1){Blynk.setProperty(2,"color","#66ff33");Blynk.setProperty(2,"offLabel",temp_10p);temp_dnia=(temp_10p+0.125);}
}
//*******************************************************

BLYNK_WRITE(V4) 
{
 grzalka_2 = param.asInt();
}
//*******************************************************

BLYNK_WRITE(V5) 
{
 grzalka_3 = param.asInt();
}
//*******************************************************




void blinkLedWidget() //co 1 sek
{
     
    sensors.requestTemperatures();
    
    temp_zbiornik = sensors.getTempCByIndex(0);
    temp_bufor = sensors.getTempCByIndex(1);
    temp_10p = sensors.getTempCByIndex(2);
    temp_OLM = sensors.getTempCByIndex(3);
    temp_UFO = sensors.getTempCByIndex(4);
    temp_woda = sensors.getTempCByIndex(5); 

    
   
    Blynk.virtualWrite(50,temp_zbiornik);
    Blynk.virtualWrite(51,temp_bufor);
    Blynk.virtualWrite(52,temp_10p);
    Blynk.virtualWrite(53,temp_OLM);
    Blynk.virtualWrite(54,temp_UFO);
    Blynk.virtualWrite(55,temp_woda);

    Blynk.virtualWrite(26,SSR_time);
    Blynk.virtualWrite(11,EZ);
    Blynk.virtualWrite(30,praca);
    if(praca==0){Blynk.setProperty(30,"color","#D3435C");}
    if(praca==1){Blynk.setProperty(30,"color","#66ff33");}

//*******************Słabe chłodzenie****************************



if(temp_UFO>=60)
  {
  praca=0;
  led3.on();
  if(a<3)
   {
   Blynk.notify("AWARIA!UFO za gorące!!!STOP!");
   a++;
   }
  }
 

if(temp_woda>=60)
  {
  praca=0;
  led3.on();
  if(b<3)
   {
   Blynk.notify("AWARIA!Woda za gorąca!!! STOP!");
   b++;
   }
  }

 if(temp_UFO<58&&temp_woda<60&&awaria==0){led3.off();}
 if(temp_UFO<58){a=0;}
 if(temp_woda<58){b=0;}
//******************Błąd temperatury**************************************
    if
    (
    (temp_zbiornik<=0)||(temp_zbiornik>=110)
    ||(temp_bufor<=0)||(temp_bufor>=110)
    ||(temp_10p<=0)||(temp_10p>=110)
    ||(temp_OLM<=0)||(temp_OLM>=110)
    ||(temp_UFO<=0)||(temp_UFO>=110)
    ||(temp_woda<=0)||(temp_woda>=110)
    )
    {
     awaria=1;
     praca=0;
    }
    if(awaria==1&&x==0)
    {
     led3.on();
     Blynk.notify("AWARIA!  Błąd pomiaru temperatury!!!");
     x=1;
    }
   

   //****KONIEC PROCESU**************************************************************
   if((temp_zbiornik>=98)&&(temp_bufor>=96)&&(praca==1)&&(koniec==0))
    {
     koniec=1;
     praca=0;
     digitalWrite(RelayPin, LOW);Blynk.virtualWrite(10,0);led4.on();
     Blynk.notify("KONIEC! Temperatura bufora osiągnięta!!!"); 
    }

  if (led1.getValue())
  {
    led1.off();
    //Serial.println("LED on V1: off");
  } 
  else 
  {
    led1.on();
    //Serial.println("LED on V1: on");
  }
}


void setup()
{

  
  xTaskCreatePinnedToCore(Task1code,"Task1",10000,NULL,0,&Task1,0);

  Blynk.begin(auth, ssid, pass);
 
 
   pinMode(RelayPin, OUTPUT);
   pinMode(RelayPin2, OUTPUT);
   pinMode(RelayPin3, OUTPUT);
   pinMode(EZPin, OUTPUT);
   digitalWrite(RelayPin, LOW);
   digitalWrite(RelayPin2, LOW);
   digitalWrite(RelayPin3, LOW);  
   digitalWrite(EZPin, LOW);

  sensors.setResolution(12);
  sensors.begin();
 //sensors.setWaitForConversion(false);
  
  timer.setInterval(1000L, blinkLedWidget);
 
  windowStartTime = millis();
  windowStartTime1 = millis();

  led1.off();
  led2.off();
  led3.off();
  led4.off();
  Blynk.virtualWrite(30,0);
  Blynk.setProperty(30,"color","#D3435C");
  Blynk.virtualWrite(20,0);
  Blynk.virtualWrite(25,0);
  Blynk.virtualWrite(4,0);
  Blynk.virtualWrite(5,0);
  Blynk.setProperty(2,"offLabel","USTAW ALARM");
  
 
}

void loop()
{

  Blynk.run();
  timer.run();

 //**************skok na 10 półce*******************
  if(temp_10p>temp_dnia&&EZ_time>0&&EZstop==0){digitalWrite(EZPin, LOW); EZstop=1; Blynk.notify("10p skok temperatury!  Odbiór STOP!");}
  if(temp_10p<=(temp_dnia-0.1)&&EZstop==1){EZstop=0; EZ_time -=5;Blynk.notify("KOREKTA 5% ODBIÓR START!");Blynk.virtualWrite(25,EZ_time);}

  
 //*************sterowanie grzałek dodatkowych
  
   if(grzalka_2==1&&praca==1&&koniec==0&&awaria==0){digitalWrite(RelayPin2,HIGH);}
   else {digitalWrite(RelayPin2,LOW);}

   if(grzalka_3==1&&praca==1&&koniec==0&&awaria==0){digitalWrite(RelayPin3,HIGH);}
   else {digitalWrite(RelayPin3,LOW);}

}


void Task1code( void * pvParameters )
{
 // polecenia wykonywane jak w funkcji setup()
   pinMode(RelayPin, OUTPUT);
   pinMode(EZPin, OUTPUT);
   digitalWrite(RelayPin, LOW);  
   digitalWrite(EZPin, LOW);

   windowStartTime = millis();
   windowStartTime1 = millis();

  
  for(;;) 
    {
      // polecenia wykonywane jak w funkcji loop()
       //*****PWM*********************************


  if ((millis() - windowStartTime) >1000)
  { 
    windowStartTime += 1000;
  }
  
  if ((SSR_time*10) < (millis() - windowStartTime))
  {
    digitalWrite(RelayPin, LOW);
  }
  else 
  {
    if (koniec==0 && awaria==0 && praca==1)
    {
    digitalWrite(RelayPin, HIGH);
    }
  }

  //***************EZ**********************************


 if ((millis() - windowStartTime1) >5000)
  { 
    windowStartTime1 += 5000;
  }
  
  if ((EZ_time*50) < (millis() - windowStartTime1))
  {
    digitalWrite(EZPin, LOW);EZ=0;
  }
  else 
  {
   if (koniec==0 && awaria==0 && praca==1 && EZstop==0)
   {
    digitalWrite(EZPin, HIGH);EZ=255;
   }
  }
    }
}

Wysłane z mojego SM-G950F przy użyciu Tapatalka

zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-01-24, 21:57

marian929 pisze:
2020-12-09, 14:16
Siemka, pomoże ktoś w dopisaniu wyświetlania temperatury na lcd 4x20 i2c ?
tak na szybko wycięte z całości

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);

#define TEMPERATURE_PRECISION12 12
#define TEMPERATURE_PRECISION9 9
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress WODAx = { 0x28, 0xA9, 0x37, 0x16, 0xA8, 0x01, 0x3C, 0x3A };
DeviceAddress ZBIORNIKx = { 0x28, 0x65, 0x13, 0x16, 0xA8, 0x01, 0x3C, 0x3F };
DeviceAddress GLOWICAx = { 0x28, 0x65, 0x13, 0x16, 0xA8, 0x01, 0x3C, 0x3F };
DeviceAddress POLKAx = { 0x28, 0xE5, 0x6A, 0x16, 0xA8, 0x01, 0x3C, 0x4B };

float ZBIORNIK=0.000; //temperatura zbiornika
float POLKA=0.000; // temperatura 10p
float GLOWICA=0.000; // temp GLOWICA
float WODA=0.000; // temp wody chłodzącej

void setup{
lcd.begin();
lcd.backlight();
sensors.setResolution(WODAx, TEMPERATURE_PRECISION9);
sensors.setResolution(ZBIORNIKx, TEMPERATURE_PRECISION12);
sensors.setResolution(POLKAx, TEMPERATURE_PRECISION12);
sensors.setResolution(GLOWICAx, TEMPERATURE_PRECISION12);

}
void loop(){
POLKA = sensors.getTempC(POLKAx);
GLOWICA = sensors.getTempC(GLOWICAx);
ZBIORNIK = sensors.getTempC(ZBIORNIKx);
WODA = sensors.getTempC(WODAx);

lcd.setCursor(0, 0);
lcd.print("10p");
lcd.print(POLKA);
lcd.setCursor(9, 0);
lcd.print("TD");
lcd.print(TD);
lcd.setCursor(17, 0);
lcd.print(y);
lcd.print(" ");

}

andras
30%
30%
Posty: 48
Rejestracja: 2012-07-16, 20:17

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: andras » 2021-01-25, 18:31

zosjan pisałeś że posiadasz pełny automat na esp32, czy mógłbyś udostępnić?

marian929
30%
30%
Posty: 37
Rejestracja: 2018-12-27, 21:09

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: marian929 » 2021-01-25, 20:23

racja zojsan jak twój full automat ;D ?

Wysłane z mojego SM-G950F przy użyciu Tapatalka


zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-02-02, 18:05

Proszę bardzo...
https://drive.google.com/drive/folders/ ... sp=sharing
tylko nie obiecuję że wszystko wyjaśnię...

marian929
30%
30%
Posty: 37
Rejestracja: 2018-12-27, 21:09

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: marian929 » 2021-02-02, 19:45

Ile bateryjek potrzebuje twój projekt? mam 17tyś i pisze że za mało.

Wysłane z mojego SM-G950F przy użyciu Tapatalka

zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-02-02, 19:51

Szczerze mówiąc to nie wiem...
Jest jakaś opcja żeby to sprawdzić?
Mogę też zoptymalizować bo dużo gadżetów dołożyłem dla samych informacji...

marian929
30%
30%
Posty: 37
Rejestracja: 2018-12-27, 21:09

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: marian929 » 2021-02-02, 19:59

Też nie mam pojęcia jak to sprawdzić, kiedyś próbowałem zrobić serwer żeby nie kupować bateryjek ale jakoś mi to nie pykło i kupiłem.
Chyba że masz pod ręką jakis link jak postawić serwer blynk?

Wysłane z mojego SM-G950F przy użyciu Tapatalka


zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-02-02, 22:30

Serwera używam cały czas ale do projektów w budowie.
Zobacz to:
http://blynk-pl.blogspot.com/2019/03/bl ... moche.html

zojsan
50%
50%
Posty: 136
Rejestracja: 2019-12-14, 09:06

Re: Sterownik Arduino + Blynk według robert4you - kontynuacja

Post autor: zojsan » 2021-02-05, 15:27

Znalazłem ten z którego ja instalowałem...
https://blynk.pl/blynk-za-free-a-nawet-za-darmoche/

ODPOWIEDZ

Kto jest online

Użytkownicy przeglądający to forum: pepe11 i 102 gości