V tej vadnici bomo zasnovali sistem za merjenje zračnega tlaka z uporabo BMP180 in ARDUINO. Za povezovanje BMP180 z ARDUINO moramo najprej prenesti knjižnico, posebej zasnovano za BMP180. Ta knjižnica je na voljo na: https://github.com/adafruit/Adafruit-BMP085-Library Po pritrditvi te knjižnice lahko pokličemo posebne funkcije, ki bodo olajšale delo s senzorjem BMP180.
Potrebne komponente
Strojna oprema: Arduino uno plošča, priključni zatiči, upor 220Ω, barometrični senzor tlaka BMP180, LCD 16x2, plošča za kruh.
Programska oprema: Arduino ponoči
Shema vezja in delovna razlaga
Po klicu glave ni treba skrbeti za vzpostavitev komunikacije med Arduino Uno in senzorjem BMP180. Lahko preprosto pokličemo posebne funkcije, ki bodo to storile namesto nas. Inicializirati moramo le LCD-prikazovalnik in na njem prikazati klicane vrednosti s SENZORJA.
Na 16x2 LCD-ju je 16 zatičev, če obstaja osvetlitev ozadja, če ni osvetlitve ozadja, bo skupaj 14 zatičev. Lahko napajate ali pustite zatiče zadnje luči. Sedaj v 14 zatiči obstaja 8 podatkovnih zatiči (7-14 ali D0-D7), 2 Mrežni zatiči (1 & 2 ali VSS in VDD ali GND in + 5v), 3 rd pin za nadzor kontrasta (vee-kontrole kako debel znake morajo biti prikazan) in 3 krmilne nožice (RS & RW & E).
V vezju lahko opazite, da sem vzel le dva krmilna zatiča, kontrastni bit in READ / WRITE se ne uporabljata pogosto, tako da jih je mogoče kratko spojiti na maso. To LCD zaslon postavi v najvišji kontrast in način branja. Samo nadzorovati moramo ENABLE in RS pin, da ustrezno pošljemo znake in podatke.
Povezave za LCD so podane spodaj:
PIN1 ali VSS na ozemljitev
PIN2 ali VDD ali VCC do + 5v moči
PIN3 ali VEE na tla (za začetnike daje največji kontrast)
PIN4 ali RS (Registracija izbire) do PIN8 ARDUINO UNO
PIN5 ali RW (branje / pisanje) na ozemljitev (LCD v načinu branja olajša komunikacijo za uporabnika)
PIN6 ali E (Omogoči) do PIN9 ARDUINO UNO
PIN11 ali D4 do PIN10 ARDUINO UNO
PIN12 ali D5 do PIN11 ARDUINO UNO
PIN13 ali D6 do PIN12 ARDUINO UNO
PIN14 ali D7 do PIN13 ARDUINO UNO
ARDUINO IDE omogoča uporabniku uporabo LCD v 4-bitnem načinu. Ta vrsta komunikacije omogoča uporabniku, da zmanjša uporabo pinov na ARDUINO, v nasprotju z drugimi pa ARDUINO ni treba programirati ločeno za uporabo v načinu 4 it, ker je privzeto ARDUINO nastavljen za komunikacijo v 4 bitnem načinu. V vezju lahko vidite, da smo uporabili 4-bitno komunikacijo (D4-D7).
Iz zgolj opazovanja iz zgornje tabele torej na krmilnik povežemo 6 nožic LCD-ja, pri čemer so 4 nožice podatkovni nožki in 2 nožici za nadzor.
Za povezavo BMP180 z Arduino Uno moramo narediti naslednje:
|
Najprej moramo poklicati datoteko glave za omogočanje posebnih funkcij "#include".
S to datoteko glave lahko prikličemo funkcije, ki lahko odčitajo vrednosti s senzorja neposredno, brez kakršnih koli nejasnosti.
Zdaj moramo omogočiti komunikacijo C, to storimo s klicem »#include
Pritisk lahko beremo tako, da pokličemo "String PRESSUREVALUE = String (bmp.readPressure ());". Tu bo vrednost tlaka odčitana s senzorja in bo shranjena v nizu “PRESSUREVALUE”.
Temparature lahko beremo tako, da pokličemo "String TEMPARATUREVALUE = String (bmp.readTemperature ());". Tu bo vrednost tlaka odčitana s senzorja in bo shranjena v nizu “TEMPARATUREVALUE”.
Najprej moramo omogočiti datoteko z glavo ('#include
Drugič, plošči moramo povedati, katero vrsto LCD zaslona uporabljamo tukaj. Ker imamo toliko različnih vrst LCD (na primer 20 * 4, 16 * 2, 16 * 1 itd.). Tukaj bomo povezali LCD 16 * 2 z UNO, tako da bomo dobili 'lcd.begin (16,2);'. Za 16 * 1 dobimo 'lcd.begin (16,1);'.
V tem navodilu bomo plošči povedali, kje smo povezali nožice. Povezane nožice je treba predstaviti po vrstnem redu kot "RS, En, D4, D5, D6, D7". Ti zatiči morajo biti pravilno predstavljeni. Ker smo RS povezali na PIN0 in tako naprej, kot je prikazano v vezju, predstavljamo številko pina na ploščici kot “LiquidCrystallcd (0,1,8,9,10,11);”.
Ko zgoraj ostane samo še pošiljanje podatkov, podatke, ki jih je treba prikazati na LCD-prikazovalniku, zapišite kot “cd.print (“ živjo, svet! ”);”. S tem ukazom se na LCD-prikazovalniku prikaže "zdravo, svet!".
Kot lahko vidite, nas nič drugega ne skrbi, samo inicializirati bomo in UNO bo pripravljen za prikaz podatkov. Za pošiljanje podatkov po bajtih tukaj ni treba zapisati programske zanke. Po odčitku vrednosti s senzorja jih bomo prikazali na LCD 16x2.