Termostat PID z wyjściem PWM

User avatar
klew
Posts: 10024
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

QLQ wrote: Sun Mar 12, 2023 4:35 pm NIe chce mi się to kompilować. Burzył się wcześniej o esp_random.h - bo w Src\supla\storage\key_value.cpp było esp_random. a ja mam ESPRandom.h - poprawiłem / wyedytowałem (ew podeślij proszę Twoje esp_random w *.rar)
Pouzupełniałem biblioteki ale teraz dalej się burzy:

Code: Select all

In file included from C:\Program Files\Arduino\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi\src/WiFi.h:31:0,
                 from C:\Program Files\Arduino\libraries\ESPRandom/ESPRandom.h:9,
                 from C:\Users\RK\Desktop\termostat_esp32\termostat_esp32.ino:47:
C:\Program Files\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h: In member function 'virtual void Supla::ESPWifi::setup()':
C:\Program Files\Arduino\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi\src/WiFiType.h:35:22: error: 'ARDUINO_EVENT_WIFI_STA_GOT_IP' is not a member of 'system_event_id_t'
 #define WiFiEvent_t  system_event_id_t
                      ^
C:\Program Files\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h:85:11: note: in expansion of macro 'WiFiEvent_t'
           WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_GOT_IP);
           ^
C:\Program Files\Arduino\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi\src/WiFiType.h:35:22: error: 'ARDUINO_EVENT_WIFI_STA_DISCONNECTED' is not a member of 'system_event_id_t'
 #define WiFiEvent_t  system_event_id_t
                      ^
C:\Program Files\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h:95:11: note: in expansion of macro 'WiFiEvent_t'
           WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED);
           ^
C:\Users\RK\Desktop\termostat_esp32\termostat_esp32.ino: In function 'void loop()':
termostat_esp32:320:35: error: 'analogWrite' was not declared in this scope
     analogWrite(mosfet_pin, output);           // Write the output to the output pin
                                   ^
Znaleziono wiele bibliotek w "WiFi.h"
Wykorzystane: C:\Program Files\Arduino\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi
Niewykorzystane: C:\Program Files\Arduino\libraries\WiFi
exit status 1
'analogWrite' was not declared in this scope
Pewnie masz stare boardy dla ESP
User avatar
QLQ
Posts: 2352
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Post

klew wrote: Sun Mar 12, 2023 4:55 pm
QLQ wrote: Sun Mar 12, 2023 4:35 pm NIe chce mi się to kompilować. Burzył się wcześniej o esp_random.h - bo w Src\supla\storage\key_value.cpp było esp_random. a ja mam ESPRandom.h - poprawiłem / wyedytowałem (ew podeślij proszę Twoje esp_random w *.rar)
Pouzupełniałem biblioteki ale teraz dalej się burzy:

Code: Select all

In file included from C:\Program Files\Arduino\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi\src/WiFi.h:31:0,
                 from C:\Program Files\Arduino\libraries\ESPRandom/ESPRandom.h:9,
                 from C:\Users\RK\Desktop\termostat_esp32\termostat_esp32.ino:47:
C:\Program Files\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h: In member function 'virtual void Supla::ESPWifi::setup()':
C:\Program Files\Arduino\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi\src/WiFiType.h:35:22: error: 'ARDUINO_EVENT_WIFI_STA_GOT_IP' is not a member of 'system_event_id_t'
 #define WiFiEvent_t  system_event_id_t
                      ^
C:\Program Files\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h:85:11: note: in expansion of macro 'WiFiEvent_t'
           WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_GOT_IP);
           ^
C:\Program Files\Arduino\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi\src/WiFiType.h:35:22: error: 'ARDUINO_EVENT_WIFI_STA_DISCONNECTED' is not a member of 'system_event_id_t'
 #define WiFiEvent_t  system_event_id_t
                      ^
C:\Program Files\Arduino\libraries\SuplaDevice\src/supla/network/esp_wifi.h:95:11: note: in expansion of macro 'WiFiEvent_t'
           WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED);
           ^
C:\Users\RK\Desktop\termostat_esp32\termostat_esp32.ino: In function 'void loop()':
termostat_esp32:320:35: error: 'analogWrite' was not declared in this scope
     analogWrite(mosfet_pin, output);           // Write the output to the output pin
                                   ^
Znaleziono wiele bibliotek w "WiFi.h"
Wykorzystane: C:\Program Files\Arduino\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi
Niewykorzystane: C:\Program Files\Arduino\libraries\WiFi
exit status 1
'analogWrite' was not declared in this scope
Pewnie masz stare boardy dla ESP
faktycznie całkiem o tym zapomniałem - zaraz poaktualizuję
jak coś nie działa to włącz zasilanie.....
User avatar
veeroos
Posts: 598
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów

Post

Robert Błaszczak wrote: Sun Mar 12, 2023 4:50 pm U mnie na ESP32 C3 kompiluje się bez problemu. Oczywiście po doinstalowaniu niezbędnych bibliotek.
Nie robiłem żadnych zmian w Supla Device.

A tak na marginesie, to prośba do wszystkich publikujących swoje programy w Arduino IDE, aby przy definicji bibliotek dodawali w komentarzu dokładną nazwę biblioteki, autora i wersję. Dla przykładu użyta tu termopara MAX6675 ma w AIDE 5 różnych bibliotek. A tak byłoby prościej:

Code: Select all

 #include "max6675.h" //MAX6675 library, Adafruit, 1.1.0
Następnym razem bardziej się postaram, :D . A tak na marginesie cały system u kolegi z forum na FB chodzi w sterowaniu kotłem, podłączone bezposrednio wyjście poprzez przekaźnik SSR, temperaturę podobno dobrze trzyma. Jedynym problemem kodu, który podałem jest to, że jak czujnik wypadnie, poprostu odłączy się, to urządzenie grzeje z pełną mocą. Już poczyniłem aktualizacje softu, żeby po odłączeniu czujnika wyłączał wyjście. Kolejnym problemem było, bo po podłączeniu na nowo czujnika trzeba było restartować moduł, bo przetwornik nie przesyłał temperatury, zrobiłem wymuszony restart obsługi MAX6675 co minutę, w momencie gdy nie jest odczytywana żadna wartość z czujnika, wartość przesyłana z przetwornika "nan", będzie restartował obsługę modułu dopóki nie będzie pokazywał temperatury, później działa już normalnie. Jak znajdę dłuższą chwilę to wrzucę kod który naprawia wspomniany problem.
No niestety to jest duży problem, dlatego panowie jak pracujecie nad oficjalnym kanałem termostatu w Supli, to trzeba będzie uwzględnić ten przypadek. Tutaj ten przetwornik jeszcze wysyła informacje jak czujnika nie ma, niestety ciężko będzie jakby jakiś czujnik podczas uszkodzenia pokazywał 0, wtedy grzanie będzie cały czas działało... To taki malutki, aczkolwiek dosyć ważny temat.
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4

https://github.com/v33r005

Return to “Projekty użytkowników”