Skocz do zawartości

Krst0

Użytkownicy
  • Zawartość

    55
  • Rejestracja

  • Ostatnio

Reputacja

4 Neutralna

O Krst0

  • Ranga
    4/10

Ostatnio na profilu byli

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

  1. Dokładnie jest tak jak myślałem, wolałem się upewnić. Zmyliło mnie tamto zdanie o którym napisałem, ale własnie wg schematu mi to wychodziło. Robiłem dokładnie to co Ty z tym, że nie miałem pewności czy to co wydedukowałem jest poprawne.
  2. Znalazłem ciekawą informację odnośnie czujników MQ i ich load-resistor - link. Jest tam taka wzmianka o nich: Wersja angielska: The sensor needs a load-resistor at the output to ground. Its value could be from 2kOhm to 47kOhm. The lower the value, the less sensitive. The higher the value, the less accurate for higher concentrations of gas. If only one specific gas is measured, the load-resistor can be calibrated by applying a know concentration of that gas. If the sensor is used to measure any gas (like in a air quality detector) the load-resistor could be set for a value of about 1V
  3. Wertując internet znalazłem schematy na których napisane jest, że rezystory 5Ω są do heatera czujnika a do wyjścia analogowego jest rezystor 4.7kΩ. Jednakże mimo zmiany tych wartości czujniki ( w szczególności MQ-135) pokazuje złą wartość - ok. 40 ppm CO2 podczas gdy w powietrzu jest w okolicy 400ppm. Natomiast czujnik MQ-2 daje względnie dobre wyniki - ok 2-3ppm, co dla CO jest poprawnym wynikiem (ciężko sprawdzić bez innych czujników).
  4. Cześć, od bardzo długiego czasu mam problem ze znalezieniem informacji jaka jest wartość RL (load resistor, wykorzystywany do tworzenia dzielnika napięć) na sensorach MQ-2 i MQ-135 (oba moduły Waveshare). Przeglądając ich noty katalogowe są tam informacje przy jakich RL były robione wykresy, jednakże w polu RL w nocie napisane jest "can adjust". Szukałem po ścieżkach na samym czujniku (moje umiejętności w tym zakresie kuleją) i znalazłem kilka czujników i szczególnie jeden zwrócił na początku moją uwagę. Przy heaterze występuje rezystor 5R1. Wartość ta wydaje się być w mojej opinii nie tą
  5. Oczywiście w momencie, gdy napisałem do Was na forum wpadło mi do głowy potencjalne rozwiązanie i zadziałało na oba problemy. Po prostu w pętli loop w złym miejscu deklarowałem sobie zmienną do pobierania json. Powinna być deklarowana w momencie, gdy już dane otrzymam do pobrania, a nie zaśmiecam pamięć pętlą. Wszystko działa teraz perfekcyjnie. Pojawił się jednak pewien problem. Odczytuję teraz dane bez wyświetlania ich w Serial monitorze i moje odczyty pyłów zawieszonych są o wiele wyższe niż jakbym dodatkowo wypisywał je na Serial monitorze jakby czujnik PMS wszedł w ten tryb oznaczaj
  6. Oczywiście było tak jak myślałem, przesyłanie JSON poprawnie zadziałało. Mam jednak inny problem i tego nie rozumiem za bardzo od czego to zależy. Już tłumaczę o co chodzi. Wrzucam mój obecny kod ESP, żeby każdy wiedział o co mi dokładniej chodzi. #include <SoftwareSerial.h> #include <ArduinoJson.h> #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> float PM_10 = 0.0; float PM_1_0 = 0.0; float PM_2_5 = 0.0;; float humidity = 0.0; float temperature = 0.0; float pressure = 0.0; float co_PPM = 0.0; float co2_PPM = 0.0; const char* ssid = "Test"; // Enter S
  7. Ostatnio nie miałem czasu wziąć się za prackę, więc dlatego opóźnienie. Natknąłem się na kolejny problem. Jestem w stanie na Arduino Uno sczytać wszystkie wartości czujników i połączyć się z NodeMCU. Ba, jestem w stanie nawet wysłać do NodeMCU pojedynczą wartość zmiennej. Chciałem więc przesłać do NodeMCU więcej wartości, ale nie wiem jak. Próbowałem za pomocą ArduinoJson wysłać jakieś dane i je odebrać na NodeMCU i o ile z wysyłaniem danych za pomocą JSONa nie jest trudne, to nie mam kompletnie pojęcia w jaki sposób powinien wówczas wyglądać kod odbioru tych danych. Dodam, że jechał
  8. Tylko wysyłam dane do ESP i on ma je wyświetlić na serwerze, także pewnie to będzie rozwiązanie Dokładnie, przeczytałem, że ma zabezpieczenie antyprzepięciowe (nie wiem jak to nazwać ). Dowiedziałem się, że pozwala to się nie zepsuć NodeMCU jak da się większe napięcie niż 3.3 V.
  9. No i za szybko się ucieszyłem. Niestety rozwiązanie to nie chce działać w moim przypadku. Czytałem w poradniku, że działa to na Arduino Mega, ale patrząc w dokumentacji nic o tym nie było wspomniane. Może ma ktoś pomysł jak rozwiązać ten problem? Próbowałem skorzystać z biblioteki NewSoftSerial, która umożliwia przełączanie nasłuchiwania portów dla Arduino Uno, ale przy próbie kompilacji pojawia się błąd wewnątrz biblioteki (z tego co rozumiem błąd konstruktora). Szukam sposobu, żeby może za pomocą I2C połączyć albo SPI, ale nie wiem na ile to rozwiąże mój problem.
  10. Dobra, już wszystko rozumiem, ale nie umiem tego wytłumaczyć i faktycznie to nie może działać. Arduino jako ostatnie połączył sobie ESP w tym przykładzie i dlatego nie nasłuchiwał PMS. EDIT: Znalazłem chyba rozwiązanie. Udało mi się dotrzeć do informacji, że można ręcznie zmieniać na jakim porcie nasłuchuje Arduino. Wystarczy tylko podać mu odpowiedni serial i wywołać na nim funkcję listen(). Trochę ciśnienie mi zeszło. Ufff. Jak się mylę to może mnie ktoś poprawić.
  11. Aktualizacja postępów pracy: Otrzymałem konwerter poziomów logicznych, wszystko podpiąłem i jeśli chodzi o sczytywanie danych z pms przez konwerter poziomów logicznych do arduino działa to świetnie. Podobnie sprawa ma się jak przesyłam dane z Arduino do NodeMCU z użyciem konwertera, też wszystko działa. Więc oczywistym następstwem było połączenie tego do kupy, czyli PMS daje dane Arduino i ten przekazuje je do NodeMCU. No i nie działa. Testowałem różne warianty co może powodować błąd. Doszedłem do wniosku, że PMS nie sczytuje mi danych, gdy mam podłączony NodeMCU, a właściwie, gdy m
  12. Jeśli chodzi o rezystor i potencjometr to zapewne masz rację, dlatego zdecydowałem się dodatkowo na zakup konwertera poziomów logicznych. O zjawisko jakie zachodzi to ja wiem na czym to polega, bardzo dużo o tym czytałem, ale mimo wszystko raczej nie zdecyduję na uwzględnianie wilgotności, bo w samej pracy piszę o tym, że projekt ten należy traktować w kategorii ciekawostki i wyników nie należy traktować jako wyrocznię ze względu na reaktywność na inne gazy. Pisałem o tym zresztą w nieco wcześniejszych postach, że wynik dot. stężenia CO może być zakłamany, bo ktoś na czujnik podał przeogromne
  13. Akurat rozumiem o co chodzi z tą konwersją stanów logicznych, jednakże zastanawia mnie multum tutoriali bazujących i pracujących bez tego konwertera. Zamówić go i tak zamówię, żeby było wedle sztuki.
  14. Udało mi się naprawić. Spróbowałem połączyć Arduino i NodeMCU trochę innym sposobem niż podałem powyżej. Znalazłem poradnik i go wykorzystałem. Dla potomnych. Schemat: Kod Arduino: #include <SoftwareSerial.h> SoftwareSerial espSerial(5, 6); String str; int count = 0; void setup(){ Serial.begin(9600); espSerial.begin(9600); delay(2000); } void loop() { count++; str = String("coming from arduino: ")+String(count); espSerial.write(count); delay(1000); } Kod NodeMCU: #include <SoftwareSerial.h> SoftwareSerial Arduino(D6, D5); int count; void setu
  15. Dobra, ponownie pojawił się problem, którego nie jestem w stanie naprawić. Połączyłem ze sobą Arduino z NodeMCU (bez konwertera poziomów logicznych) i wszystko działało pięknie do pewnego czasu (mogłem postawić serwer i po prostu przesłać dane z Arduino do NodeMCU). Jednakże z niewiadomych mi przyczyn nagle wszystko przestało działać. Chciałem więc wrócić do podstaw i po prostu przesłać jakikolwiek tekst z Arduino do NodeMCU i już nie zadziałało. (Płytka była ustawiana jako Generic 8266 oraz NodeMCU 1.0 z polecenia @Belferek, bo powiem szczerze nie widziałem tej opcji, i na żadnej już mi nie d
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.