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 je dolje navedeni program već instaliran na računalima u labosu.
Kako bi osigurali serijsku komunikaciju mbed-a s računalom potrebno je instalirati program za komunikaciju (engl. Terminal). Preporuča se korištenje programa Tera Term kojeg možete preuzeti s ove poveznice.
- 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:
- 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....
- 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 postavljanje prvog terminala za prvi mikroupravljač s kojeg ćete slati podatke.
- Za otvaranje drugog prozora terminala na kojem će se ispisivati podaci koje primate na drugom mikroupravljaču potrebno je na prvom prozoru terminala u traci izbornika odabrati padajući izbornik File i u njemu opciju New connection... te ponoviti sve prethodne korake.
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); }
- 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.
- 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.
- 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?
Napomena
Za sljedeće zadatke dovoljno je koristiti samo jedan mikroupravljač.
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.
Čestitke!
Završili ste sve vježbe iz teme Primjeri korištenja analognih ulaza.
Povratak na naslovnu stranicu TVZ Mechatronics Team-a.