I denne vejledning skal vi designe et barometrisk trykmålesystem ved hjælp af BMP180 og ARDUINO. Først og fremmest for at grænseflade BMP180 til ARDUINO skal vi downloade et bibliotek specielt designet til BMP180. Dette bibliotek er tilgængeligt på: https://github.com/adafruit/Adafruit-BMP085-Library Efter vedhæftning af dette bibliotek kan vi kalde specielle funktioner, der gør det nemmere at arbejde med BMP180-sensoren.
Komponenter, der kræves
Hardware: Arduino uno-kort, forbindelsesstifter, 220Ω modstand, BMP180 barometrisk trykføler, 16x2 LCD, brødplade.
Software: Arduino om natten
Kredsløbsdiagram og arbejdsforklaring
Efter at have kaldt på header behøver vi ikke bekymre os om at etablere kommunikation mellem Arduino Uno og BMP180-sensoren. Vi kan ganske enkelt kalde på specielle funktioner, som gør det for os. Vi behøver kun at initialisere et LCD-display og vise de kaldte værdier fra SENSOR på det.
I 16x2 LCD er der overalt 16 ben, hvis der er baggrundslys, hvis der ikke er noget baggrundslys, vil der være i alt 14 ben. Man kan tænde eller lade bagbelysningsstifterne stå. Nu i de 14 stifter er der 8 data stifter (7-14 eller D0-D7), 2 Strømforsyning stifter (1 & 2 eller VSS & VDD eller GND & + 5V), 3 rd pin for kontraststyring (VEE-styringer, hvor tyk tegnene bør være vist) og 3 kontrolben (RS & RW & E).
I kredsløbet kan du bemærke, at jeg kun har taget to kontrolpinde, kontrastbit og LÆS / SKRIV bruges ikke ofte, så de kan kortsluttes til jorden. Dette sætter LCD i højeste kontrast og læsetilstand. Vi skal bare kontrollere ENABLE og RS-ben for at sende tegn og data i overensstemmelse hermed.
Forbindelserne, der foretages for LCD, er angivet nedenfor:
PIN1 eller VSS til jord
PIN2 eller VDD eller VCC til + 5v strøm
PIN3 eller VEE til jorden (giver maksimal kontrast bedst for en nybegynder)
PIN4 eller RS (Registrer valg) til PIN8 for ARDUINO UNO
PIN5 eller RW (læse / skrive) til jorden (sætter LCD i læsefunktion letter kommunikationen for brugeren)
PIN6 eller E (Aktivér) til PIN9 for ARDUINO UNO
PIN11 eller D4 til PIN10 for ARDUINO UNO
PIN12 eller D5 til PIN11 i ARDUINO UNO
PIN13 eller D6 til PIN12 for ARDUINO UNO
PIN14 eller D7 til PIN13 for ARDUINO UNO
ARDUINO IDE giver brugeren mulighed for at bruge LCD i 4 bit-tilstand. Denne type kommunikation gør det muligt for brugeren at mindske pin-brugen på ARDUINO, i modsætning til andre behøver ARDUINO ikke at blive programmeret separat for at bruge den i 4 it-tilstand, fordi ARDUINO som standard er indstillet til at kommunikere i 4 bit-tilstand. I kredsløbet kan du se, at vi har brugt 4bit kommunikation (D4-D7).
Så fra blot observation fra ovenstående tabel forbinder vi 6 ben på LCD til controller, hvor 4 ben er datapinde og 2 ben til kontrol.
For at forbinde BMP180 til Arduino Uno skal vi gøre følgende:
|
Først skal vi kalde headerfilen for at aktivere specialfunktioner "#include".
Med denne header-fil kan vi kalde funktioner, der kan læse værdier fra sensoren direkte uden nogen uklarhed.
Nu er vi nødt til at aktivere C-kommunikation, dette gøres ved at kalde “#include
Vi kan læse pres ved at kalde ”String PRESSUREVALUE = String (bmp.readPressure ());”. Her aflæses trykværdien fra sensoren og lagres i strengen “PRESSUREVALUE”.
Vi kan læse temperatur ved at kalde ”String TEMPARATUREVALUE = String (bmp.readTemperature ());”. Her læses trykværdien fra sensoren og gemmes i strengen “TEMPARATUREVALUE”.
Først skal vi aktivere headerfilen ('#include
For det andet skal vi fortælle tavlen, hvilken type LCD vi bruger her. Da vi har så mange forskellige typer LCD (som 20 * 4, 16 * 2, 16 * 1 osv.). Herinde skal vi interface en 16 * 2 LCD til UNO, så vi får 'lcd.begin (16,2);'. For 16 * 1 får vi 'lcd.begin (16,1);'.
I denne instruktion vil vi fortælle tavlen, hvor vi forbandt stifterne. De stifter, der er forbundet, skal vises i rækkefølge som “RS, En, D4, D5, D6, D7”. Disse ben skal vises korrekt. Da vi tilsluttede RS til PIN0 og så videre som vist i kredsløbsdiagrammet, repræsenterer vi pin-nummeret til kortet som “LiquidCrystallcd (0,1,8,9,10,11);”.
Efter først og fremmest er der kun tilbage at sende data, de data, der skal vises i LCD, skal skrives som “cd.print (" hej verden! ");”. Med denne kommando viser LCD'et 'hej verden!'.
Som du kan se, behøver vi ikke bekymre os om dette andet, vi skal bare initialisere, og UNO vil være klar til at vise data. Vi behøver ikke at skrive en programsløjfe for at sende data BYTE af BYTE her. Efter at have læst værdien fra sensoren skal vi vise dem på 16x2 LCD.