Operácie

Oznamovač

Z SensorWiki

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 nasledovne:

  • VCC -> VSYS
  • GND -> GND
  • DIN -> GPIO_11
  • CLK -> GPIO_10
  • CS -> GPIO_09
  • DC -> GPIO_08
  • RST -> GPIO_12
  • BUSY -> GPIO_13

Ťahák na piny.

RGB LED.
Súbor:Schema.svg
Schéma zapojenia LCD displeja.


Algoritmus a program

Algoritmus programu je....


#include <avr/io.h>

int main(void)
{
  unsigned int measuredValue;

  while (1)
  {
    /*  relax  */  
  }

  return(0);
}
#include <avr/io.h>

void adc_init(void);                                   // A/D converter initialization

unsigned int adc_read(char a_pin);

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.