Po pregledovanju raznoraznih video posnetkov na Youtubu, 'blinkanju' svetleče diode, izpisovanju raznih napisov, torej spoznavanja s programom, je prišel čas za konkreten primer uporabe MicroPythona in Raspberry Pico W. Tisti 'W' na koncu pomeni wireless, se pravi brezžično. Nabavil sem BMP280 senzor, ki meri temperaturo in zračni pritisk. Poleg tega sem nabavil tudi DHT22 senzor, ki je malo drugačen (meri temperaturo in vlago). Napajanje celotne elektronike je narejeno z enim Li-Po akumulatorjem in solarnim polnjenjem s solarnim panelom, ki je na strehi majhne vremenske hišice. Rpi Pico meri temperaturo, zračni tlak, napetost akumulatorja in trenutno napetost solarnega panela. Vse te podatke pošilja v HTML obliki v domače omrežje. V domačem omrežju tako lahko vidimo vse te podatke na računalniku ali prenosnem telefonu.


 Najprej nekaj o zunanjem delu postaje

  Shema ni nič kaj komplicirana in o njej ni kaj razlagati. Povežemo vse komponente po shemi in to je to! Jaz sem to naredil kar na perforirani ploščici za eksperimentiranje in je takoj delalo brez problemov. Izdelavo hišice in vezja, priklope akumulatorja, solarnega panela in vsega kar spada k projektu, bom opisal kasneje.


   Na mikro kontrolerju vremenske postaje so naložene datoteke, ki so vidne na desni sliki.
  • Datoteka "BMP280.py" je knjižnica (library) za delo s senzorjem BMP280 na mikrokontrolerjih, kot so Raspberry Pi Pico, Pico W itd. Ta senzor meri temperaturo in zračni tlak
  • Datoteka "data.json" je datoteka s podatki v JSON formatu, to pomeni, da vsebuje podatke v obliki, ki jo razumejo programi (kot npr. Python), shranjene kot ključ.
  • Datoteka "index.html" je glavna spletna stran vremenske postaje (ali kakšnega drugega projekta), ki jo gostimo z napravo, kot je Raspberry Pi Pico W. Ko odpremo IP naslov Pico W-ja v brskalniku, ta prikaže vsebino.
  • Datoteka "main.py" je glavni program, ki se samodejno zažene ob zagonu Raspberry Pi Pico (ali Pico W), če uporabljamo MicroPython.
  • Datoteka "secrets.py"  vsebuje zasebne nastavitve projekta, kot so: WiFi SSID in geslo.
     

    Tako izgleda v brskalniku na PC ali mobilnem telefonu


 

Terminal s TFT prikazovalnikom

   Naredil sem še drugo vezje s TFT prikazovalnikom kot terminal, s katerim lahko odčitamo vse kar pošilja mala vremenska postaja v domačo mrežo, če ni vključen noben računalnik. Poleg podatkov o vremenu in ostalega iz zunanje postaje prikazuje tudi napetost akumulatorja v njem samem. Ta del mi služi pravzaprav za učenje risanja in pisanja na grafičnem prikazovalniku in to je znanje ki ga bom rabil pri drugih projektih. Ker je tak prikazovalnik precejšen potrošnik bom dodal v programu možnost uporabe 1,3" Oled prikazovalnika in izklop TFT po določenem času in mikrokrmilnik v stanje spanja.

 
 

 

Lego vremenska hišica

   Na spletu sem naletel na luštno idejo za izdelavo male vremenske hišice. Ta videoposnetek prikazuje pretvorbo babičine vremenske hiše v digitalno krmiljeno prikazovalno enoto. Gibanje klasičnih figuric ženske in moškega nadzira mikro servo, ki ga krmili program MicroPython na Raspberry Pi Pico W. Moj vnuk se že od malih nog navdušuje nad Lego kockami. Že pred leti sem mu naredil s pomočjo 3D tiskalnika razne dodatke k Lego programu. Zato sem se odločil narediti elektromehanski del z Lego figuricama, na katerega (oz. okoli katerega) bo on zgradil samo hišico. Material za elektroniko je bil kar hitro nabran po predalih.
   Krmiljenje figuric temelji bodisi na lokalno izmerjenih vrednostih vlažnosti s senzorjem DHT22 ali pa na vremenskih podatkih, ki jih mikrokrmilnik dobi na spletu. Za preklapljanje med tema dvema viroma podatkov je uporabljena tipka T2. V spletnem načinu se trenutni vremenski podatki pridobijo prek zahteve HTTP iz OpenMeteo, ki je  odprtokodno orodje. Ti podatki krmilijo majhen servo mehanizem in s tem položaj figuric. V načinu brez povezave pa analiza temelji na trenutno izmerjeni relativni vlažnosti z DHT22.

Na shemi so narisane štiri tipke, vendar je za delovanje potrebna samo tipka T2. Isto velja za svetleče diode D1...D4. Potrebna je samo LED D2, ki prikazuje način v katerem se trenutno nahaja mikrokrmilnik. Ostale tri tipke in svetleče diode so koristne pri sestavljanju Lego figuric in servomehanizma (T1= Servo 0°, T3= Servo 180° in T4= Servo 90°). Potenciometer P1 služi za izbiro časa vnaprejšnje napovedi v načinu HTTP, kar je prikazano (v urah) na  prikazovalniku TM1637. V načinu brez povezave prikazovalnik izpisuje relativno vlažnost (v %), izmerjeno z DHT22.

   Še koda za programiranje RPI Pico W (preimenuj v Main.py in naloži na  mikroprocesor).

 

 

 

Se bo še nadaljevalo, če bo še kakšna ideja....Whistle