Šajā apmācībā mēs izstrādāsim barometriskā spiediena mērīšanas sistēmu, izmantojot BMP180 un ARDUINO. Pirmkārt, lai BMP180 varētu sasaistīt ar ARDUINO, mums ir jālejupielādē bibliotēka, kas īpaši paredzēta BMP180. Šī bibliotēka ir pieejama vietnē: https://github.com/adafruit/Adafruit-BMP085-Library Pēc šīs bibliotēkas pievienošanas mēs varam izsaukt īpašas funkcijas, kas atvieglos darbu ar BMP180 sensoru.
Nepieciešamās sastāvdaļas
Aparatūra: Arduino uno dēlis, savienojošās tapas, 220Ω rezistors, BMP180 barometriskā spiediena sensors, 16x2 LCD, maizes dēlis.
Programmatūra: Arduino katru nakti
Ķēdes shēma un darba skaidrojums
Pēc galvenes izsaukšanas mums nav jāuztraucas par komunikācijas izveidi starp Arduino Uno un BMP180 sensoru. Mēs varam vienkārši izsaukt īpašas funkcijas, kas to darīs mūsu vietā. Mums tikai jāinicializē LCD un tajā jāparāda SENSOR izsauktās vērtības.
16x2 LCD ekrānā ir 16 tapas, ja ir aizmugures apgaismojums, ja nav aizmugures apgaismojuma, būs 14 tapas. Var darbināt vai atstāt aizmugurējās gaismas tapas. Tagad 14 tapas ir 8 datu tapas (7-14 vai D0-D7), 2 el piegādes tapas (1 un 2 vai VSS un VDD vai GND & + 5v), 3 rd pin kontrasta kontrole (Vee-kontrolē, cik biezu rakstzīmēm jābūt attēlā) un 3 vadības tapas (RS & RW & E).
Kontūrā jūs varat novērot, ka esmu paņēmis tikai divus vadības tapas, kontrasta bits un READ / WRITE netiek bieži izmantoti, lai tos varētu saīsināt. Tas nodrošina LCD kontrasta un lasīšanas režīmu. Mums vienkārši jākontrolē ENABLE un RS tapas, lai atbilstoši nosūtītu rakstzīmes un datus.
LCD savienojumi ir izveidoti zemāk:
PIN1 vai VSS uz zemi
PIN2 vai VDD vai VCC līdz + 5v jaudai
PIN3 vai VEE uz zemes (iesācējam vislabāk nodrošina maksimālu kontrastu)
PIN4 vai RS (Reģistrēt atlasi) uz ARDUINO UNO PIN8
PIN5 vai RW (lasīšana / rakstīšana) uz zemi (LCD nodošana lasīšanas režīmā atvieglo saziņu lietotājam)
PIN6 vai E (iespējot) uz PIN9 no ARDUINO UNO
ARDUINO UNO PIN11 vai D4 līdz PIN10
ARDUINO UNO PIN12 vai D5 līdz PIN11
ARDUINO UNO PIN13 vai D6 līdz PIN12
ARDUINO UNO PIN14 vai D7 līdz PIN13
ARDUINO IDE ļauj lietotājam izmantot LCD 4 bitu režīmā. Šis saziņas veids ļauj lietotājam samazināt piespraudes izmantošanu ARDUINO, atšķirībā no citiem, ARDUINO nav jāprogrammē atsevišķi, lai to izmantotu 4 it režīmā, jo pēc noklusējuma ARDUINO ir iestatīts saziņai 4 bitu režīmā. Ķēdē var redzēt, vai ir izmantota 4 bitu komunikācija (D4-D7).
Tātad, vienkārši novērojot no tabulas augšpusē, mēs savienojam 6 LCD tapas ar kontrolieri, kurā 4 tapas ir datu tapas un 2 tapas kontrolei.
Lai savienotu BMP180 ar Arduino Uno, mums jādara šādi:
|
Vispirms mums jāzvana galvenes fails, lai iespējotu īpašas funkcijas “#include”.
Izmantojot šo galvenes failu, mēs varam izsaukt funkcijas, kas var nolasīt vērtības no sensora tieši bez izplūduma.
Tagad mums jāiespējo C komunikācija, tas tiek darīts, izsaucot “#include
Mēs varam nolasīt spiedienu, izsaucot “String PRESSUREVALUE = String (bmp.readPressure ());”. Šeit spiediena vērtība tiks nolasīta no sensora un tiek saglabāta virknē “PRESSUREVALUE”.
Mēs varam nolasīt temparatūru, izsaucot “String TEMPARATUREVALUE = String (bmp.readTemperature ());”. Šeit spiediena vērtība tiks nolasīta no sensora un tiek saglabāta virknē “TEMPARATUREVALUE”.
Vispirms mums jāiespējo galvenes fails ('#include
Otrkārt, mums jāpaziņo dēlim, kāda veida LCD mēs šeit izmantojam. Tā kā mums ir tik daudz dažādu veidu LCD (piemēram, 20 * 4, 16 * 2, 16 * 1 utt.). Šeit mēs saskarnei ar 16 * 2 LCD saskarni pievienosimies UNO, lai iegūtu “lcd.begin (16,2);”. Par 16 * 1 iegūstam “lcd.begin (16,1);”.
Šajā instrukcijā mēs pateiksim tāfelei, kur mēs savienojām tapas. Savienotie tapas tiks attēlotas secībā kā "RS, En, D4, D5, D6, D7". Šīs tapas ir pareizi attēlotas. Tā kā mēs savienojām RS ar PIN0 un tā tālāk, kā parādīts ķēdes diagrammā, mēs parādām tapas tapas numuru kā “LiquidCrystallcd (0,1,8,9,10,11);”.
Pēc tam, kad ir atlicis tikai nosūtīt datus, dati, kas jāparāda LCD, jāraksta kā “cd.print (“ sveiki, pasaule! ”);”. Ar šo komandu LCD displejā parādās “sveiki, pasaule!”.
Kā redzat, mums nav jāuztraucas par šo visu citu, mums vienkārši ir jāinicializē, un ANO būs gatava attēlot datus. Lai šeit nosūtītu BYTE by BYTE datus, mums nav jāraksta programmas cilpa. Pēc sensora vērtības nolasīšanas mēs tos parādīsim 16x2 LCD ekrānā.