====== Projekty MPOA 2015 ====== **[[https://gitlab.com/OK2NMZ/NGW/wikis/home|NetworkGateway]]** --- NetworkGateway je zařízení, které umožňuje propojit několik běžně neslučitelných sběrnic (USB, RS485, CAN, Ethernet, WIFI). Nastavení virtuálních propojů včetně konfigurace jednotlivých "portů" je prováděna pomocí webového rozhraní, které je naprogramováno v javascriptu. Celé zařízení je zcela samostatné a pro konfiguraci nevyžaduje žádný software. Může být použito jak pro ladění zmíněných sběrnic (zejména CAN a RS485), tak i pro běžný provoz (síťová brána do internetu pro CAN, RS485 pomocí WIFI/Ethernetu). --- //Marek Novák, >100%// **[[2015/rot-control|Modul pro řízení mechanického rotačního systému]]** --- Prostřednictvím vývojové desky vhodně zvoleného mikrokontroléru s architekturou ARM realizujte řízení mechanického rotačního systému, skládajícího se z DC motorku a inkrementálního enkodéru. Implementujte funkce otáčení zvolenou rychlostí, natočení o požadovaný úhel a ukládání aktuální pozice v závislosti na synchronizačním signálu. --- //David Krolák, 100%// **[[2015/2048-game|Hra 2048]]** --- Realizujte [[https://en.wikipedia.org/wiki/2048_%28video_game%29|hru 2048]] na kitu FRDM-KL25Z. Jednotlivá čísla budou reprezentovány barvou, která bude zobrazena pomocí matice RGB LED. Pro řízení pohybu využijte akcelerometr. --- //Václav Lízner, 98%// **[[2015/cam-al422|Kamera OV7670 s FIFO AL422]]** --- Připojte modul kamery OV7670 s FIFO bufferem AL422 ke vhodnému Freedom boardu. Vytvořte firmware pro sejmutí snímku z kamery, vyřešte jeho přenos do PC a následné zobrazení. Využijte prostředí KDS nebo mbed. --- //Martin Kráčala, 96%// **[[2015/plc-st7580|Power-line komunikace s ST7850]]** --– Demonstrujte úzkopásmovou komunikaci po elektrickém vedení (230V/50Hz) pomocí dvojice vývojových kitů EVALKITST7580-1, osazených integrovanými obvody typu ST7580 pro power-line komunikaci. Pro řízení ST7580 vytvořte firmware implementovaný v externím MCU rodiny STM32, který realizuje potřebný protokol pro komunikaci mezi modemy v režimu master-slave. --- //Jan Sláčik, 96%// **[[2015/p2p-rfm12b|Point-to-point spoj s RFM12B]]** --- Pomocí dvojice transceiverů RFM12B připojených ke kitům FRDM-KL25Z realizujte experimentální rádiový spoj v pásmu 868MHz. Vytvořte firmware pro testování spojení - měření chybovosti, rychlosti přenosu, RTT apod. Proveďte měření základních parametrů v závislosti na vzdálenosti modulů. --- //Petr Prachař, 92%// **[[2015/sstv-gen|Generátor SSTV signálu]]** --- Implementujte audio generátor pro signál [[http://www.sstv-handbook.com/|SSTV (slow-scan television)]], např. mód Martin M1 nebo Robot B&W. Obrazová data přečtěte z SD karty nebo USB flash disku, signál vygenerujte a odešlete pomocí DAC nebo zvukového kodeku. Ověřte příjem softwarem [[http://hamsoft.ca/pages/mmsstv.php|MMSSTV]]. --- //Tomáš Kret, 92% po termínu// **[[2015/microbrewery|Řídící jednotka vařiče mikropivovaru]]** --- Navrhněte řídící jednotku mikropivovaru na platformě Texas Instruments MSP430. Řídící jednotka zajišťuje měření teploty kapaliny uvnitř varného hrnce a její zobrazení na displeji, PID regulaci topných těles a ovládání míchání. Pro zobrazení aktuálního času použijte externí RTC modul s baterií; vytvořte přehledné menu ovládané pomocí tlačítek. --- //Lukáš Janík, 88%// **[[2015/si4703-radio|FM rádio s Si4703]]** --- Vytvořte rozhraní pro ovládání modulu FM rádia Si4703 s pomocí vhodného zobrazovacího média. Zobrazte informaci o aktuální naladěné stanici pomocí RDS. Použijte vývojový kit FRDM-KL25Z. --- //Adam Štěpánek, 88%// **[[2015/putty-tetris|Tetris přes terminál]]** --- Realizujte hru Tetris, která bude pro zobrazování využívat vhodného terminálu na sériové lince (např. PuTTY a standard VT100). Pro řízení pohybu využijte akcelerometr na kitu FRDM-KL25Z. Stav hry indikujte pomocí RGB LED. --- //Egor Dulesov, 84%// **[[2015/f3-accel-gyro|Interciální snímače na kitu STM32F3DISCOVERY]]** --- Pomocí kitu STM32F3DISCOVERY s integrovaným akcelerometrem (LSM303DLHC) a gyroskopem (L3GD20) vytvořte software pro obsluhu těchto dvou inerciálních snímačů. Dále implementujte kód obsluhující ukládání naměřených veličin na SD kartu s příslušným souborovým systémem. --- //Jan Dvořák, 84%// **[[2015/bio-arm|Řízení protetické ruky]]** --- Realizujte ovládání protetické ruky na vývojové desce FRDM-K64F. K ovládání využijte EMG signál ze svalů na předloktí. K získání signálů sestrojte vhodný zesilovač a výstup přiveďte na AD převodníky. Vyhodnocení pohybu zobrazte na PC vhodnou animací. --- //Aleš Pohludka, 84%// **[[2015/p2p-nrf24l01|Point-to-point spoj s nRF24L01]]** --- Pomocí dvojice transceiverů nRF24L01 připojených ke kitům FRDM-KL25Z realizujte experimentální rádiový spoj v pásmu 2,4GHz. Vytvořte firmware pro testování spojení - měření chybovosti, rychlosti přenosu, RTT apod. Proveďte měření základních parametrů v závislosti na vzdálenosti modulů. --- //Petr Sedláček, 84%// **[[2015/comm-rs485|Meziprocesorové komunikační rozhraní]]** --- Realizujte driver a HW zapojení pro instantní využití sběrnice RS485 na platformě STM32. S driverem bude jednoduše možné realizovat Master-Slave síť o více zařízeních. Pro případ nedostupnosti komunikačního vedení rozšiřte možnosti driveru o využití modulu RFM12B pro bezdrátovou komunikaci. --- //Dominik Stupka, 84%// **[[2015/http-sd|Dálkové datové úložiště]]** --- Realizujte zápis a čtení souborů z SD-karty přes Ethernet s použitím vývojové desky FRDM-K64F. Využijte protokol HTTP a jeho požadavky GET a PUT. Pro přístup k souborům na kartě vytvořte jednoduchou webovou stránku (listing). --- //Dmytro Kasianenko, 82%// **[[2015/audio-visual-out|USB audio vizualizér]]** --- Pomocí vývojové desky 32F429IDISCOVERY vytvořte USB audio zařízení, které bude realizovat zvukový výstup z PC pomocí integrovaného DA převodníku mikrokontroléru. Doplňte vizualizaci ve frekvenční oblasti na displeji vývojového kitu. --- //Daniel Kresta, 82%// **[[2015/sam3x-clock|Hodiny s teploměrem]]** --- Navrhněte hodiny s funkcí měření teploty. Implementujte automatické řízení jasu displeje dle okolního osvětlení. Použijte mikrokontrolér Atmel ATSAM3X8E a vhodný obvod hodin reálného času. --- //Marek Stavěl, 82%// **[[2015/cm4-math|Matematické funkce s jádrem Cortex-M4]]** --- Proveďte srovnání časové a paměťové náročnosti matematických výpočtů goniometrických funkcí, vektorového násobení a konvoluce na jádru Cortex-M4. Využijte funkce dostupné v [[https://www.keil.com/pack/doc/CMSIS/DSP/html/index.html|]], použijte fixed-point a float aritmetiky, vyzkoušejte soft a hard FPU koprocesor. --- //Roman Fiala, 80%// **[[2015/bio-polygraph|Polygraf]]** --- Realizujte polygraf jako detektor lži na vývojové desce FRDM-K64F. Vyhodnocení bude provedeno z EKG, dechové křivky a pocení. K získání signálů sestrojte vhodný zesilovač a výstup přiveďte na AD převodníky. Proveďte analýzu získaných signálů a výsledné vyhodnocení pošlete přes sériovou linku do PC. --- //Jakub Rusz, Jakub Milek, 78%// **[[2015/hid-accelerometer|Vizualizace akcelerometru přes USB HID]]** --- Pomocí vývojové desky FRDM-KL25Z vytvořte USB HID zařízení a jeho prostřednictvím přenášejte do PC údaje z akcelerometru. Tyto údaje na PC vhodně vizualizujte - např. pomocí bar grafů jednotlivých os, průmětu celkového vektoru zrychlení do jednotlivých rovin, zobrazení vektoru zrychlení ve 3D prostoru apod. --- //Jan Špůrek, 76%// **[[2015/enc28j60|Ethernet řadič ENC28J60]]** --- Připojte [[http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en022889|řadič ENC28J60]] k desce FRDM-KL25Z, zprovozněte TCP/IP stack a vytvořte jednoduchý TELNET server, pomocí kterého bude možné příkazy ovládat RGB LED. --- //Martin Štěpnička, 70%// **[[2015/stm32-dds|DDS generátor]]** --- Na vývojové desce Nucleo-F401RE realizujte funkční generátor za použití přímé digitální syntézy. Pokuste se o maximalizaci vzorkovacího kmitočtu při zachování korektního výstupu. --- //Jindřich Ryšavý, 62%// **[[2015/esp8266-ds18b20|WiFi teploměr s ESP8266]]** --- Seznamte se s WiFi čipem ESP8266 a jeho [[https://github.com/esp8266/Arduino|vývojovým prostředím]]. Vytvořte aplikaci WiFi teploměru s čidlem DS18B20, která bude v definovaném intervalu pomocí GET požadavku odesílat aktuální teplotu na server [[https://thingspeak.com/|ThingSpeak]] nebo do vlastního PHP skriptu s vizualizací. --- //Václav Pálka, 56%// **[[2015/p2p-mrf24j40|Point-to-point spoj s MRF24J40]]** --- Pomocí dvojice modulů PmodRF2 (čipset MRF24J40) připojených ke kitům FRDM-KL25Z realizujte experimentální rádiový spoj v pásmu 2.4GHz. Vytvořte firmware pro testování spojení - měření chybovosti, rychlosti přenosu, RTT apod. Proveďte měření základních parametrů v závislosti na vzdálenosti modulů. --- //Tomáš Kyselý, 30%// **[[2015/audio-interface|USB audio interface]]** --- Sestavte zvukové rozhraní pro počítač pomocí procesoru STM32. Použijte knihovny pro třídu "USB Device Class for Audio Devices". Implementujte zvukový výstup z PC vč. ovládání hlasitosti na vývojové desce STM32F4DISCOVERY. Doplňte o vstup z integrovaného MEMS mikrofonu. --- //Martin Kokolia, 22%// **[[2015/k430wqa|Řízení RGB displeje K430WQA-V4-F]]** --- Realizujte řízení dotykového RGB displeje K430WQA-V4-F pomocí mikrokontroléru Atmel ATSAM4E16 doplněného o 16MB flash paměť a USB rozhraní. Vytvořte textový font a funkce na zobrazení základních tvarů. Realizujte zobrazení obrázku z flash paměti. --- //Rostislav Stehno, 22%// **[[2015/pingpong-game|Hra ping-pong]]** --- Realizujte hru 2D ping-pong s použitím LED matice LPD6803. Hra bude ovládána tlačítky a bude obsahovat minimálně režim pro dva hráče. Využijte vývojovou desku FRDM-KL25Z. --- //Ruslan Karaganskikh, neklasifikováno// ==== Nevypracované projekty ==== **[[2015/stm32f429-jpeg|Mass storage JPEG zobrazovač]]** --- Na vývojové desce 32F429IDISCOVERY implementujte USB mass storage (MSD). Po nahrání JPEG souboru jej dekomprimujte pomocí vhodné knihovny (např. [[http://elm-chan.org/fsw/tjpgd/00index.html|TJpgDec]]) a zobrazte na displeji vývojového kitu spolu s informacemi o obrázku. --- //Daniel Štindl// **[[2015/esp8266-alarm|WiFi alarm s ESP8266]]** --- Seznamte se s WiFi čipem ESP8266 a jeho [[https://github.com/esp8266/Arduino|vývojovým prostředím]]. Vytvořte aplikaci, která bude sloužit jako jednoduchý dveřní alarm - po zapnutí napájení např. jazýčkovým kontaktem se ESP8266 připojí na WiFi a odešle pomocí GET požadavku informaci o události, např. na server [[https://thingspeak.com/|ThingSpeak]] nebo do vlastního PHP skriptu. --- //Petr Jurák// **[[2015/bluetooth-cmp|Srovnání parametrů Bluetooth modulů]]** --- K vývojové desce FRDM-KL25Z připojte Bluetooth modul PmodBT (čipset LMX9838) a desku FRDM-FXS-MULTI-B (čipset BR-LE4.0-D2A). Srovnejte parametry obou modulů - podpora běžných UART komunikačních rychlostí, složitost obsluhy ve firmwaru, postup párování, rychlost připojení, max. komunikační vzdálenost. --- //Karel Svoboda// **[[2015/nfc-reader|NFC čtečka s PN532]]** --- Realizujte čtečku NFC karet standardu ISO/IEC 14443. Použijte NFC modul založený na PN532 a pomocí vhodné sběrnice jej propojte s deskou 32F429IDISCOVERY. Pro zobrazení přijatých dat použijte vestavěný LCD displej. --- //Ondřej Sládek// **[[2015/itdb02-lcd|Zobrazovač JPEGu s TFT displejem]]** --- Připojte TFT LCD displej typu [[http://www.dx.com/p/2-8-tft-lcd-touch-shield-module-for-arduino-silver-blue-black-223437|ITDB02]] ke vhodné vývojové desce a vytvořte firmware, který umožní přes sériový port nahrát JPEG obrázek, který se na LCD zobrazí. Pro JPEG dekompresi využijte vhodnou hotovou knihovnu, např. [[http://elm-chan.org/fsw/tjpgd/00index.html|TJpgDec]]. --- //Ondřej Buba// **[[2015/lpkf-drill|Jednotka pro LPKF vrtačku]]** --- Vytvořte řídicí jednotku pro LPKF vrtačku, která bude přijímat data po USB, zpracovávat je (úprava souřadnic, optimalizace výměn nástrojů) a odesílat ve formátu vrtačky/frézy přes rozhraní RS232. Doplňte základní uživatelské rozhraní s displejem (stav odesílání, aktuální nástroj) a ovládacími tlačítky. --- //Adam Remeš// **[[2015/da-control|Řízení skupiny D/A převodníků]]** --- Realizujte řízení skupiny D/A převodníků LTC2626 pomocí jednoduché PC aplikace komunikující s řídicím MCU přes USB rozhraní. Využijte procesor STM32 s jádrem Cortex-M0. Zvolené parametry zobrazujte pomocí grafického displeje s řadičem ST7735S. --- //Jan Rez// **[[2015/terrarium-ctrl|Řídicí jednotka terária]]** --- Navrhněte řídicí jednotku pro terárium. Jednotka bude snímat teplotu a vlhkost uvnitř terária a na základě naměřených hodnot spínat topná tělesa, zvlhčovač vzduchu a větráky. Použijte vývojovou desku FRDM-KL25Z. --- //Mojmír Knápek// **[[2015/fontx-glcd|Fonty FONTX pro grafické displeje]]** --- Rozšiřte knihovnu pro běžné grafické displeje 128x64 o podporu fontů ve [[http://elm-chan.org/docs/dosv/fontx_e.html|formátu FONTX]]. Z [[https://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html|Unicode fontů]] vytvořte sadu pro kódování ISO-8859-2. Demonstrujte použití vč. diakritiky na vhodné vývojové desce s displejem 128x64. --- //Ján Marko//