Oznamovač: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
Bez shrnutí editace |
||
(2 medziľahlé úpravy od rovnakého používateľa nie sú zobrazené.) | |||
Riadok 5: | Riadok 5: | ||
Mojím cieľom pre tento projekt bolo najmä oboznámenie sa s e-ink displejom a bezdrôtovou funkcionalitou zvoleného mikrokontroléra. | Mojím cieľom pre tento projekt bolo najmä oboznámenie sa s e-ink displejom a bezdrôtovou funkcionalitou zvoleného mikrokontroléra. | ||
Tento projekt ma však aj dôvernejšie oboznámil s 3D modelovaním v programe OpenSCAD a s opravou, a jej možnými rizikami, 3D tlačiarne. | Tento projekt ma však aj dôvernejšie oboznámil s 3D modelovaním v programe OpenSCAD a s opravou, a jej možnými rizikami, 3D tlačiarne. | ||
Oznamovač ako taký slúži na oznamovanie všetkého možného, na čo si len užívateľ spomenie. Dá sa využiť na upovedomenie členov domácnosti na nedostatok danej potraviny, no i v pracovnom prostredí sa nestratí - naprogramovaním jedného z tlačidiel je možné jednoducho upovedomiť kolegov/zákazníkov že ste práve odišli na obed. | |||
'''Literatúra:''' | '''Literatúra:''' | ||
Riadok 48: | Riadok 50: | ||
archív: [[Médiá:OznamovacMartinBartos.zip|oznamovac.zip]] | archív: [[Médiá:OznamovacMartinBartos.zip|oznamovac.zip]] | ||
== Záver == | |||
Dúfam, že tento projekt niekomu, niekedy v istom smere poslúži. | |||
Ku koncu dám ešte do pozornosti tento foto rámik od [https://spritesmods.com/?art=wifipicframe&f=rss spritesmods.com] - využitie pre ktoré je e-ink ako stvorený. | |||
[[Category:AVR]] [[Category:MIPS]] | [[Category:AVR]] [[Category:MIPS]] |
Aktuálna revízia z 04:19, 21. jún 2023
Záverečný projekt predmetu DTV / LS2023 - Martin Bartoš
Úvod
Mojím cieľom pre tento projekt bolo najmä oboznámenie sa s e-ink displejom a bezdrôtovou funkcionalitou zvoleného mikrokontroléra. Tento projekt ma však aj dôvernejšie oboznámil s 3D modelovaním v programe OpenSCAD a s opravou, a jej možnými rizikami, 3D tlačiarne.
Oznamovač ako taký slúži na oznamovanie všetkého možného, na čo si len užívateľ spomenie. Dá sa využiť na upovedomenie členov domácnosti na nedostatok danej potraviny, no i v pracovnom prostredí sa nestratí - naprogramovaním jedného z tlačidiel je možné jednoducho upovedomiť kolegov/zákazníkov že ste práve odišli na obed.
Literatúra:
- Manuál k použitému e-ink displej modulu
- Ťahák príkazov v programe OpenSCAD
- Kmeňová stránka dokumentácie RPi Pico/Rpi Pico W
- Dokumentácia jazyku Micropython
Analýza a opis riešenia
Potrebujeme tieto súčiastky:
- Raspberry Pi Pico W
- Waveshare 2.9 palcový modul s e-ink displejom
- Li-Po batéria
- TP4056 nabíjací modul s ochranným obvodom
- prepínač
- 3 tlačítka
- 4 skrutky
Na programovanie mikrokontroléra budeme používať Micropython, ktorý zavedieme na Pico W nasledovne: Zapojíme Pico do USB portu počítača, zatiaľ čo držíme tlačítko na doske kontroléra. Pico W by sa mal zobraziť ako bežný USB disk. Stiahneme najnovší micropython firmware z tejto stránky: link. Stránka obsahuje taktiež názornejší návod inštalácie.
Po skopírovaní súboru na Pico, by sa mal odpojiť, a po opätovnom zapojení schopný komunikácie cez sériový port. Na komunikáciu s Picom a najmä na jeho programovanie som použil jednoduché, no od výrobcu odporúčané, Python IDE - Thonny. Podobnú funkcionalitu ako Thonny poskytuje taktiež plugin Pico-W-Go do praktického IDE Visual Studio Code, no je menej intuitívny a spoľahlivý.
Na ovládanie najdôležitejšej časti projektu, e-ink displeja, je možné stiahnuť micropython súbor od výrobcu, ktorý uľahčuje komunikáciu (skrz SPI) s modulom. Tento súbor sa dá stiahnuť tu. Tento driver je kompatibilný aj s modulom špecificky zameraným na Pico/Pico W. Po stiahnutí a skopírovaní do flash pamäte mikrokontroléra zapojíme displej podľa tejto schémy:
![](/sensorwiki/images/thumb/5/5e/Displej_zapojenie.png/400px-Displej_zapojenie.png)
Nasledovne spustíme stiahnutý micropython driver, keďže obsahuje krátke demo na test displeja (displej môže byt poškodený). Pri programovaní e-ink displejov sa neodporúča veľmi časté obnovovanie displeja - nie je na to stavaný a mohol by sa poškodiť. Ak nie je poškodený, skopírujte do pamäte mikrokontroléra zvyšné potrebné súbory: webserver.py, web.html, sprava0.txt, sprava1.txt a sprava2.txt. V súbore webserver.py si nastavte názov a heslo vašej Wifi siete a upravte import e-ink driver súboru, aby sa zhodoval s názvom vášho, už uploadnutého, driver súboru.
Ak po spustení súboru webserver.py všetko funguje, premenujte súbor na main.py, aby sa spustil pri každom zapnutí mikrokontroléra. Následovne môžeme zapojiť všetky súčiastky podľa tejto schémy:
![](/sensorwiki/images/thumb/f/fb/Oznamovac_schema.png/600px-Oznamovac_schema.png)
Posledná položka je vytlačenie samotnej krabičky, ktorá všetky komponenty uschová. V .zip archíve sú poskytnuté obidva .stl súbory (krabička a veko), ale aj parametrický OpenSCAD zdrojový kód, v ktorom možno podľa potreby upraviť rôzne parametre modelu. Na uzatvorenie krabičky treba ešte 4 skrutky.
![](/sensorwiki/images/thumb/9/9a/Oznamovac_modely.png/400px-Oznamovac_modely.png)
Kód, 3D modely a iné materiály
Zdrojový kód webservera je bohužiaľ príliš dlhý, aby tu bol zobrazený vcelku, a preto je poskytnutý až v .zip archíve. Archív obsahuje, okrem micropython a OpenSCAD kódu, vygenerované .stl modely, schému zapojenia, html súbor poskytovaný webserverom a 3 textové súbory, ktorých obsah je možné zobraziť na displeji po stlačení daného tlačítka a najmä pozmeniť cez rozhranie html webstránky.
archív: oznamovac.zip
Záver
Dúfam, že tento projekt niekomu, niekedy v istom smere poslúži.
Ku koncu dám ešte do pozornosti tento foto rámik od spritesmods.com - využitie pre ktoré je e-ink ako stvorený.