Skocz do zawartości

Danielos01

Użytkownicy
  • Zawartość

    76
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Danielos01

  • Ranga
    4/10

Informacje

  • Płeć
    Mężczyzna

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Dzięki wielkie @ethanak i @atMegaTona za pomoc. Wstawiłem przerwę po autodetekcji jak pisałeś @ethanak. Czy mógłbyś jeszcze poswięcić mi jedną odpowiedź na wytłumaczenie dwóch rzeczy: 1) pisałeś że można w dht.setup wywołać typ czujnika - jak to zrobić, w sensie co wpisać dla czujnika DHT11, DHT22 w dht.setup(2,???); 2) skąd wiesz że trzeba odczekać minimum 1 sekundę po autodetekcji Jeżeli nie będzie to problem to byłbym wdzięczny za pomoc.
  2. Nie bardzo rozumiem o co Ci tutaj chodzi. Wstawiłem do kodu dht_zew.getStatusString(), i po włączeniu zasilania przez około 10 sekund status jest TIMEOUT, po czym status zmienia się w OK . Zrobiłem to dla DHT22 (zdjecia) oraz dla DHT11 i tutaj przy statusie OK wyświetla prawidłowe wartości.
  3. Dzięki za zainteresowanie tematem. Daje sobie uciąć rękę że czujnik DHT22 jest sprawny - posiadam dwa takie czujniki, oba sprawne. Odczyt dokonuje co 10 sekund a docelowo będzie jeszcze większy odstęp czasu. Czujniki podłączone do Arduino i wgrany z biblioteki program do testu - czujniki działaj. Wypinamy z Arduino i wpinam w płytkę i nie dzialaj. Nie ma możliwości że są uszkodzone, przejścia na płytce są, zmierzyłem rezystancję między pinem uC a data czujnika i wynosi 0.8 oma. Kod uważam za dobry, bo: 1) jak podłącze DHT11 to działa bez zarzutu - używam biblioteki której autorem jest Mark Ruys; 2)po wgraniu do Arduino(na płytke arduino) i podłączeniu czujnika DHT22 w serial monitorze wyświetla prawidłowe wartości. //Stacja pogodowa(temperatura + wilgotnosc) //Ustawienia wyświetlacza #include <LiquidCrystal.h> const int rs = 8, en =0, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //Utworzenie znaku stopni (wyswietlacz) byte stopnie[8]={ 0b11100, 0b10100, 0b11100, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 }; //Ustawienia czujnikow DHT #include "DHT.h" #define DHT11_WEW 9 //czujnik wewnetrzny DHT11 (pin9) #define DHT22_ZEW 10 //czujnik zewnetrzny DHT22(pin 10) DHT dht_wew; DHT dht_zew; //Przycisk i zmienne #define przycisk1 1 //przycisk do podswietlania wyswietlacza #define przycisk2 2 //przycisk do zmiany menu wyswietlacza, przycisk do obslugi przerwan #define LED 3 //dioda podswietlenia wyswietlacza #define foto A5 //fotorezystor do automatycznego sterowania podswietleniem int podswietlenie; int wybor=0; //zmienna do sterownia wyswietlaczem //zmienne przetrzymujace max i min temperature na zewnatrz float max_temp; float min_temp; //zmienne przetrzymujace max i min wilgotnosci na zewnatrz int max_wilg; int min_wilg; //zmienne przetrzymujace wartosc wilgotnosci i temperature wewnatrz budynku int wilgotnosc_wew; int temperatura_wew; //zmienne przetrzymujace wartosc wilgotnosci i temperature na zewnatrz int wilgotnosc_zew; float temperatura_zew; void setup() { pinMode(LED,OUTPUT); analogWrite(LED,podswietlenie); lcd.begin(16, 2); lcd.createChar(0,stopnie); dht_wew.setup(DHT11_WEW); dht_zew.setup(DHT22_ZEW); attachInterrupt(digitalPinToInterrupt(przycisk2), menu, LOW); // Przerwanie(reagujące na stan niski) } //sluzace do przelaczania wyswietlanego teksu na wyswietlaczu void menu() //funkcja do przelaczania menu wyswietlacza { if(wybor<3) wybor++; else wybor=0; } void wyswietlacz() //wybor informacji na wyswietlaczu { switch(wybor) { case 0: stan1(); break; case 1: stan2(); break; case 2: stan3(); break; } } void stan1() //funkcja menu glownego, wyswietlanie aktualnych danych { lcd.clear(); lcd.print("WEW: "); lcd.print(wilgotnosc_wew); lcd.print("% "); lcd.print(temperatura_wew); lcd.print((char)0);lcd.print("C"); lcd.setCursor(0,1); lcd.print("ZEW: ");lcd.print(wilgotnosc_zew); lcd.print("% "); lcd.print(temperatura_zew); lcd.print((char)0); lcd.print("C"); } void stan2() //funkcja wyswietlanie max i min temperatury zewnetrznej { lcd.clear(); lcd.print("max temp: "); lcd.print(max_temp); lcd.print((char)0);lcd.print("C"); lcd.setCursor(0,1); lcd.print("min temp: "); lcd.print(min_temp); lcd.print((char)0);lcd.print("C"); } void stan3() //funkcja wyswietlanie max i min wilgotnosci zewnetrznej { lcd.clear(); lcd.print("max wilg: "); lcd.print(max_wilg); lcd.print("%"); lcd.setCursor(0,1); lcd.print("min wilg: "); lcd.print(min_wilg); lcd.print("%"); } void loop() { //Pobieranie informacji o jasnosci oswietlenia (fotorezystor) podswietlenie=analogRead(foto); podswietlenie=map(podswietlenie,0,1023,0,250); analogWrite(LED,podswietlenie); //Reczne podswietlenie wyswietlacza if(digitalRead(przycisk1)==LOW) { podswietlenie=200; analogWrite(LED,podswietlenie); delay(3000); } //Pobranie informacji o wilgotnosci i temperaturze DHT11 wilgotnosc_wew = dht_wew.getHumidity(); temperatura_wew = dht_wew.getTemperature(); //Pobranie informacji o wilgotnosci i temperaturze DHT22 wilgotnosc_zew = dht_zew.getHumidity(); temperatura_zew = dht_zew.getTemperature(); //Zapisywanie max i min temperatury if(temperatura_zew>max_temp) max_temp=temperatura_zew; else if(temperatura_zew<min_temp) min_temp=temperatura_zew; //Zapisywanie max i min wilgotnosci if(wilgotnosc_zew>max_wilg) max_wilg=wilgotnosc_zew; else if(wilgotnosc_zew<min_wilg) min_wilg=wilgotnosc_zew; wyswietlacz(); delay(10000); //przerwa programowa }
  4. Witam, poprawiam swój termometr i napotkałem problem przy wymianie zewnętrznego czujnika DHt11 na nowy DHT22. Po podłączeniu czujnika DHT11 wszystko poprawnie pokazuje, natomiast podłączenie czujnika DHT22 pokazuje stałą wartość(przeważnie wilgotność 2-3%, a temperaturę 0 - przy rzeczywistych wartościach 70%, 230C). Czujniki na pewno jest sprawny i program też jest prawidłowy - sprawdzałem i jestem w 100% przekonany. Wygląda na to że na brak pomiarów ma wpływ połączenie czujnika. Czy ktoś mógłby mi doradzić co mógłbym poprawić w połączeniach płytki czy raczej nadaje się do zrobienia na nowo? Długość przewodu do czujnika ma około 60 cm, natomiast dla sprawdzenia wyprowadziłem dodatkowe krótkie przewody i na nich też nie działa odczyt.
  5. Witam, mam podłączoną do ESP8266 diodę led (ma na ten moment zastępować przekaźnik) anodą do pinu GPIO 0(przez rezystor), a katodą do GND. W domoticzu ustawiłem przełącznik i wszystko działa poprawnie gdy nacisnę na ikonę(żaróweczka się zapala) i rzeczywista dioda led też się zapala. Problem polega na tym że jeżeli zostawię wyłączoną diodę to po około 3h dioda samoczynnie się zapala (tak jak by ktoś wszedł do D0moticza i nacisną na ikonę i zapalił diodę). W zakładce Konfiguracja - Logi w tym czasie wyświetla się komunikat: 2019-07-10 19:02:05.873 Status: User: Admin initiated a switch command (9/Światło pokój/On). Problem polega na tym że nikt nie wchodzi do Domoticza i naciska na ikonę. Tak dzieje się mniej więcej co jakieś 3h. Nie mam ustawionych żadnych planów dla przełącznika. Również z tego ESP wysyłana jest temperatura z czujnika i działa bez zarzutu. Poniżej screeny z domoticza i esp. Czy ktoś miał taki dziwny problem i może wie jak się z tym uporać?
  6. Witam, wiem że już na tym forum szukałem pomocy odnośnie ESP8266 ale nie mogąc rozwiązać tamtych problemów zakupiłem dzisiaj właśnie ESP jak w tytule (zdjęcia poniżej). Bezproblemowo po podłączeniu do laptopa i wgraniu sterownika CH340G zainstalowałem ESPEasy (zgodnie z ta stroną: http://flytomcio.pl/esp8266/esp8266-instalacja-espeasy/). Po restarcie ESP uruchamia się w trybie acess pointa. Po połączeniu się gdy wpisuję adres http://192.168.4.1 strona się nie może wczytać i wyświetla się komunikat przekroczenia czasu połączenia(zdjęcie poniżej). Za którymś razem udało się otworzyć stronę ustawień i przy próbie połączenia z domowym wi-fi gdy następuje sprawdzenie połączenia (odliczanie czasu) znowu pojawia się komunikat przekroczonego limitu połączenia. Zasilałem moduł z gniazda USB laptopa, ładowarki telefonu - 5V, 1A oraz zasilacza od RaspbberyPi, za każdym razem po pewnym czasie ładowania pokazuje przekroczenie limitu czasu połączenia! Byłbym bardzo wdzięczny za jakąś pomoc.
  7. Dzięki bardzo wszystkim za zaangażowanie działa - ESP udostępnia wi-fi. Zmieniłem zasilanie i od początku zrobiłem wszystko wg http://flytomcio.pl/esp8266/esp8266-instalacja-espeasy/. Mam teraz jeszcze tylko jeden problem jeżeli jeszcze macie siłę i chęci to proszę o pomoc. Chcę teraz przesyłać temperaturę z DS18B20 do Domoticza. Robię zgodnie z tą stroną:http://flytomcio.pl/raspberry-pi/domoticz/termometr-ds18b20-i-espeasy/.. Problem polega na tym że nie "dociera temperatura" do Domoticza (pokazuje cały czas 0 st.C). Podejrzewam że skopałem coś ustawienia. Poniżej screeny z ESP. W zakładce config: ESP GW - IP routera (brama domyślna) ESP Subnet - maska podsieci ESP DNS - dałem zgodnie z tym co na tej stronie internetowej ale też dawałem takie samo IP jak ESP GW (wziąłem to z tego: https://translate.google.com/translate?hl=pl&sl=en&u=https://www.letscontrolit.com/wiki/index.php/ESP_Easy_web_interface&prev=search) Zakładka controllers: Controller IP - IP Domoticza Controller Port - port Domoticza 8080 login i hasło tylko jak zatwierdziłem to zniknęły te dane. W zakładce Devices jest chyba wszystko ok, bo pokazuje faktyczną temperaturę. A w Domoticzu cały czas 0 st.C.
  8. @ethanak mówisz o tym http://flytomcio.pl/esp8266/esp8266-instalacja-espeasy/ ? Próbowałem już wgrywać ESPeasy przy użyciu właśnie ESPEasy flesher (post wyżej). Spróbuję jeszcze raz po kolei jak tam pisze zrobić i dam znać.
  9. Czyli najlepiej wykasować flesha i na nowo wgrać ESPeasy ( jednym z programów). Oczywiście przy zachowaniu całej procedury z zasilaniem i GPIO 0. Potem podłączyć pod Arduino i zobaczyć co wyjdzie. A można teraz całkowicie usunąć firmware i na nowo zainstalować?
  10. Robiłem też dla 4Mbit, a co do trybu to szczerze nie mam pojęcia. A jeżeli nawet źle kasuje prze ten program flasha, to wyżej używałem innech programów przy których też na początku jest kasowanie( np. ESP flash downloader - post wyżej). A jeżeli zastosuje monutor Arduino to będę w stanie jakoś zobaczyć jak się zachowuje ESP, czy się samo restaruje itp?
  11. Podciągnąłem pin GPIO 2 na stałe przez rezystor 10kOhm do +3,3V tak samo jak piny: RESET i EN. Podpinam pin GPIO 0 do GND i podłączam zasilanie. Używając programu ESP FLASH DOWNLOAD TOOL V 2.3 (zdjęcie poniżej) kasuje flash. Po skasowaniu odłączam zasilanie i po chwili wgrywam firmware przy pomocy XTCOM_UTILITY (ESP8266 v0.9.5.0 AT Firmware). Po wgraniu odłączam zasilanie. Następnie wgrywam ESPeasy. Po wgraniu odłączam zasilanie, a następnie pin GPIO 0 podłączam przez rezystor 10kOhm do +3,3 V. Zasilam układ i dalej ESP nie udostępnia wi-fi. Możliwe że wgrywam jakiś zły firmware albo espeasy? Próbowałem jeszcze tego samego przy użyciu esp8266_flasher wgrywałem takie firmware: v0.9.2.2 AT Firmware , nodemcu_latest , nodemcu_float_0.9.6-dev_20150704 oraz ESPeasy przy pomocy ESPeasy flasher. Również żadnych efektów.
  12. Jeżeli wgrywam ESPeasy z pinem GPIO 0 podłączonym do GND (tak jak przy firmware) to wszystko teoretycznie wgrywa się prawidłowo. Natomiast jeżeli GPIO 0 jest w powietrzu lub przez rezystor do Vcc lub bezpośrednio do Vcc to w ogóle nie chce instalować ESPeasy.
  13. Pin GPIO 0 mam cały czas podłączony bezpośrednio do GND. Robię tak: 1) po zmontowaniu układu i jego zasileniu kasuje flash 2) wgrywam firmware 3) wyłączam zasilanie 4) podłączam zasilanie i wgrywam ESPeasy 5) wyłączam zasilanie 6) podłączam zasilanie i sprawdzam czy ESP udostępnia wi-fi Powtarzam parę razy krok 5 i 6; GPIO 0 cały czas podłączone do GND; GPIO 2 w powietrzu.
  14. Zacząłem kombinować co jeszcze mógłbym zrobić i znalazłem tą strone:https://www.hackster.io/pratikdesai/flash-firmware-on-esp8266-esp-01-module-e1f758, z której pobrałem firmware. Tak jak pisze na stronie przy 99% kończy się wgrywanie oprogramowania. Jednak po tym zabiegu wgrywam ESPeasy (https://translate.google.com/translate?hl=pl&sl=en&u=https://www.diyhobi.com/programming-esp-01-using-espeasy/&prev=search) i po mimo prawidłowej instalacji wg terminalu dalej nie działa(ESP nie udostępnia wi-fi). Również z tej strony: https://www.14core.com/flashing-upgrade-eps8266-v1-firmware-with-espressif-flash-tool/, pobrałem ESP Flash Download Tool, którym czyszczę pamięć flash. A następnie wgrywam różne firmware, które znalazłem i nic nie pomaga. Oczywiście wszystko to robię przy zasilaniu ESP z USB i dodatkowym zasilaczu(jak pisałem wyżej), dodatkowo pin RESET podciągnąłem rezystorem 10kOhm pod Vcc i pin CH_PD również podciągnięty rezystorem 10kOhm pod Vcc. Czy ktość miał podobny problem i wie co jeszcze można zrobić albo gdzie robię błąd?
×
×
  • Utwórz nowe...