O laboratoriju
Osebje
Objave
Raziskave
Pravila
Predmeti/ vaje
Izpitni roki
Rezultati
Naloge
Informacije
Real-time Systems Laboratory

Vaje - Mikroračunalniki,
RI UNI/3

Za "zamudnike"

Z letošnjim šolskim letom se je, tudi za stare programe, spremenil način ocenjevanja predmetov. Namesto ločene ocene predavanj in vaj, dobi študent eno končno oceno. To pomeni, da se po novem ocena izpita izračuna kot povprečna ocena teorije in vaj. V primeru, da rezultat ni cela vrednost, se upošteva ocena teoretičnega dela. Če je le-ta višja, se končna ocena zaokroži navzgor, če je nižja pa navzdol. Primer: 8/9 postane 8, 9/8 postane 9.

Z letošnjim šolskim letom smo nekoliko prenovili tudi vsebino predavanj in vaj. To pomeni, da se bodo nekoliko spremenila tudi vsebina vprašanj na izpitu. Spremembe se bodo poznale že na prvih izpitnih rokih v poletnih počitnicah, zato izkoristite dotedanje roke za zagovore "po starem".

New Page 1

Gradivo za vaje

Tehnična dokumentacija za PIC
Prosojnice iz predavanj o PIC-u
Navodila za razvojno orodje MPLAB


Dokumentacija za temperaturni senzor KTY: (a), (b), (c)
Dokumentacija modula za krmiljenje enosmernih motorčkov.

Splošna navodila

Naloge so ovrednotene s točkami. Vsaka točka  pomeni eno oceno, vendar le v primeru, če je naloga popolnoma opravljena. Za pridobitev podpisa, možnosti pristopa k izpitu in za pozitivno oceno je potrebno uspešno opraviti naloge za vsaj šest točk.

Pred izdelavo naloge je potrebno izvesti analizo in predlagati rešitev problema v obliki psevdokode, diagrama poteka, grobe strukture programa ipd. Rezultat je potrebno pripravit v (neformalni) pisni obliki, ki je sestavni del opravljene naloge. Za osnovo lahko uporabite Obrazec za pripravo vaj. Dokument potrebno pripraviti pred prihodom na vaje. Brez priprave udeležba na vajah ni možna!

Prve štiri naloge je možno zagovarjati samo do 8.1.2008.

Besedila vaj

1.      Tipke in lučke (1 točka)
Na PIC priključite 8 svetlečih diod in dve tipki. Diode naj svetijo v skladu z nekim binarnim številom. Vsakokrat ko pritisnemo prvo tipko naj se binarna kombinacija poveča za ena, vsakokrat ko pritisnemo drugo tipko pa naj se za ena zmanjša. Program naj ne bo odvisen od tega kako dolgo držimo posamezno tipko. Na začetku naj bodo vse svetleče diode ugasnjene.

2.      Serijski vmesnik (1 točka)
Izdelajte program, ki bo omogočal sprejem in oddajo znakov po standardu za serijski vmesnik (RS232). Program naj čaka na poslani znak iz PC-ja in ga ponovno pošlje nazaj pri čemer male črke spremeni v velike in velike v male. Za parametre prenosa uporabite: 8 bitni podatki, brez paritete ter hitrost prenosa 19200 bitov/sekundo.

3.      Analogno/digitalni pretvornik (1 točka)
Izdelajte program, ki bo omogočal sprotno merjenje analogne napetosti in njen prikaz po principu "VU metra". Velikost vhodnega signala je v razponu od 0 do 5V. Glede na nivo napetosti se prižge ustrezno število lučk.

4.      Tipkovnica in 7 segmentni LED prikazovalnik (2 točki)
Izdelajte program s katerim boste povezali enostavno tipkovnico in 7 segmentni LED prikazovalnik. Program naj v zanki zazna katera tipka na tipkovnici je pritisnjena, jo dekodira in prikaže na LED prikazovalniku. Upošteva naj tipke s številkami in tipko "C", ki prikazovalnik zbriše.

5.      Senzorji (1 točka)
Izdelajte program, ki bo s pomočjo senzorjev štel število oseb v nekem prostoru. Prostor ima ločen vhod in izhod. Na vsakem od njiju je nameščen senzor, ki zazna prehod osebe. Program naj spremlja število trenutno prisotnih oseb v prostoru in trenutno stanje izpisuje preko serijskega vmesnika. Število oseb v prostoru je lahko med 0 in 99.

6.      Generator signalov (1 točka)
Izdelajte program, ki bo omogočil generiranje različnih periodičnih analognih signalov (sinus, trikotnik, pravokotni signal, ...). Program naj preko tipk ali serijskega vmesnika sprejema navodila za obliko in frekvenco signala (vsaj dve frekvenci) in ga nato reproducira s pomočjo digitalno/analognega pretvornika.

7.      Merilnik temperature (1 do 3 točke)
Izdelajte program, ki bo omogočil merjenje temperature v prostoru. Na analogno/digitalni pretvornik je priključen temperaturni senzor, ki glede na temperaturo generira ustrezno napetost. Program naj periodično (vsako sekundo) odčita trenutno temperaturo in jo izpiše preko serijske zanke na zaslon. Temperaturo izpisujte na eno decimalko natančno.
Za dodatno točko dopolnite program tako, da bo znal regulirati temperaturo v prostoru. Če temperatura preseže vnaprej nastavljeno vrednost, se vklopi ventilator, če pa pade pod določeno vrednost pa grelec.
Za nadaljnjo točko podprite vnos želene temperature preko serijskega vmesnika (tokrat brez decimalk).

8.      Obdelava signalov (1 ali 2 točki)
Izdelajte program, ki bo omogočil enostavno obdelavo analognih signalov. Program naj sprejema vrednost vhodnega signala iz A/D pretvornika, jih obdela (npr. ojača, oslabi, limitira ipd.) in pošilja naprej D/A pretvorniku. Vrsto obdelave signalov izbirajte preko tipk.
Za dodatno točko implementirajte program, ki bo izvedel zakasnitev vhodnega signala (za vsaj 128 vzorcev). V ta namen preučite delovanje INDF registra mikrokrmilnika.

9.      Sledilec svetlobnega vira (1 točka)
Izdelajte napravo, ki se bo obračal proti najmočnejšemu viru svetlobe. Na navpično os montirajte dva svetlobna senzorja zamaknjena za določen kot. Os povežite na motorček preko reduktorja. Motorček naj os obrača tako, da se bosta svetlobna senzorja usmerila proti najmočnejšemu viru svetlobe. Na os je nameščeno stikalo, ki pove kdaj se nahaja v končnem položaju.

10.  LCD prikazovalnik (2 točki)
Izdelajte program, ki bo preko serijske zanke sprejemal znake in jih prikazoval na LCD prikazovalniku. Komunikacija s prikazovalnikom poteka preko standardnega protokola za LCD prikazovalnike. Upoštevani naj bodo tudi posebni znaki kot so npr. brisanje zaslona, pomik kazalca na začetek vrstice ipd.

11.  Semaforji (2 točki)
Izdelajte program, ki bo simuliral delovanje semaforjev v križišču glavne ceste s stransko. Na prehodih za pešce se nahaja gumb za prečkanje. Na stranski cesti je nameščena magnetna zanka, ki zazna prihod avtomobila. Dokler kateri od pešcev ne pritisne na gumb oz. dokler na stranski cesti ni nobenega vozila, so prižgane zelene luč na glavni cesti. Predvidite tudi možnost za preklop na nočni režim (rumene utripajoče luči).

12.  Štoparica (2 točki)
Izdelajte program za štoparico. Štoparica naj ima gumb(e) za začetek in konec štetja in gumb za vmesni čas. Vsakokrat, ko se pritisne gumb za vmesni čas, oz. ko se merjenje ustavi, se trenutni čas preko serijskega vmesnika prenese na PC. Program izdelajte tako, da izmerjeni čas ne bo odvisen od časa potrebnega za izpis oz. od časa kako dolgo držimo posamezno tipko.

13.  Ura z alarmom (2 ali 3 točke)
Izdelajte program za uro z alarmom. Ura ima dva gumba: začasen preklic alarma in preklic alarma. Ura naj vsakih nekaj sekund preko serijske zanke izpiše trenutni čas na minuto natančno. Ko ura doseže določen čas naj se sproži alarm in traja 15 sekund. Če uporabnik pritisne tipko za začasno prekinitev alarma, se bo alarm ponovno sprožil čez eno minuto. Če uporabnik pritisne na gumb za prekinitev alarma, se alarm sproži šele naslednji dan.
Za dodatno točko omogočiti nastavitev trenutnega časa in časa alarma preko serijskega vmesnika.

14.  Električna zapornica (2 ali 3 točke)
Izdelajte program za krmiljenje električne zapornice na parkirišču. Ob vstopu na parkirišče voznik pritisne gumb, da dobi listek. Ob izstopu pa mora plačani listek vstaviti v čitalec. Oboje simulirajte s tipkami. Zapornica ima še stikali, ki povesta kdaj je zapornica v vodoravnem oz. navpičnem položaju, dva svetlobna senzorja na prihodni in odhodni strani, ter senzor pritiska, ki zazna, če je zapornica zadela ob oviro. Vgradite vse varnostne mehanizme, ki bodo preprečili, da ne bo prišlo do poškodb na avtomobilu ali pešcih.
Za dodatno točko izvedite nadzor nad zasedenostjo parkirišča. V ta namen je na razpolago semafor. Če število vozil na parkirišču preseže določeno vrednost, mora biti vstop novim vozilom onemogočen. Podrobnejša navodila o modelu zapornice najdete v Zapornica.

15.  Pralni stroj (3 točke)
Preučite delovanje pravega pralnega stroja in zgradbo modela ter izdelajte program za njegovo krmiljenje. Upoštevajte različne pralne programe. Ustrezno simulirajte črpanje vode, segrevanje vode ipd. Za popestritev naloge uporabite zvočne efekte, ki jih ima model na razpolago. Podrobnejša navodila o modelu pralnega stroja najdete v Model pralnega stroja.

16.  Meritev in nastavljanje hitrosti vrtenja motorja (3 točke)
Na razpolago imamo enosmerni motor, ki preko jermena poganja disk. Hitrost in smer vrtenja diska nadzorujemo s pomočjo dajalnika impulzov. Izdelajte program v katerem boste, s pomočjo potenciometra, krmilili smer in hitrost obračanja motorja (diska). Ko je potenciometer v sredinskem položaju, naj motor stoji. Ob premiku v levo oz. desno pa se motor začne vrteti levo oz. desno s hitrostjo, ki je odvisna od velikosti zasuka. Za prikaz smeri in hitrosti vrtenja uporabite tudi svetleče diode, ki so na razpolago v modelu. Podrobnejša navodila o modelu najdete v Model motorja z merjenjem hitrosti.

17.  Robot želva (2 do 3 točke)
Preučite možnosti priključitve robota želve na PIC in izdelajte program za njegovo krmiljenje. Robot ima dve pogonski kolesi z ločenima motorjema. Na želvo se lahko namestita dva svetlobna senzorja. Izdelajte program, ki bo omogočal izvajanje osnovnih ukazov (naprej, nazaj, levo, desno, stop), ki jih boste vnesli preko tipkovnice. Za dodatno točko izdelajte posebni režim delovanja v katerem se bo robot avtomatsko gibal proti najmočnejšemu viru svetlobe.

18.  Risalnik (2 točki - dva študenta)
Izdelajte program, ki bo omočil krmiljenje preprostega risalnika. Risalnik je izdelan iz starega igličnega tiskalnika, ki ima namesto tiskalniške glave risalno pero. Pomik valja, pomik glave ter spuščanje in dviganje peresa krmilijo trije koračni motorji. Izdelajte program kjer boste lahko preko tipk upravljali z izpisom. Izdelajte posebne rutine, ki bodo omogočile izris kvadrata, kroga ipd.

19.  PC tipkovnica (3 točke)
Preučite možnosti priključitve tipkovnice na PIC in izdelajte testni program s katerim boste znake odtipkane na tipkovnici pošiljali preko serijskega vmesnika na terminal. Tipkovnica uporablja prirejen serijski vmesnik. Vsaka tipka generira neko kodo, ki jo je potrebno preslikati v ustrezno ASCII vrednost. Določene tipke lahko generirajo tudi več zaporednih kod.

20.  Miška (3 točke)
Preučite možnosti priključitve miške na PIC. Izdelajte testni program s katerim boste spremembe pri premiku miške vizualno predstavili na terminalu s pomikanjem kurzorja, s pritiskom na miškin gumb pa naj se izpiše nek znak. Za postavitev kurzorja uporabite ubežne sekvence za terminal po standardu VT100.

21.  Igralna palica (3 točke)
Preučite možnosti priključitve igralne palice na PIC. Izdelajte testni program s katerim boste spremembe pri premiku položaja igralne palice vizualno predstavili na terminalu s pomikanjem kurzorja, s pritiskom na  gumb pa naj se izpiše nek znak. Za postavitev kurzorja uporabite ubežne sekvence za terminal po standardu VT100.

22.  Kalkulator (3 točke)
Preučite možnosti priključitve izvedbe kompleksnejših računskih operacij s pomočjo PIC-a. Izcejajte knjižnico rutin, ki bodo omogočale izvedbo osnovnih računskih operacij (seštevanje, odštevanje, množenje in celoštevilčno deljenje) z 8 ali s 16 bitnimi celimi števili. Rutine preizkusite z enostavnim programom, ki bo opravljal nalogo enostavnega kalkulatorja. Preko serijskega vmesnika se vnese prvo število, operacija in drugo število. Ob pritisku na enter pa se nam izpiše ustrezen rezultat.

Povezave

Vsebina predmeta
Rezultati izpitov

Na vrh | Prva stran | O laboratoriju | Osebje | Inštitut za informatiko | E-pošta

 

RTS UM Inštitut za informatiko FERI FERI