Šioje pamokoje mes suprojektuosime barometrinio slėgio matavimo sistemą naudodami BMP180 ir ARDUINO. Pirmiausia norėdami susieti BMP180 su ARDUINO, turime atsisiųsti biblioteką, specialiai sukurtą BMP180. Ši biblioteka pasiekiama šiuo adresu: https://github.com/adafruit/Adafruit-BMP085-Library Pritvirtinę tą biblioteką, galime iškviesti specialias funkcijas, kurios palengvins darbą su BMP180 jutikliu.
Būtini komponentai
Aparatūra: „ Arduino uno“ plokštė, jungiamieji kaiščiai, 220Ω rezistorius, BMP180 barometrinio slėgio jutiklis, 16x2 LCD, duonos lenta.
Programinė įranga: „ Arduino“ kas vakarą
Grandinės schema ir darbo paaiškinimas
Paskambinę antraštei, mums nereikia jaudintis užmezgant ryšį tarp „Arduino Uno“ ir BMP180 jutiklio. Mes galime tiesiog pasikviesti specialias funkcijas, kurios tai padarys mums. Mums tereikia inicijuoti skystųjų kristalų ekraną ir jame rodyti iškviestas SENSOR reikšmes.
16x2 skystųjų kristalų ekrane yra 16 kontaktų, jei yra užpakalinė lemputė, jei nėra užpakalinės šviesos, iš viso bus 14 kontaktų. Galima maitinti arba palikti galinio apšvietimo kaiščius. Dabar 14 kaiščių yra 8 duomenų kaiščiai (7-14 arba D0-D7), 2 elektros tiekimo kaiščių (1 & 2 arba Vss & VDD arba GND & + 5V), 3 -oji kaištis kontrasto valdymas (V formos,-kontroliuoja, kaip storio simboliai turėtų būti parodyta) ir 3 valdymo kaiščius (RS & RW & E).
Grandinėje galite pastebėti, kad aš paėmiau tik du valdymo kaiščius, kontrasto bitai ir READ / WRITE nėra dažnai naudojami, todėl juos galima sutrumpinti. Tai padidina LCD kontrasto ir skaitymo režimą. Mes tiesiog turime valdyti ENABLE ir RS smeigtukus, kad galėtume atitinkamai siųsti simbolius ir duomenis.
LCD jungtys pateikiamos žemiau:
PIN1 arba VSS į žemę
PIN2 arba VDD arba VCC iki + 5v maitinimo
PIN3 arba VEE į žemę (suteikia maksimalų kontrastą pradedantiesiems)
PIN4 arba RS („Register Selection“) į „ARDUINO UNO“ PIN8
PIN5 arba RW (skaitymas / rašymas) į žemę (įjungus skystųjų kristalų ekraną skaitymo režimu, palengvinamas ryšys vartotojui)
PIN6 arba E (įjungti) į PIN9 iš ARDUINO UNO
„ARDUINO UNO“ PIN11 arba D4 – PIN10
„ARDUINO UNO“ PIN12 arba D5 – PIN11
„ARDUINO UNO“ PIN13 arba D6 – PIN12
„ARDUINO UNO“ PIN14 arba D7 – PIN13
„ARDUINO IDE“ leidžia vartotojui naudoti LCD ekraną 4 bitų režimu. Šio tipo ryšys leidžia vartotojui sumažinti kaiščių naudojimą „ARDUINO“, skirtingai nei kiti, „ARDUINO“ nereikia programuoti atskirai, norint jį naudoti „4 it“ režimu, nes pagal numatytuosius nustatymus „ARDUINO“ yra nustatytas palaikyti ryšį 4 bitų režimu. Grandinėje galite pamatyti, ar naudojamas 4 bitų ryšys (D4-D7).
Taigi vien nuo stebėjimo iš viršaus lentelės sujungiame 6 LCD kaiščius su valdikliu, kuriame 4 kaiščiai yra duomenų kaiščiai ir 2 valdikliai.
Norėdami prijungti BMP180 prie „Arduino Uno“, turime atlikti šiuos veiksmus:
|
Pirmiausia turime iškviesti antraštės failą, kad įgalintume specialias funkcijas, „#include“.
Naudodami šį antraštės failą, mes galime iškviesti funkcijas, kurios gali tiesiogiai nuskaityti „Sensor“ reikšmes be jokio neryškumo.
Dabar turime įjungti C ryšį, tai daroma paskambinus „#include
Mes galime perskaityti spaudimą paskambinę „String PRESSUREVALUE = String (bmp.readPressure ());“. Čia slėgio vertė bus nuskaityta iš jutiklio ir įrašoma eilutėje „PRESSUREVALUE“.
Temparatūrą galime perskaityti paskambinę „String TEMPARATUREVALUE = String (bmp.readTemperature ());“. Čia slėgio vertė bus nuskaityta iš jutiklio ir išsaugoma eilutėje „TEMPARATUREVALUE“.
Pirmiausia turime įgalinti antraštės failą ('#include
Antra, lentai turime pasakyti, kokio tipo LCD mes čia naudojame. Kadangi mes turime tiek daug skirtingų tipų LCD (pvz., 20 * 4, 16 * 2, 16 * 1 ir kt.). Čia mes sujungsime 16 * 2 skystųjų kristalų ekraną su UNO, kad gautume „lcd.begin (16,2);“. Už 16 * 1 gauname „lcd.begin (16,1);“.
Šioje instrukcijoje mes lentai pasakysime, kur mes sujungėme kaiščius. Sujungti kaiščiai turi būti vaizduojami taip: „RS, En, D4, D5, D6, D7“. Šie kaiščiai turi būti teisingai pavaizduoti. Kadangi mes prijungėme RS prie PIN0 ir pan., Kaip parodyta grandinės schemoje, lentos smeigtuko skaičių mes atstovaujame kaip „LiquidCrystallcd (0,1,8,9,10,11);“.
Po to, kai liko tik siųsti duomenis, LCD ekrane rodomi duomenys turėtų būti užrašyti „cd.print („ labas, pasauli! “);“. Su šia komanda LCD ekrane rodoma „labas, pasauli!“.
Kaip matote, mums nereikia jaudintis dėl nieko kito, mes tiesiog turime inicijuoti ir UNO bus pasirengusi rodyti duomenis. Mes neprivalome rašyti programos ciklo, norėdami čia siųsti BYTE by BYTE duomenis. Perskaitę jutiklio vertę, mes juos parodysime 16x2 LCD ekrane.