TVZ Mechatronics Team


Zagreb University of Applied Sciences, Professional Study in Mechatronics

You are viewing an older revision! See the latest version

Primjeri korištenja analognih ulaza

Analogna komunikacija između dva mbed-a

Za izvođenje ove vježbe potrebna su vam dva mbed application board-a (ili samo dva mbed-a). Spojite analogni izlaz (p18) prve pločice na analogni ulaz (p17) druge pločice. Možete koristiti 3.5 mm stereo line kabel ili direktno spojiti žicama (p18 na p17 i GND na GND).

Napomena

Na laboratorijskim vježbama možete preskočiti ovaj korak, budući da su dolje navedeni programi već instalirani na računalima u labosu.

Kako bi osigurali pravilnu serijsku komunikaciju mbed-a s računalom na kojem se nalazi Windows operacijski sustav (OS) potrebno je instalirati upravljački program prema ovim uputama. Nakon što ste instalirali upravljački program, potrebno je instalirati program za komunikaciju (engl. Terminal). Preporuča se korištenje programa Tera Term kojeg možete preuzeti s ovog linka.

Na računalu u izborniku Start upišite pojam Tera Term kako bi pokrenuli program za komunikaciju. Nakon pokretanja, pojaviti će se skočni prozor prikazan u nastavku:

/media/uploads/dfraj/teraterm01.jpg

Potrebno je s lijeve strane odabrati opciju Serial te iz padajućeg izbornika odabrati komunikacijski port preko kojeg mbed komunicira s računalom. Oznaka komunikacijskog porta može biti drugačija (COM1, COM2, COM8,...), ali naziv porta je uvijek isti mbed Serial Port. Ako niste sigurni koji komunikacijski port trebate odabrati, možete na računalu otvoriti Device Manager te pod kategorijom Ports očitati točan port.

Nakon što odaberete port, klikom na OK zatvarate skočni prozor te ostaje otvoren glavni prozor terminala prikazan dolje. Na njemu je u traci izbornika potrebno odabrati padajući izbornik Setup te u njemu opciju Terminal....

/media/uploads/dfraj/teraterm02.jpg

Otvara se prozor s postavkama terminala te je u njemu potrebno podesiti stavke u kategoriji New-line kao što je prikazano na sljedećoj slici. Također, potrebno je označiti opciju Local echo kako bi se na ekranu ispisivali podaci koje upisujete preko tipkovnice. Kada ste namjestili sve postavke, klikom na gumb OK spremate postavke te ste time završili potavljanje prvog terminala. Za otvaranje drugog prozora terminala na kojem će se ispisivati podaci koje ste poslali s prvog mikroupravljača na drugi... i vraćate se na glavni prozor gdje možete početi s vježbom.

/media/uploads/dfraj/teraterm03a.jpg

Primjer HelloWorld programa koji koristi serijsku komunikaciju prikazan je u nastavku. Više primjera i informacija o serijskoj komunikaciji možete pronaći na ovom linku.

Primjer serijske komunikacije

#include "mbed.h"

Serial pc(USBTX, USBRX); // tx, rx

int main() {
    pc.printf("Hello World!\n");
    while(1);
}
  1. Napišite program za prvi mbed, koji šalje analognu vrijednost drugom mbed-u i tu vrijednost ispisuje na terminalu.

    Moguće rješenje zadatka dano je sljedećim programom:

    Import programMAB_AnalogCommunication1

    A simple program that sends a value over analog output.


  2. Napišite program za drugi mbed, koji prima analognu vrijednost od prvog mbed-a.

    Moguće rješenje dano je sljedećim programom:

    Import programMAB_AnalogCommunication2

    A simple program that receives a value over analog input and displays it on a terminal.


  3. Pokrenite programe na oba mbed-a i oba terminala te promatrajte rezultate. Postoji li razlika u korištenju stereo line kabela i običnih žica? Utječu li smetnje na prijenos podataka? Na koji način je moguće te smetnje smanjiti?

Temperaturni senzor LM35

Na raspolaganju je temperaturni senzor LM35. Pročitajte osnovne informacije iz podatkovnog lista, spojite ga s mbed-om i napišite program koji na terminal ispisuje trenutnu temperaturu u laboratoriju, izmjerenu upravo LM35 temperaturnim senzorom. Obratite pozornost na 13. stranicu podatkovne liste gdje je prikazana jednadžba prema kojoj senzor skalira iznos izlaznog napona Vout. Modificirajte program za ispisivanje temperature, tako da dodate ispisivanje vrijednosti koje dobijete koristeći funkcije (AnalogIn klase) read() i read_u16(). Prilikom korištenja funkcije read_u16() potrebno je podatke s analognog ulaza spremati u varijable tipa int ili uint16_t. Razmislite i raspišite si kako je mbed došao do tih vrijednosti.

Fotootpornik

Na raspolaganju je fotootpornik NSL-19M51. Pročitajte osnovne informacije iz podatkovnog lista, spojite ga s mbed-om prema shemi prikazanoj u nastavku i napišite program koji na terminal ispisuje vrijednosti korištenjem funkcija read() i read_u16(). Također, testirajte isti program uz zamjenu mjesta otpornika i fotootpornika. Ovisno o vrijednostima koja dobijete koristeći funkciju read(), podjelite raspon tih vrijednosti na trećine tako da za prvu trećinu na terminalu ispisujete "Mrak", drugu "Normalno osvijetljenje" i treću "Jako osvijetljenje". Modificirajte program tako da ispisujete trenutnu vrijednost otpora fotootpornika.

/media/uploads/dfraj/pcschem.png

Čestitke!

Završili ste sve vježbe iz teme Primjeri korištenja analognih ulaza.

Povratak na naslovnu stranicu TVZ Mechatronics Team-a.


All wikipages