Operácie

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.


  1. (*) Alarm s PIR detektorom pohybu https://www.parallax.com/product/pir-mini-sensor/
  2. (*) Vstupná jednotka s palcovým prepínačom TS211
  3. (*) Automatické zavlažovanie so snímačom vlhkosti pôdy a pumpičkou
  4. Zbernica i2c: PCF8582E - 256x8-bit EEPROM i2c
  5. Zbernica SPI: MCP41050 E/P číslicový potenciometer 50k, 8-bit, SPI
  6. Zbernica SPI: MCP4811 -E/P číslicový D/A prevodník 10 bit SPI
  7. Zbernica SPI: 25LC010A - EEPROM pamäť 128x8 bit SPI
  8. 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.
  9. 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
  10. 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.
  11. 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ď.
  12. Jednoduchý multitasking s FreeRTOS https://github.com/johncobb/avr_328p_freertos
  13. Power down úsporné režimy https://www.engineersgarage.com/reducing-arduino-power-consumption-sleep-modes/
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. Š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?
  20. (*) Pripojenie 5 tlačidiel na 1 vstup mikroprocesora s využitím A/D prevodníka.
  21. Niečo z predošlých zadaní v kombinácii Matlab/Simulink a generovaným kódom.



Projekty MIPS 2025

  1. Dávid Jamarik: Hra Máš pevnú ruku? (*)
  2. Ilona Baihildina: Hracia kocka s LED (*)
  3. Filip Boco: Zbernica i2c: hodiny reálneho času s PCF8583P
  4. Kamil Hanišák: Zbernica i2c: PCF8574 - IO expandér.
  5. Aleh Sobaleu: Kombinovaný snímač teploty a vlhkosti DHT11
  6. Martin Hubocký: Kombinovaný snímač teploty a vlhkosti DHT22
  7. 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
  8. Marek Šoltés: Diaľkové ovládanie spotrebiča pomocou infračerveného signálu
  9. Dávid Bungyi: Diaľkové ovládanie zosilňovača
  10. Oliver Beko: Čítačka RFID kariet RC522
  11. Miloslav Kráľ: Tester Arduina
  12. Tymur Omelianenko: Generátor trojuholníkového signálu s R-2R prevodníkom
  13. Martin Biacovský: Jednoduchá kuchynská váha do 1kg
  14. Juraj Krasnovský: Ovládanie robotického ramienka joystickom
  15. Ľuboš Hreňo: Ovládanie robotického ramienka joystickom II.
  16. Filip Pinďar: Ovládanie elektrického zámku z mobilnej aplikácie
  17. Dominik Andraščík: Ovládanie elektrického zámku z cloudu
  18. Andrej Bariš: Bežiace svetlo s obvodom 74HC595
  19. Matúš Németh: Ovládanie rýchlosti jednosmerného motora z BT aplikácie
  20. Samuel Gálik: Ovládanie rýchlosti jednosmerného motora cez bluetooth
  21. Matúš Kráľ: Automatické nastavenie prenosovej rýchlosti
  22. Vlastné zadania
  23. Martin Lenarth: Ovládanie vyklápacích svetiel.
  24. Lukáš Čapla: Snímanie polohy optickým enkodérom IRC a jeho vyhodnotenie pre snímanie polohy
  25. René Roger: Metódy zvýšenie presnosti A/D prevodu
  26. Matúš Zakuťanský: Generovanie kódu z prostredia Matlaba/Simulink





Archív projektov z predošlých rokov



Projekty MIPS 2024

  1. Tomáš Štibrányi: Klávesnica 4x4 s radičom MH1KK1
  2. Jakub Briežnik: Jednoduché menu s rotačným enkodérom a s výberom možností

Projekty MIPS 2023

  1. Tomáš Bečvarov: Senzor farieb TCS230. 2023
  2. Martin Cíbik: Riadenie krokového motorčeka I. 2023
  3. Viktor Fos*: Rotačný enkodér. 2023
  4. Kristián Greif: Zbernica i2c: MCP4725 - DAC prevodník s EEPROM. Jednoduchý driver a knižnica pre tento obvod. 2023
  5. Ivan Hílek: Postrehová hra
  6. Ivan Jagoš: Dekodér infračerveného ovládača. 2023
  7. Mykyta Sabadash: Hlukomer. 2023
  8. Lukáš Savčak: Snímač teploty TMP36. 2023
  9. Juraj Štefánik: Segmentový display TM1637. 2023
  10. Samuel Tomáš: Miniatúrny analógový joystick. 2023
  11. Hortenzia Wollentová: Ovládač maticovej klávesnice. 2023
  12. Jozef Záhora: Jednoduchá terminálová kalkulačka. 2023

Projekty MIPS 2022

  1. Martin Drgala: Stopky - spustenie, aspoň jeden medzičas, nulovanie. 3x tlačítko + LCD displej
  2. Veronika Remeňová: Kuchynské minútky - nastavenie, spustenie, alarm. Tlačítko, potenciometer (nastavenie času) + LCD displej
  3. František Kapsz: Vizualizácia polohy potenciometra na displeji - vyfarbovanie polí na displeji (ako ovládač hlasitosti)
  4. Roderik Bako: Simon's Game 4x LED, 1x tlačítko, LCD displej na skore
  5. 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)
  6. 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
  7. 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
  8. 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ť
  9. Pavel Bucha: Ovládanie RGB LED cez Processing pomocou troch posuvníkov (príklad na posuvník je tu).
  10. Marek Porubský: Meranie teploty pomocou interného snímača procesora. (podľa AVR AppNote 122)
  11. Andrii Sikomas: Ultrazvukový senzor HC-SR04 a meranie vzdialenosti (parkovací senzor).
  12. Adam Sližka: LED ako senzor intenzity svetla
  13. Tomáš Truben: Servomotorček ako indikátor nejakej inej veličiny - ručičku a stupnicu vyrobíte sami.
  14. 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)
  15. 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.
  16. Oleksandr Shyp: Posúvanie bodky na 8x8 led displayi pomocou joysticku.
  17. 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)
  18. 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á).
  19. Korytova, Taisiia: Svetelná križovatka s nočným režimom.
  20. Ákos Keszegh: Reaction Timer
  21. Marek Trúchly: Atmel2586 s MEMS akcelerometerom
  22. Oskar Bálint: Automatické otváranie dverí s PIR senzorom
  23. Adam Kašička: Model a signalizácia sekvenčnej prevodovky
  24. Ing. Ján Šefčík: Riadenie modelu Ball&Beam




Zadania semestrálnych projektov v minulosti

Projekty 2014


Projekty 2013


Projekty 2012