Operácie

MIPS Projekt

Zo stránky SensorWiki

Verzia z 21:20, 6. máj 2023, ktorú vytvoril Balogh (diskusia | príspevky)

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.


Zadania semestrálnych projektov na rok 2023

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 projektových tipov napr. tu https://www.engineersgarage.com/avr-microcontroller/page/2/

Voľné projekty

  1. Hra - na displeji sa zobrazí časový interval (napr. 10s), dvaja hráči musia trafiť tento interval čo najpresnejšie stlačením tlačidla bez toho aby išli cez. Odštartuje ich rozsvecovanie 3 lediek ako semafor pri formulách.
  2. Piškvorky (Tic-Tac-Toe) na 8x8 maticovom displeji
  3. Kalkulačka v pevnej rádovej číarke. +-XXX.xx. Dekadické čísla budú zadávané cez terminál (program odchytí, číslo, vypíše, odchytí znamienko: +,-,*,/,= druhé číslo a vypíše výsledok)
  4. 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.
  5. 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
  6. Ovládanie RGB LED cez Processing pomocou troch posuvníkov (príklad na posuvník je tu).
  7. Tester Arduina (ovládanie cez terminál, príkazy In - stav na pine n, I* stav na vsetkych, Ln - Low na pin n, Hn - high na pin n, ? - help...)
  8. 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.
  9. 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ď.
  10. Joystick s dvoma analógovými vstupmi a jedným digitálnym - buď si vymyslíte vlastné využitie, alebo ním budete ovládať guličku na maticovom displeji 8x8
  11. Maticová klávesnica 4x4 - treba napísať rutiny pre načítanie hodnoty z maticovej klávesnice, vrátane detekcie stlačenia dvoch kláves súčasne. Predvedenie funkcie si vymyslite.
  12. Segmentový display TM1637 - napíšte rutiny na zobrazenie čísla a času na tomto displeji. Predvedenie funkcie si vymyslite, napr. stopky a pod.
  13. Hodinový modul DS1302 - napíšte rutiny na nastavenie a prečítanie aktuálneho času a dátumu. Predvedenie si vymyslite, napr. zobrazenie aktuálneho času na LCD displeji.
  14. PCF8574 expander I2C zbernice - napíšte rutiny na zápis a prečítanie jednotlivých bitov obvodu. Predvedenie si vymyslite, napr. pripojte na výstupy 8 LED diód a vytvorte nejakú jednoduchú animáciu.
  15. Rotačný enkóder - vytvorte program pre zadávanie hodnoty nejakej veličiny na LCD displeji pomocou tohoto enkodéra. Jednoduché menu, výber hodnoty a zadávanie číselnej veličiny so zmenou nahor/nadol a potvrdenie stlačením.
  16. Riadenie krokového motorčeka
  17. Infračervené ovládanie - k danému ovládaču identifikujte kódy jednotlivých tlačidiel a demonštrujte správnu funkciu. V tomto zadaní je povolené využitie knižnice <Infrared.h>
  18. Hlukomer - naprogramujte zariadenie na meranie úrovne hluku so zobrazením na LCD displej. Zobrazenie v dB.
  19. Senzor farieb - naprogramujte senzor na rozpoznávanie jednotlivých farieb, zobrazenie na LCD displej.
  20. Tester logických obvodov 7400 a 7493. Diagnostický report cez sériové rozhranie
  21. Snímač teploty TMP36 - pre vyššiu presnosť merania pracujte s internou 1,1 V referenciou a hodnotu zobrazte na LCD displej


Pridelené projekty 2023

  1. Kristián Greif: Zbernica i2c: MCP4725 - DAC prevodník s EEPROM. Jednoduchý driver a knižnica pre tento obvod.


Archív projektov z predošlých rokov


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 na rok 2021

Projekty 2014


Projekty 2013


Projekty 2012