MIPS Projekt
Zo stránky SensorWiki
Cieľom semestrálneho projektu je ukázať, že ste sa na našom predmete skutočne niečo naučili a že ste schopní samostatne vyriešiť a naprogramovať jednoduchšiu úlohu s mikropočítačom.
Do termínu skúšky treba riešenie predviesť a potom odovzať dokumentáciu sem do wiki:
- Stručný opis riešenia, akýsi návod na použitie, čo ste vlastne spravili a ako to funguje.
- Zdrojový kód (prípadne aj použité knižnice ak sú iné ako štandartne použité lcd.h, uart.h a i2c.h) aj s bohatými vlastnými komentármi
- Video, malo by obsahovať aj nejaký komentár, kde bude opisovať čo vidíme, čo sa deje a prečo sa to tam deje. Malo by zdokumentovať všetky funkcie, ktoré ste naprogramovali.
![]() |
Upozornenie: programy vypracujete v avr-gcc, nie v Arduino IDE prostredí. Nie je dovolené používať žiadne cudzie knižnice s výnimkou štandartných a tých, ktoré sme používali na cvičeniach. |
Vlastné:
- Ak máte vlastný nápad, napríklad si chcete k svojej Arduino doske niečo pripojiť, naprogramovať, ozvite sa, dohoda je možná.
Mnoho inšpirácie na vlastné projekty nájdete napr. tu https://www.engineersgarage.com/?s=arduino&page=1 alebo tu https://circuitdigest.com/microcontroller-projects/
Voľné projekty
Poznámka: zadania označené (*) sú jednoduchšie a nie sú vhodné pre študentov, ktorí chcú mať známku A alebo B.
- (*) Alarm s PIR detektorom pohybu https://www.parallax.com/product/pir-mini-sensor/
- (*) Vstupná jednotka s palcovým prepínačom TS211
- (*) Automatické zavlažovanie so snímačom vlhkosti pôdy a pumpičkou
- Zbernica i2c: PCF8582E - 256x8-bit EEPROM i2c
- Zbernica SPI: MCP41050 E/P číslicový potenciometer 50k, 8-bit, SPI
- Zbernica SPI: MCP4811 -E/P číslicový D/A prevodník 10 bit SPI
- Zbernica SPI: 25LC010A - EEPROM pamäť 128x8 bit SPI
- Generátor signálov: obdlžnik, trojuholník, sinus. Parametre amplituda, frekvencia, posunutie, .. a vykresliť na plotter. Ak je to zložite, možno rozdeliť na časti.
- Cez sériovú linku pracujte s i2c EEPROM - výpis celého obsahu v DEC/HEx/BIn, výpis konkrétnej adresy a modifikácia obsahu s verifikáciou
- Integrátor. Potenciometer zadá veľkosť vstupu integrátora. Vytvorí sa zdroj reálneho času, prírastku času, napr. 5ms. A s nastavenou integračnou časovou konštantou sa bude meniť v reálnom čase, výstup, ktorý sa bude zobrazovať na serial, plot.
- Jednoduchý P regulátor. (Nepotrebuje periódu vzorkovania). Bude daná rýchlosťou merania napätia na potenciometre. Keďže je daný 10b prevodník, je daný aj rozsah w (želaná hodnota), y (meraná hodnota) a e (regulačná odchýlka). E sa prenásobí zosilnením, napr. pevná rádová čiarka a pošle sa von na PWM výstup napr. 8b. Treba len vhodne nastaviť periódu opakovania. Opäť možno zobrazovať na serial plot. meranú hodnotu a tomu odpovedajúce plnenie ako funkcia w., atď.
- Jednoduchý multitasking s FreeRTOS https://github.com/johncobb/avr_328p_freertos
- Power down úsporné režimy https://www.engineersgarage.com/reducing-arduino-power-consumption-sleep-modes/
- Digitálny potenciometer. Navrhnite program na načítavanie počtu impulzov tak, aby ste pri opakovanom pohybe (aj pri zmene smeru) hriadeľa nestratili ani jeden krok. Ide o ošetrenie voči zákmitom.
- Na generovanie harmonického signálu nepoužite funkcie sin(), resp. cos(), ale vytvorte oscilátor (v reálnom čase) ako prenosovú funkciu 1/((s*T)^2 + 1). Úlohou je zmerať jeden bod frekvenčnej charakteristiky systému 1/(s*T_osc+1) na frekvencii omega = 1/T. T = 0,5 sek. Výstupom je signál s parametrami: A_0 + A_1*sin(omega*t + fi), kde A_0 = 128 a A_1 = 100.
- Vytvorte program pracujúci v reálnom čase simulujúci systém Y(s)/U(s)=K/(s*T+1), K=1 [-] a T = 0,5 [sek]. Na vykreslenie priebehu použite SerialPlot. Rozsahy u(t) a y(t) sú 0 až 5V. Rozlíšenie 0.01V. Vykreslite prechodovú charakteristiku odpovedajúcu vstupnej hodnote 2.00V. Použite celočíselnú aritmetiku.
- V prostredí ArduinoIde máme možnosť použiť funkciu map(...). Prepíšte túto funkciu tak, aby sme napätie merané v rozsahu 0 až 5V pomocou 10 b-ého A/D prevodníka vedeli zobraziť s presnosťou na „0,01V“. Použite celočíselnú aritmetiku. Výstup A/D prevodníkom filtrujte pomocou filtra kĺzavého priemeru – priemer s 8, resp. 16 vzoriek.
- Ak použijeme funkciu printf(...) čas potrebný na k vykonaniu tejto operácie je úmerný prenosovej rýchlosti a počtu prenášaných B-tov. Jeden zo spôsobov skrátenia času potrebného na vykonanie tejto funkcie je použiť prerušovací podsystém. Na meranie času použite buď niektorý T/C, alebo osciloskop.
- Študent musí vypočítať z T systému T oscilátora. Dokážete namerať toľko bodov, ALF a FLF charakteristiky, aby ste vedeli dokresliť asymptoty?
- (*) Pripojenie 5 tlačidiel na 1 vstup mikroprocesora s využitím A/D prevodníka.
- Niečo z predošlých zadaní v kombinácii Matlab/Simulink a generovaným kódom.
Projekty MIPS 2025
- Dávid Jamarik: Hra Máš pevnú ruku? (*)
- Ilona Baihildina: Hracia kocka s LED (*)
- Filip Boco: Zbernica i2c: hodiny reálneho času s PCF8583P
- Kamil Hanišák: Zbernica i2c: PCF8574 - IO expandér.
- Aleh Sobaleu: Kombinovaný snímač teploty a vlhkosti DHT11
- Martin Hubocký: Kombinovaný snímač teploty a vlhkosti DHT22
- Kamil Raplík: Infračervený vypínač s ATtiny45 https://senzor.robotika.sk/sensorwiki/index.php/Blik!#Infra%C4%8Derven%C3%BD_ovl%C3%A1da%C4%8D
- Marek Šoltés: Diaľkové ovládanie spotrebiča pomocou infračerveného signálu
- Dávid Bungyi: Diaľkové ovládanie zosilňovača
- Oliver Beko: Čítačka RFID kariet RC522
- Miloslav Kráľ: Tester Arduina
- Tymur Omelianenko: Generátor trojuholníkového signálu s R-2R prevodníkom
- Martin Biacovský: Jednoduchá kuchynská váha do 1kg
- Juraj Krasnovský: Ovládanie robotického ramienka joystickom
- Ľuboš Hreňo: Ovládanie robotického ramienka joystickom II.
- Filip Pinďar: Ovládanie elektrického zámku z mobilnej aplikácie
- Dominik Andraščík: Ovládanie elektrického zámku z cloudu
- Andrej Bariš: Bežiace svetlo s obvodom 74HC595
- Matúš Németh: Ovládanie rýchlosti jednosmerného motora z BT aplikácie
- Samuel Gálik: Ovládanie rýchlosti jednosmerného motora cez bluetooth
- Matúš Kráľ: Automatické nastavenie prenosovej rýchlosti
- Vlastné zadania
- Martin Lenarth: Ovládanie vyklápacích svetiel.
- Lukáš Čapla: Snímanie polohy optickým enkodérom IRC a jeho vyhodnotenie pre snímanie polohy
- René Roger: Metódy zvýšenie presnosti A/D prevodu
- Matúš Zakuťanský: Generovanie kódu z prostredia Matlaba/Simulink
Archív projektov z predošlých rokov
- Balogh: Vzorová šablóna na projekty. 2023.
Projekty MIPS 2024
- Bobocký, Daniel Samuel: Klávesnica s radičom MH1KK1 -
- Bugár, Martin: Reglátor chladenia so snímačom teploty
- Buzko, Kateryna: Jednoduchý prijímač diaľkového IR ovládania
- Csabi, Jozef: Meranie vzdialenosti ultrazvukovým snímačom HC-SR04
- Fedor, Peter: Riadenie polohy klapky klimatizácie
- Guľak, Peter: Piškvorky (Tic-Tac-Toe) na 8x8 maticovom displeji
- Hano, Adam: Hodinový modul DS1302
- Illés, Dominik: Ovládanie RGB LED pásika
- Kramla, Oliver: Svetelný efekt s obvodom 74595
- Kudláč, Lukáš: Riadenie križovatky
- Kuňáková, Andrea: Autíčko na sledovanie čiary
- Ledecký, Matej: Ovladanie krokoveho motora joystickom + uvod displej
- Macák, Jakub: Tester obvodu 7400 (4xNAND)
- Majba, David: Vysielač morzeovky
- Nagy, Ladislav: Maticový displej 8x8 s driverom MAX7219
- Nagy, Gabriel: Tester obvodu 7493 (4-bitové počítadlo)
- Ondrejková, Lea Lenka: 14-segmentový LED displej
- Pauliny, Kristián: Akordy s procesorom AVR
- Reismüller, Tomáš: Inteligentný šatník (model)
- Sušina, Marián: Senzor teploty a vlhkosti SHT31
- Szovics, Peter: Elektronická škrtiaca klapka
- Tarcal, Ondrej: Simon's Game
- Ulej, Ján: Kuchynské minutky
- Viest, Filip: Klávesnica 2x3
- Vretenička, Šimon: Ovládanie RGB LED cez Processing
- Žula, Daniel: 7-segmentový displej na futbal
- Brosz, Peter a Diossy, Daniel: Automatické autíčko
- Matsibora, Viačeslav a Fietisov, Dmytro: Dvojosová kolíska na kameru ovládaná joystickom
Tomáš Štibrányi: Klávesnica 4x4 s radičom MH1KK1Jakub Briežnik: Jednoduché menu s rotačným enkodérom a s výberom možností
Projekty MIPS 2023
- Tomáš Bečvarov: Senzor farieb TCS230. 2023
- Martin Cíbik: Riadenie krokového motorčeka I. 2023
- Viktor Fos*: Rotačný enkodér. 2023
- Kristián Greif: Zbernica i2c: MCP4725 - DAC prevodník s EEPROM. Jednoduchý driver a knižnica pre tento obvod. 2023
- Ivan Hílek: Postrehová hra
- Ivan Jagoš: Dekodér infračerveného ovládača. 2023
- Mykyta Sabadash: Hlukomer. 2023
- Lukáš Savčak: Snímač teploty TMP36. 2023
- Juraj Štefánik: Segmentový display TM1637. 2023
- Samuel Tomáš: Miniatúrny analógový joystick. 2023
- Hortenzia Wollentová: Ovládač maticovej klávesnice. 2023
- Jozef Záhora: Jednoduchá terminálová kalkulačka. 2023
Projekty MIPS 2022
- Martin Drgala: Stopky - spustenie, aspoň jeden medzičas, nulovanie. 3x tlačítko + LCD displej
- Veronika Remeňová: Kuchynské minútky - nastavenie, spustenie, alarm. Tlačítko, potenciometer (nastavenie času) + LCD displej
- František Kapsz: Vizualizácia polohy potenciometra na displeji - vyfarbovanie polí na displeji (ako ovládač hlasitosti)
- Roderik Bako: Simon's Game 4x LED, 1x tlačítko, LCD displej na skore
- Mário Babinský: Hra - vyhýbanie sa prekážkam na LCD displeji, ovládanie jedným tlačidlom, hráč (auto) ide vpred a prepína jazdné pruhy (riadky displeja)
- Maté Tóth: Simulátor hollywood pyrotechnika - displej odrátava čas a študent má na výber dva káble ktoré môže "prestrihnúť" (odpojiť), náhodne sa zvolí jeden ktorý preruší časovať a jeden čo "vybuchne" bombu
- Dávid Červenka: Modifikovaný simulátor hollywood pyrotechnika - displej odrátava čas ako stĺpcový diagram a pípanei sa zrýchluje, pričom študent má na výber dva káble ktoré môže "prestrihnúť" (odpojiť), náhodne sa zvolí jeden ktorý preruší časovať a jeden čo "vybuchne" bombu
- Alexander Lazorík: Hudobný nástroj ovládaný cez klávesnicu, sériovou linkou posiela tóny a Arduino ich hrá. Zapamätá si melódiu a vie ju zopakovať
- Pavel Bucha: Ovládanie RGB LED cez Processing pomocou troch posuvníkov (príklad na posuvník je tu).
- Marek Porubský: Meranie teploty pomocou interného snímača procesora. (podľa AVR AppNote 122)
- Andrii Sikomas: Ultrazvukový senzor HC-SR04 a meranie vzdialenosti (parkovací senzor).
- Adam Sližka: LED ako senzor intenzity svetla
- Tomáš Truben: Servomotorček ako indikátor nejakej inej veličiny - ručičku a stupnicu vyrobíte sami.
- Jakub Červenka: Semafor s akustickou signalizáciou pre nevidiacich a slabozrakých (frekvencie vid: https://sk.wikipedia.org/wiki/Akustick%C3%BD_maj%C3%A1k)
- Sabina Ovčiariková: Binárne hodiny/stopky alebo počítadlo, rozsvietená LED-ky by ukazovali počet sekúnd/počet kliknutí tlačidla, mohlo by to byť sprevádzané pípnutím každých 10 stlačení alebo každú minútu.
- Oleksandr Shyp: Posúvanie bodky na 8x8 led displayi pomocou joysticku.
- Martin Vdovják: Digitálny alarm - treba zadať správnu sekvenciu tlačidiel, keď sa vloží správna sekvencia rozsvieti sa tlačidlo, nesprávna sekvencia zabzučí alarm (možno aj pridať možnosť vkladať nové kódy)
- Attila Hriňa: Hra na trénovanie hudobného sluchu - reproduktor zahrá 2 (náhodné) tóny a hráč musí povedať, či bol vyšší prvá alebo druhý (dve tlačidlá).
- Korytova, Taisiia: Svetelná križovatka s nočným režimom.
- Ákos Keszegh: Reaction Timer
- Marek Trúchly: Atmel2586 s MEMS akcelerometerom
- Oskar Bálint: Automatické otváranie dverí s PIR senzorom
- Adam Kašička: Model a signalizácia sekvenčnej prevodovky
- Ing. Ján Šefčík: Riadenie modelu Ball&Beam
Zadania semestrálnych projektov v minulosti
Projekty 2014
- Lechvár, Slaminka: Meranie pulzovej frekvencie. 2014.
- Jankovič, Lukáč: Zbernica i2c: hodiny RTC. 2014.
- Bača, Galovič: Bezdrôtová komunikácia v pásme 433 MHz. 2014.
- Katona, Nehánszki: Hodiny RTC s kalendárom pomocou PCF8583. 2014.
- Benedek, Cintula, Gahér: Trojosí gyroskopický modul L3G4200D. 2014.
- Šandal, Vincze: Trojosí akcelerometer MMA7455. 2014.
- Kocian, Švančara: RFID čítačka. 2014
- Martinkovič, Valach: RFID čítačka II. 2014
- Jakubička, Vyletel: Inkrementálny snímač. 2014
- Bohuš, Vargic, Gašparová: MEMS mikrofón ADMP401. 2014
Projekty 2013
- Godál, R. a Šimončič, M.: Meranie reakčnej doby. 2013.
- Leško, D. a Biath, V.: MiniMEXLE Hodiny na orientačný beh. 2013.
- Paulen, J. a Vojvoda, R.: Meranie krátkych intervalov. 2013.
- Jurák, M. a Vlahi, L.: Meranie časového intervalu. 2013.
- Rybárik, M. a Lukáč, M.: Odpočítavacie hodiny na riadenie diskusie. 2013.
Projekty 2012
- Cebák, Darvaši: Zbernica i2c: 7-segmentový displej. 2012.
- Pecho, Lacko: Infračervené ovládanie 2012.
- Rekšák, Mrva: Inkrementálny snímač otáčok. 2012.
- Boráros, Gál: Zbernica i2c: FM rádio. 2012.
- Berčák, Harmata: Hodiny na orientačný beh I. 2012.
- Géczy, Kamenský: Hodiny na orientačný beh II. 2012.
- Szolik, Šnyr: Snímač teploty SMT160 2012.
- Gálik, Gogola: Dvojosí akcelerometer I. 2012.
- Virág, Topoli: Dvojosí akcelerometer II. 2012.
- Statečný: Zbernica i2c: snímač teploty a vlhkosti SHT11 2012.
- Vincze, Rozsár: Snímač farby ColorPal 2012.
- Baláž, Kupčiha: Snímač teploty DS18B20 2012.
- Mazúch, Lovaš, Oravec: 1-Riadková kamera TSLR1401 2012.
- Špitálová: Parkovací senzor 2012.