TVZ Mechatronics Team


Zagreb University of Applied Sciences, Professional Study in Mechatronics

You are viewing an older revision! See the latest version

Uvodna vježba

Priprema

  1. 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:
    /media/uploads/dfraj/otvaranje_racuna.jpg

  2. 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).
    /media/uploads/dfraj/dodavnje_mikroupravljaca.jpg

  3. 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. /media/uploads/dfraj/direktorij.jpg

    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:

  1. 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 tipku Import.

    Import program

    00001 #include "mbed.h"
    00002 
    00003 DigitalOut myled(LED1);
    00004 
    00005 int main() {
    00006     while(1) {
    00007         myled = 1;
    00008         wait(0.2);
    00009         myled = 0;
    00010         wait(0.2);
    00011     }
    00012 }
    
    /media/uploads/dfraj/newprogram.jpg

  2. 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. /media/uploads/dfraj/compiler.jpg

    Na lijevom dijelu prozora nalazi se stablo mapa u kojem su prikazane sve mape od kojih se sastoji program. Klikom na datoteku main.cpp otvara se program te se njegov programski kod prikazuje na gornjem desnom prozoru. Prevedite program odabirom Compile 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.
  3. Pregledajte dokumentaciju klase DigitalOut. Uključite ili isključite bilo koju LED-icu koristeći funkciju write kao pripadnicu klase DigitalOut. Objasnite ulogu operator= u dokumentaciji klase. Dokumentaciju možete pregledati na dva načina:
    1. 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.
    2. na ovom linku moguće je pronaći dokumentaciju za sve klase koje ćemo koristiti na ovom kolegiju (a i na KTM-u).
  4. Modificirajte program tako da blinka samo jedna od 3 preostale LED-ice (samo jedna LED-ica može blinkati).
  5. Modificirajte program tako da blinkaju 2 ili više LED-ica (gotovo) istovremeno.
  6. 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 izabrati New program.
    /media/uploads/dfraj/new.png

    Nakon toga otvoriti će se skočni prozor prikazan u nastavku:
    /media/uploads/dfraj/newprogram_WP1ffL4.jpg

    U njemu je potrebno podesiti postavke programa. Najprije je u polju Platform 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 nazvanom Template 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 nazvanom Program Name potrebno je definirati naziv programa.
    /media/uploads/dfraj/newprogram01.jpg

    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. Koristite while i for petlje u ovom zadatku.
  7. Deklarirajte i inicijalizirajte dvije konstantne realne varijable T_TOTAL i T_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-ica T_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.
  8. Kreirajte novi program koji sadrži jednu LED-icu i sljedeći uzorak blinkanja:
    1. LED-ica se najprije uključuje na vrijeme od 5 sekundi, zatim se isključuje na vrijeme od pola sekunde.
    2. Nakon toga se vrijeme uključenja smanjuje na 4 sekunde, uz fiksno vrijeme isključenja od pola sekunde.
    3. Ciklus se nastavlja dok vrijeme uključenja ne dosegne 1 sekundu, nakon čega kreće ponavljanje ciklusa od početka.
  9. 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.


All wikipages