Operácie

Oznamovač: Rozdiel medzi revíziami

Z SensorWiki

Riadok 15: Riadok 15:
 
__TOC__
 
__TOC__
  
== Analýza a opis riešenia ==
+
== Analýza a opis riešenia ==
  
 
Potrebujeme tieto súčiastky:
 
Potrebujeme tieto súčiastky:
Riadok 25: Riadok 25:
 
* 3 tlačítka
 
* 3 tlačítka
  
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: [https://www.raspberrypi.com/documentation/microcontrollers/micropython.html#what-is-micropython 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 - [https://thonny.org/ 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 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: [https://www.raspberrypi.com/documentation/microcontrollers/micropython.html#what-is-micropython link]. Stránka obsahuje taktiež názornejší návod inštalácie.
  
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ť [https://github.com/waveshareteam/Pico_ePaper_Code/blob/main/python/Pico_ePaper-2.9.py 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 nasledovne:
+
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 - [https://thonny.org/ 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ý.
* VCC -> VSYS
 
* GND -> GND
 
* DIN -> GPIO_11
 
* CLK -> GPIO_10
 
* CS -> GPIO_09
 
* DC -> GPIO_08
 
* RST -> GPIO_12
 
* BUSY -> GPIO_13
 
[https://www.raspberrypi.com/documentation/microcontrollers/images/picow-pinout.svg Ťahák na piny.]
 
  
[[Súbor:ledRGB.jpg|400px|thumb|center|RGB LED.]]
+
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ť [https://github.com/waveshareteam/Pico_ePaper_Code/blob/main/python/Pico_ePaper-2.9.py 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:
  
[[Súbor:schema.svg|400px|thumb|center|Schéma zapojenia LCD displeja.]]
+
[[Súbor:displej_zapojenie.png|400px|thumb|center|E-ink modul zapojenie]]
 +
 
 +
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ť.
  
  
Riadok 46: Riadok 39:
  
 
Algoritmus programu je....
 
Algoritmus programu je....
 
 
<tabs>
 
<tab name="AVR C-code"><source lang="c++" style="background: LightYellow;">
 
#include <avr/io.h>
 
 
int main(void)
 
{
 
  unsigned int measuredValue;
 
 
  while (1)
 
  {
 
    /*  relax  */ 
 
  }
 
 
  return(0);
 
}
 
 
</source></tab>
 
<tab name="filename.h"><source lang="c++" style="background: LightYellow;">
 
#include <avr/io.h>
 
 
void adc_init(void);                                  // A/D converter initialization
 
 
unsigned int adc_read(char a_pin);
 
</source></tab>
 
</tabs>
 
  
 
Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x ''zdrojaky.zip'':  
 
Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x ''zdrojaky.zip'':  

Verzia zo dňa a času 23:58, 20. 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.

Literatúra:


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

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:

E-ink modul zapojenie

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ť.


Algoritmus a program

Algoritmus programu je....

Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:

Zdrojový kód: zdrojaky.zip


Overenie

Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku záverečnej obrazovky pred resetom. Vypísaný je tu priemerný čas a najlepší čas.

Aplikácia.

Video:

Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.