Przeszukaj forum
Pokazywanie wyników dla tagów 'Esp8266 nodemcu'.
Znaleziono 9 wyników
-
Cześć, urządzenie do monitorowania pogody to chyba najbardziej popularny i pewnie oklepany temat ale chciałem spróbować zrobić je samemu zwłaszcza, że można to zrobić na wiele sposobów. Jest to pierwsza wersja rozwojowa i już widzę, że będę musiał wprowadzić jedną poprawkę ale o tym w podsumowaniu. Projekt zakłada monitorowanie: temperatury wilgotności jasności (aby w przyszłości można było skorelować ją z temperaturą) poziomu naładowania akumulatora Całość chciałem oprzeć na jednym mikrokontrolerze zapewniającym odczyt danych z czujników wraz z dostępem do sieci, który dodatkowo mógłby być zasilany z akumulatora. Nie chciałem też projektować dedykowanego PCB ani używać gotowego układu w postaci Arduino Uno, bo to dość duża płytka no i nie jest tania. Mój wybór padł na układ ESP8266 (w wersji NodeMCU v3), ponieważ spełnia praktycznie wszystkie wymagania i ma większe możliwości niż gołe Arduino. Poza tym chciałem poznać i sprawdzić skryptowy język Lua dla NodeMCU, który podobno jest przeznaczony do IoT (Internet of Things). Jako czujnika temperatury i wilgotności użyłem AM2320, który ma dość duży zakres temperatur (-40°C do 80°C) oraz łatwo da się programować w Lua. Jeszcze się nie zdecydowałem w jakiej obudowie umieszczę ESP ale całość z czujnikiem wygląda tak: Zastosowane elemety: ESP8266 (w wersji NodeMCU v3) AM2320 Akumulator Li-Pol Akyga 980mAh 3,7V Ładowarka Li-Pol TP4056 pojedyncza cela 1S 3,7V microUSB z zabezpieczeniami Fotorezystor 10-20kΩ 2x BC547; 3x 10kΩ; 2x 100kΩ; 1x 220kΩ Niestety układ ESP posiada tylko jeden pin dla przetwornika ADC o oznaczeniu A0, dlatego szukałem w internecie jak można go współdzielić do pomiaru jasności fotorezystora i poziomu akumulatora. Jednak jedyne co znalazłem to sposoby na odczyt z różnych czujników (fotorezystor, termistor, itp) za pomocą wystawiania logicznej jedynki na porcie D (wystawione "1" daje zasilanie na czujnik, a "0" nie) podpiętej do danego czujnika. Musiałem więc wymyślić własne rozwiązanie, które nie jest idealne ale działa: Jedynka wystawiona na pin D5 pozwala na odczyt wartości napięcia z fotorezystora, a zero podaje napięcie z akumulatora. Zworka JP1 pozwala na odłączenie akumulatora od zasilania ESP co jest przydatne podczas programowania, wówczas ESP zasilany jest z portu USB. Czujniki umieściłem w obudowie i przykleiłem do ramy okiennej: Program umieszczony w ESP odczytuje wartości z czujników co minutę i udostępnia w postaci strony internetowej Podsumowanie: Ze względu na to, że na płytce NodeMCU użyty jest stabilizator 3,3V pozwalający podawać mu napięcie niewiele większe niż na wyjściu to założyłem, że zasilanie bezpośrednio z akumulatora wystarczy tak długo aż napięcie akumulatora zbliży się do 3,3V. Nie spowoduje to całkowitego rozładowania, więc jest bezpieczne a układ się sam wyłączy. Mimo, że układ sprawuje się dobrze to jednak zauważyłem, że czasami działa niestabilnie i po bliższym przyjrzeniu się schematowi płytki NodeMCU zauważyłem podłączoną diodę pomiędzy VIN a zasilaniem ESP, która powoduje spadek napięcia o 0,7V. Prawdopodobnie ma ona zabezpieczać przed zamianą biegunów zasilania ale dodatkowo wprowadza spadek napięcia, który w przypadku zasilania z portu USB nie ma znaczenia. W kolejnej wersji dodam przetwornicę 5V i zobaczę jak wtedy będzie działać. Jeżeli ktoś z kolegów lub koleżanek znalazł sposób jak lepiej rozwiązać pomiar napięcia z czujnika i akumulatora przy pomocy pinu A0 bez użycia dodatkowego przetwornika ADC, to chętnie poczytam. Docelowo chciałbym przechowywać pomiary na malince i mieć podgląd danych historycznych ale jeszcze nie znalazłem odpowiedniego oprogramowania, bo albo jest zbyt złożone w konfiguracji i ciężkie dla maliny albo zbyt proste. Oprogramowanie ESPHome użyte w projekcie "Zabezpieczenie akumulatora 3,7V Li-Pol - hardware & software" wygląda ciekawie, więc może się nada, zobaczymy. sp_code.zip
-
Jaka jest najlepsza metoda zdalnego sterowania esp8266 nodemcu
xTAgz opublikował temat w Arduino i ESP
Hej, robie sobie takie autko, bardziej deskę i silniki. Ale mniejsza. Potrzebuję tym sterować jakoś, mam dostępne rpi i esp8266. Rpi jest za duże więc zostaje esp. ALE nie mam pojęcia jak to zrobić, to znaczy wiem jak sterować silnikami itd. ale przeraża mnie zdalna łączność. Kasy za bardzo nie mam... -
Witam Mam stację pogodową zrobioną na płytce prototypowej. Jest tam między innymi Esp8266 nodemcu, bateria 18650, tp4056, parę czujników i2c, Mosfet N-channel itd. Chciałem to wszystko przenieść na płytkę PCB, ale mam małe pojęcie o tym. Miałem już wysyłać pliki gerbera do jlcpcb, ale nie daje mi spokoju jedna kwestia. Główne pytanie brzmi o płaszczyznę masy. Jak widać na zdjęciu PCB. Tylko bateria 18650 jest podłączona do modułu tp4056 a reszta GND razem z drugiej strony do płaszczyzny masy. Czy w takim razie np. MOSFET, który pokazałem na schemacie będzie działać? Czy on musi mieć GND podłączone bezpośrednio do pinów w tym przypadku jest to grzałka, którą będzie MOSFET załączać na podstawie temperatury z obudowy poprzez pin sygnałowy. Grzałkę będzie zasilać osobny zasilacz 12v a resztę zasilacz 5v. GND zasilaczy są połączone razem. Dzięki za jakąkolwiek pomoc.
- 5 odpowiedzi
-
- PCB
- Esp8266 nodemcu
-
(i 1 więcej)
Tagi:
-
Witam. Znalazłem na YouTube stacje pogodową. W podpisie pod filmem jest adres do kodu źródłowego który należy otworzyć w Arduino IDE, wpisać/zmienić w 3 linijkach dane i działa. Ja jako zielony szczypiorek na wiosnę. -Spróbujmy Wczoraj przyszły zamówione komponenty, więc wierząc w swoje siły przysiadłem fałda pościągałem, po instalowałem i po spędzeniu w sumie 7h udało mi się dojść jakich bibliotek mi brakuje. Lecz przy kompilacji wywala mi błąd. Mam płytkę Nodemcu CH340G V3 i ekranik MSP 2401 lub MSP 2042 Według LcdWiki sterownik który jest podany w kodzie powinien pasować. A wywala błąd. Może ze złej biblioteki korzystam? Będę wdzięczny za jakąkolwiek pomoc/wskazówkę co jest nie tak. esp8266-weather-station-color.zip
-
Może ktoś podpowie gdzie szukać problemu. Układ z SPS30 i DS18B20 pracuje poprawie ale jak podłączę BME280 to nadal działa ale przestaje się wybudzać wentylator. Czujniki SPS30 pracują na D1, D2 a BME na D3, D4. Próbowałem też na D6, D7. Oba po I2C. Startuje dobrze a po uśpieniu już nie. Dalej odczytuje wartości ale wentylator stoi. BME280 cały czas działa poprawnie. Używam oprogramowania Smogomierza.
-
Cześć, Niedawno zacząłem się bawić trochę elektroniką i obecnie próbuje zrealizować jeden projekt oparty na ESP8266. Chciałem podłączyć jeden sensor ( dokładnie taki ) do płytki NodeMCU. Chciałbym aby płytka była zasilana przez USB. Mam mały problem z zasilaniem sensora, zgodnie ze specyfikacją może on działać na zasilaniu 10-30V, maksymalnym prądzie do 200mA oraz minimalnym 15mA. Output pinu VIN przy zasilaniu całej płytki przez USB powinien wynosić ok. 5V a natężenie nie powinno przekraczać 500mA. Chciałem zastosować przetwornik step-up (dokładnie taki), który podwyższy napięcie do 12V i takim napięciem zasilać sensor. Czy jest to dobry plan ? Jestem dość mocno początkujący, a nie mogłem znaleźć nigdzie przykładu tego typu zastosowania z pinem VIN. Wielkie dzięki ! :)
-
Dzień dobry, Zbudowałem prostego pilota, który ma za zadanie sterować kilkoma urządzeniami w pokoju rozsyłając sygnał IR. Schemat projektu wygląda następująco: Aktualnie pilot działa gdy nadajnik jest skierowany w stronę urządzenia oraz znajduje się w odległości nie większej niż 2 metry. Co powinienem zmienić w projekcie, aby uzyskać możliwie jak największy zasięg pilota?
- 5 odpowiedzi
-
- IR
- podczerwień
- (i 3 więcej)
-
Cześć, ostatnio ćwiczę trochę z pomiarami temperatury i wilgotności czyli DHT + ESP8266. Męczę różne konfigurację bazując na tym kodzie ze strony https://lastminuteengineers.com/esp8266-dht11-dht22-web-server-tutorial/ : #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> #include "DHT.h" // Uncomment one of the lines below for whatever DHT sensor type you're using! //#define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT21 // DHT 21 (AM2301) #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 /*Put your SSID & Password*/ const char* ssid = "YourNetworkName"; // Enter SSID here const char* password = "YourPassword"; //Enter Password here ESP8266WebServer server(80); // DHT Sensor uint8_t DHTPin = D8; // Initialize DHT sensor. DHT dht(DHTPin, DHTTYPE); float Temperature; float Humidity; void setup() { Serial.begin(115200); delay(100); pinMode(DHTPin, INPUT); dht.begin(); Serial.println("Connecting to "); Serial.println(ssid); //connect to your local wi-fi network WiFi.begin(ssid, password); //check wi-fi is connected to wi-fi network while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected..!"); Serial.print("Got IP: "); Serial.println(WiFi.localIP()); server.on("/", handle_OnConnect); server.onNotFound(handle_NotFound); server.begin(); Serial.println("HTTP server started"); } void loop() { server.handleClient(); } void handle_OnConnect() { Temperature = dht.readTemperature(); // Gets the values of the temperature Humidity = dht.readHumidity(); // Gets the values of the humidity server.send(200, "text/html", SendHTML(Temperature,Humidity)); } void handle_NotFound(){ server.send(404, "text/plain", "Not found"); } String SendHTML(float Temperaturestat,float Humiditystat){ String ptr = "<!DOCTYPE html> <html>\n"; ptr +="<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n"; ptr +="<title>ESP8266 Weather Report</title>\n"; ptr +="<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n"; ptr +="body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;}\n"; ptr +="p {font-size: 24px;color: #444444;margin-bottom: 10px;}\n"; ptr +="</style>\n"; ptr +="</head>\n"; ptr +="<body>\n"; ptr +="<div id=\"webpage\">\n"; ptr +="<h1>ESP8266 NodeMCU Weather Report</h1>\n"; ptr +="<p>Temperature: "; ptr +=(int)Temperaturestat; ptr +="°C</p>"; ptr +="<p>Humidity: "; ptr +=(int)Humiditystat; ptr +="%</p>"; ptr +="</div>\n"; ptr +="</body>\n"; ptr +="</html>\n"; return ptr; } Mam jednak kilka uwag i pytań. Podczas podgrywania programu (lub resetu/wyłączenia zasilania) moduł dht musi być odłączony od układu ESP. W innym wypadku program się nie podegra (w przypadku resetu nie wystartują pomiary). Dodałem w kodzie, zasilanie układu dht, po kilku sekundach od podegrania/resetu, dzięki temu moduł DHT działa prawidłowo. Pytanie brzmi dlaczego tak się dzieje? Czy jest to jakiś konflikt na magistrali 1-wire?? Wyczytałem że dht korzysta z takiej właśnie (zmodyfikowanej) magistrali. Jeśli to jest ta przyczyna to może ktoś zna szczegóły? Jeśli to coś innego to co? 🙂 Kolejna moja zagwozdka to czy jest możliwość podgarnia programu a dopiero później zadeklarować nazwę sieci i hasło? Myślałem wstępnie o wpisywaniu tego przez konsolę szeregową ale czy jest to możliwe? A jeśli tak to zapisy do zmiennej a następnie reset całego układu i to wszystko wywołane z konsoli szeregowej? Ponieważ trochę się już nad tym zastanawiam proszę o jakąś podpowiedź. 🙂 Pozdrawiam.
- 12 odpowiedzi
-
- Esp8266 nodemcu
- dht11
-
(i 1 więcej)
Tagi:
-
Drodzy forumowicze, Dopiero co wkroczyłem w tematykę elektroniki i programowania i potrzebuję wsparcia. Posiadam układ zbudowany z modułu Node MCU V3+ESP8266 oraz akcelerometru MPU6050 GY-521. Komunikacja odbywa się poprzez I2C. Układ ten ma służyć do pomiaru przyspieszenia oraz pokonanego dystansu obiektu poruszającego się po lini prostej (np windy). Chciałbym aby dane z czujnika zapisywane były na komputerze w tej samej sieci WiFi, w pliku tekstowym. Docelowo chciałbym z nich zrobić wykres. Czytałem o programie TelemetryViewer ale on rysuje wykres na podstawie danych z portu szeregowego COM. Czy jest jakiś inny sposób abym zapisał te dane na komputerze bez łączenia przewodem płytki Node MCU z komputerem? Dziękuję za wszelką pomoc i pozdrawiam. 🙂