Pogodełko – IoT w pogodzie – część 1
Szukaliśmy w Nettigo pomysłu na projekt, który będzie kompletnym, niedrogim a jednocześnie interesującym wprowadzeniem w elektronikę i świat IoT. Ma dotrzeć do ludzi, którzy nie mają żadnego doświadczenia z programowaniem i elektroniką, a bark im determinacji by samemu zgłębiać te zagadnienia. Idealnie by projekt dawał szybko radość ze zbudowania czegoś samemu a jednocześnie nie ograniczał możliwości poznawczych. Po złożeniu projektu ma on działać i pozwalać sie w następnych krokach modyfikować. W ten sposób pozwoli zaznajomić się z zagadnieniami programowania, IoT i elektroniki. Wpadliśmy na pomysł, który po zbudowaniu prototypu otrzymał nazwę Pogodełko. Dlaczego? Wkrótce się przekonacie.
Zacznijmy od początku. Platforma, której chcieliśmy użyć powinna być zgodna z Arduino, tak by w miarę łatwo było znaleźć informacje potrzebne do programowania. Następnie – powinna być wyposażona w dobre możliwości komunikacyjne ze światem zewnętrznym a jednocześnie była przystępna cenowa.
Znam jedną taką platformę – nodeMCU. Niedrogie kontrolery, można je programować z użyciem Arduino IDE, mają bogate wsparcie społeczności. Do tego WiFi na pokładzie i cena w okolicy 25 zł. Świetnie. Teraz pytanie, czym się to nodeMCU ma zająć?
Przeglądając komponenty, które mamy w ofercie, naszym oczom rzucił się adapter z BMP280. Jest to czujnik firmy Bosch, który mierzy ciśnienie i temperaturę. Doskonale nadaje się jako czujnik do stacji pogodowej.
Jak zaprezentować użytkownikowi dane? Oczywiście, mając WiFi na nodeMCU mamy sporo możliwości. Można dane wysyłać do zewnętrznych serwisów, zrobić stronę WWW prezentującą dane a może jeszcze coś innego. Wymaga to jednak trochę konfiguracji, której chcielibyśmy w pierwszym kroku uniknąć, dlatego zdecydowaliśmy się na użycie wyświetlacza LCD i z adapterem I2C.
Całość wystarczy zmontować korzystając z krótkich przewodów żeńsko-żeńskich, podłączyć do zasilania przez kabel micro-usb i gotowe! Decydując się na zestaw Pogodełko otrzymasz wstępnie zaprogramowane nodeMCU, tak by po podłączeniu zgodnie ze schematem otrzymać działający układ.
Jaki schemat połączeń? Ano taki:
Kilka uwag:
- kolory przewodów nie mają znaczenia
- upewnij się że wszystko podłączyłeś jak na schemacie zanim podłączysz kabel microusb do nodeMCU
- wyświetlacz LCD i adapter na schemacie jest reprezentowany tylko przez sam adapter (to czarne po prawej stronie). Fizycznie będzie on przylutowany z tyłu wyświetlacza LCD.
Gdy wszystko gotowe i sprawdzone podłączamy kabel microusb do nodeMCU i …
Co jeśli nie działa?
Jeśli wyświetlacz wyświetla kwadraty, albo nic, tylko aktywne jest podświetlenie, weź mały śrubokręt i wyreguluj kontrast – na niebieskim potencjometrze na adapterze przylutowanym z tyłu do LCD.
Co to jest Pogodełko?
Czemu Pogodełko? Ano, po złożeniu prototypu, w moje ręce wpadło pudełko, w którym chcemy wysyłać cały zestaw. Nastąpił jakiś zapłon i… nożyk introligatorski poszedł w ruch. Kilka cięć, przełożenie kabelka, użycie kartki jaki izolatora i… mamy kompletny projekt wraz z obudową!
Uwaga – to ważny element. Kartka papieru zapewni izolację między metalowymi elementami na wyświetlaczu a nodeMCU. Bez niej może wystąpić zwarcie i nodeMCU może ulec uszkodzeniu.
Tym samym pokazałem Wam proces powstawania prototypu :) Wy nie musicie się tak męczyć i pewnie rezultat końcowy będzie znacznie ładniejszy. Po pierwsze na stronie Pogodełka znajdziesz plik PDF, który możesz wydrukować. Jest szablon do naklejenia na pudełko (pamiętaj, że mówimy o dolnej ścianie pudełka, a górna krawędź ma być przy miejscu gdzie się pudełko zamyka). Dzięki obrysowi ekranu LCD możesz wyciąć znacznie dokładniej miejsce na wyświetlacz. No i nie będziesz musiał ręcznie opisywać projektu.
Żeby nie być gołosłownym – tak się prezentuje to samo Pogodełko, po użyciu nowego pudełka, naklejeniu szablonu oraz delikatnym wycięciu obszaru na LCD:
Jeśli przyjrzysz się uważnie, również kabel USB poprowadzony jest z boku – nożyczkami przebiłem otwór w bocznych ściankach i przyciąłem zakładkę górnej klapy, by można potem swobodnie zamknąć pudełko.
W skrócie
Pogodełko, to zestaw w którym otrzymasz:
- zaprogramowane nodeMCU
- czujnik BMP280
- wyświetlacz LCD 16×2 z konwerter I2C
- zestaw krótkich przewodów żeńsko-żeńskich do połączenia całości
- pudełko
Co potrzebujesz by projekt wykonać i uruchomić?
- kabel micro USB do zasilania
- nożyczki/nożyk introligatorski
- drukarkę, papier i klej ;) by wydrukować panel czołowy i zrobić z papieru izolację
Co dalej?
Zostańcie z nami – za chwilę opublikuję następną część mówiąca jak można zaprogramować i zmodyfikować nasze Pogodełko. Tam też kod źródłowy, który jest wgrywany na Pogodełko, oraz nieco więcej dlaczego tak a nie inaczej podłączyliśmy BMP280 (SPI) i LCD (I2C) do nodeMCU.
Witam.
Mam problem z uruchomieniem pogodełka na płytce nodemcu v2. Jak powinien wyglądać schemat podłączenia. Zdążyłem zauważyć , że piny w płytce V3- G, VU są inne jak w płytce V2 rsv,rsv i ,że na tych pinach nie ma napięcia 5v wymaganego dla wyświetlacza. Po podłączeniu 5vj na wyświetlaczu pojawia mi się w górnym rzędzie białe kwadraty. Kręcenie potencjometrem nic nie daje.
Proszę o sugestie.
Kwadraty na wyświetlaczu raczej sugerują brak komunikacji I2C. Dobrze podłączone SDA/SCL z wyświetlacza? Wyświetlacz działa poprawnie w innym układzie?
Wyświetlacz działa poprawnie w innym projekcie. Z Uno i DHT11
Podpiąłem wyświetlacz pod Uno ale zasilanie LCD dałem z innego źródła 5V i GND niż Arduino to efekt był taki sam jak z Nodemcu V2(zewnętrzne zasilanie=kwadraty) , dopiero jak podlaczylem 5V i GND z Uno na Vcc i GND I2C zaczal normalnie pokazywać.
WiFiScan działa poprawnie.
Chyba znalazłem rozwiązanie mojego problemu w artykule z odnośnika ze strony sklepu nettigo dotyczącego różnic w płytkach V2 i V3.
https://frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/
V3 posiada pin Vusb a V2 już nie.
Reasumując.
Aby nie bawić się w dokładanie przetwornicy lub innego źródła napięcia nie pozostaje mi nic innego jak kupić płytkę V3.
Jeśli się mylę proszę o sprostowanie.
O ile wiem nie trzeba kupować v3. Na v2 zasilanie LCD wziąć z Vin. Vin powinien przez diodę być podłączony do Vusb, więc jeśli Nodemcu jest zasilanie z USB to tam też będzie napięcie. Trochę niższe, bo na diodzie jest mały spadek, ale do zasilenia LCD wystarczy.
Ok dziś wieczorem spróbuje podłączyć. Czujnik działa na pewno bo w porcie szeregowym pokazuje wartości.
Witam.
Z uwagi na brak czasu piszę dopiero dziś.
Problemem było brak zasilania na pinach rsv (płytki nodemcu v2).
Na wyświetlacz podałem 5v z zasilacza płytek prototypowych(HW-131) również 3.3v na vin. Masa z tego samego źródła. Wszystko wystartowało bez zająknięcia.
Teraz jeszcze wysyłanie danych w chmurę i podłączenie tzw 'satelity” na zewnątrz.
Pozdrawiam