You are viewing an older revision! See the latest version
Uvodna vježba
Priprema¶
- Ako još niste, sada je pravo vrijeme da otvorite račun na Mbed-ovoj stranici. Za otvaranje računa potrebno je u gornjem desnom kutu odabrati opciju sign up kao što je prikazano na slijedećoj slici:
- Nakon otvaranja računa pročitajte uvodni dio o mbed LPC1768 mikroupravljaču i dodajte navedeni mikroupravljač u vaš Mbed Compiler odabirom opcije Add to your Mbed Compiler (prikazano na slici).
- Spojite mikroupravljač na računalo. Ono će ga prepoznati kao prijenosnu memoriju (engl. memory stick). Provjerite je li na mikroupravljaču instaliran najnoviji firmware. Provjeru obavljate tako da na računalu otvorite mbed-ov direktorij, pronađete datoteku s
.HTM
ekstenzijom, te ju otvorite pomoću Notepad-a.
Unutar navedene datoteke pronaći ćete oznaku firmware-a. Ako nije instaliran najnoviji firmware, instalirajte ga koristeći ove upute.
Napomena
Direktorij mikroupravljača na slici imenovan je MBED, međutim moguće je da mikroupravljač koji koristite neće biti tako imenovan zbog laboratorijskih vježbi iz kolegija "Komunikacijske tehnike u mehatronici" gdje ćete mikroupravljačima pridjeljivati uloge MASTER-a i SLAVE-a.
Vježba¶
Riješite sljedećih nekoliko zadataka s ciljem upoznavanja s mbed razvojnom platformom NXP LPC1768:
- Uvezite dolje prikazani HelloWorld program u Mbed Compiler. Klikom na ikonu
Import Program
u internet pregledniku otvara se nova kartica sa stranicom Mbed Compiler-a te slijedeći skočni prozor na kojem možete modificirati ime programa te ga na kraju uvesti u Mbed Compiler klikom na tipkuImport
.
- Nakon uvođenja i otvaranja programa (klikom na njegovo ime ) prozor Mbed Compiler-a će se podijeliti na tri dijela prikazana na slijedećoj slici.
Na lijevom dijelu prozora nalazi se stablo mapa u kojem su prikazane sve mape od kojih se sastoji program. Klikom na datotekumain.cpp
otvara se program te se njegov programski kod prikazuje na gornjem desnom prozoru. Prevedite program odabiromCompile
ikone u Mbed Compiler-u. Nakon prevođenja, u donjem desnom prozoru pojavit će se poruka o uspješnom ili neuspješnom prevođenju programa. Ako je riječ o neuspješnom prevođenju, u istom prozoru dobit ćete upozorenje u kojem dijelu programskog koda je došlo do greške. U slučaju uspješnog prevođenja pojavit će vam se skočni prozor s upitom gdje želite spremiti prevedeni program (.bin
datoteka) ili će se datoteka s programom automatski spremiti na određeno mjesto na računalu. Spremljenu.bin
datoteku prebacite u mbed-ov direktorij te pritiskom na tipkalo na vašem mikroupravljaču resetirat ćete isti i time pokrenuti zadnji program koji ste prebacili na njega, u ovom slučaju to je HelloWorld program. - Pregledajte dokumentaciju klase
DigitalOut
. Uključite ili isključite bilo koju LED-icu koristeći funkcijuwrite
kao pripadnicu klaseDigitalOut
. Objasnite uloguoperator=
u dokumentaciji klase. Dokumentaciju možete pregledati na dva načina:- U Mbed Compiler-u, u stablu mapa nalazi se mbed biblioteka (ikona zupčanika). Klikom na navedenu mapu prikazuju se njene podmape te je potrebno otvoriti podmapu pod nazivom Classes. Unutar te podmape nalazi se popis i dokumentacija svih klasa koje se mogu koristiti.
- na ovom linku moguće je pronaći dokumentaciju za sve klase koje ćemo koristiti na ovom kolegiju (a i na KTM-u).
- Modificirajte program tako da blinka samo jedna od 3 preostale LED-ice (samo jedna LED-ica može blinkati).
- Modificirajte program tako da blinkaju 2 ili više LED-ica (gotovo) istovremeno.
- Kreirajte novi program. Svaki program može imati samo jednu main.cpp datoteku. Unutar mape vašeg programa nemojte dodavati nove datoteke s .cpp ekstenzijom. Za kreiranje novog programa potrebno je u izbornoj traci Mbed prevoditelja odabrati
New
(gore lijevo) te zatim izabratiNew program
.
Nakon toga otvoriti će se skočni prozor prikazan u nastavku:
U njemu je potrebno podesiti postavke programa. Najprije je u poljuPlatform
potrebno postaviti platformu za koju ćete pisati programski kod. U polju će se automatski odabrati platforma mbed LPC1768 budući da je trenutno samo ona dodana u compiler. Međutim, dodavanjem drugih platformi iz navedenog polja moći će se pomoću padajućeg izbornika odabrati željena platforma. U slijedećem polju nazvanomTemplate
moguće je iz padajućeg izbornika odabrati izgled programa. Hoće li on biti potpuno prazan ili će imati predložak mbed OS Blinky LED HelloWorld kao u prvom zadatku. Potrebno je odabrati navedeni (i prikazani) mbed OS Blinky LED HelloWorld predložak budući da on osim programskog koda sadrži i sve osnovne biblioteke za mbed platforme koje bi u slučaju odabira praznog predloška morale biti ručno dodane. U zadnjem polju nazvanomProgram Name
potrebno je definirati naziv programa.
U njemu modificirajte program iz prethodnog zadatka tako da LED1 blinka 4 sekunde, nakon čega se LED1 isključuje, a počinje blinkati LED2 u trajanju od 4 sekunde. Zatim se isključuje LED2 i ciklus kreće ispočetka s LED1. Koristitewhile
ifor
petlje u ovom zadatku. - Deklarirajte i inicijalizirajte dvije konstantne realne varijable
T_TOTAL
iT_FLASH
, koje će određivati ukupna vremena blinkanja pojedinih LED-ica iz prethodnog zadatka, kao i trajanje pojedinog blinka. Npr. postavite ukupno trajanje blinka pojedinih LED-icaT_TOTAL
na 10 sekundi umjesto 4 i trajanje pojedinog blinka na 0,5 sekundi umjesto pretpostavljenih 0,2 sekunde. Ideja je promjene napraviti samo na ta dva mjesta, a ostatak kôda se mora pobrinuti za obavljanje zadatka. - Kreirajte novi program koji sadrži jednu LED-icu i sljedeći uzorak blinkanja:
- LED-ica se najprije uključuje na vrijeme od 5 sekundi, zatim se isključuje na vrijeme od pola sekunde.
- Nakon toga se vrijeme uključenja smanjuje na 4 sekunde, uz fiksno vrijeme isključenja od pola sekunde.
- Ciklus se nastavlja dok vrijeme uključenja ne dosegne 1 sekundu, nakon čega kreće ponavljanje ciklusa od početka.
- Prethodni zadatak poopćite tako da vrijeme uključenja od 5 sekundi zamijenite proizvoljnim brojem sekundi (cijeli broj), a dekrement vremena uključenosti i dalje ostaje 1 sekunda.
Čestitke!
Završili ste sve zadatke iz teme Uvodna vježba. U nastavku laboratorijskih vježbi slijede i zanimljivije teme.
Dodatni zadaci za vježbu¶
Povratak na naslovnu stranicu TVZ Mechatronics Team-a.