I denne opplæringen skal vi designe et barometrisk trykkmålesystem ved hjelp av BMP180 og ARDUINO. Først og fremst for å koble BMP180 til ARDUINO, må vi laste ned et bibliotek spesielt designet for BMP180. Dette biblioteket er tilgjengelig på: https://github.com/adafruit/Adafruit-BMP085-Library Etter at vi har lagt ved biblioteket, kan vi ringe spesielle funksjoner som vil lette arbeidet med BMP180-sensoren.
Komponenter kreves
Maskinvare: Arduino uno-kort, tilkoblingspinner, 220Ω motstand, BMP180 barometrisk trykkføler, 16x2 LCD, brødbrett.
Programvare: Arduino nattlig
Kretsdiagram og arbeidsforklaring
Etter å ha bedt om topptekst trenger vi ikke bekymre oss for å etablere kommunikasjon mellom Arduino Uno og BMP180-sensoren. Vi kan ganske enkelt kalle inn spesielle funksjoner som vil gjøre det for oss. Vi trenger bare å initialisere en LCD og vise de ringte verdiene fra SENSOR på den.
I 16x2 LCD er det 16 pinner overalt hvis det er baklys, hvis det ikke er noe bakgrunnslys, vil det være totalt 14 pinner. Man kan drive eller la baklyspinnene ligge. Nå i de 14 pinnene er det 8 datapinner (7-14 eller D0-D7), 2 strømforsyningspinner (1 & 2 eller VSS & VDD eller GND & + 5v), 3. pinne for kontrastkontroll (VEE-kontrollerer hvor tykke tegnene skal være vist) og 3 kontrollpinner (RS & RW & E).
I kretsen kan du observere at jeg bare har tatt to kontrollpinner, kontrastbiten og LES / SKRIV blir ikke ofte brukt slik at de kan kortsluttes til bakken. Dette setter LCD i høyest kontrast og lesemodus. Vi trenger bare å kontrollere ENABLE- og RS-pinner for å sende tegn og data tilsvarende.
Tilkoblingene som gjøres for LCD er gitt nedenfor:
PIN1 eller VSS til bakken
PIN2 eller VDD eller VCC til + 5v strøm
PIN3 eller VEE til jord (gir maksimal kontrast best for en nybegynner)
PIN4 eller RS (Registrer valg) til PIN8 for ARDUINO UNO
PIN5 eller RW (lese / skrive) til bakken (setter LCD i lesemodus letter kommunikasjonen for brukeren)
PIN6 eller E (Aktiver) til PIN9 av ARDUINO UNO
PIN11 eller D4 til PIN10 for ARDUINO UNO
PIN12 eller D5 til PIN11 for ARDUINO UNO
PIN13 eller D6 til PIN12 for ARDUINO UNO
PIN14 eller D7 til PIN13 for ARDUINO UNO
ARDUINO IDE lar brukeren bruke LCD i 4-biters modus. Denne typen kommunikasjon gjør det mulig for brukeren å redusere pin-bruken på ARDUINO, i motsetning til andre, trenger ARDUINO ikke å bli programmert separat for å bruke den i 4 it-modus, fordi ARDUINO som standard er konfigurert til å kommunisere i 4-biters modus. I kretsen kan du se at vi har brukt 4-bits kommunikasjon (D4-D7).
Så fra bare observasjon fra tabellen ovenfor kobler vi 6 pinner på LCD til kontrolleren der 4 pinner er datapinner og 2 pinner for kontroll.
For å koble BMP180 til Arduino Uno, må vi gjøre følgende:
|
Først må vi kalle overskriftsfilen for å aktivere spesialfunksjoner "#include".
Med denne headerfilen kan vi ringe funksjoner som kan lese verdier fra Sensor direkte uten fuzz.
Nå må vi aktivere C-kommunikasjonen, dette gjøres ved å ringe “#include
Vi kan lese press ved å ringe ”String PRESSUREVALUE = String (bmp.readPressure ());”. Her vil trykkverdien avleses fra sensoren og lagres i strengen “PRESSUREVALUE”.
Vi kan lese temperaturen ved å ringe ”String TEMPARATUREVALUE = String (bmp.readTemperature ());”. Her vil trykkverdien avleses fra sensoren og lagres i strengen “TEMPARATUREVALUE”.
Først må vi aktivere toppfilen ('#include
For det andre må vi fortelle tavlen hvilken type LCD vi bruker her. Siden vi har så mange forskjellige typer LCD (som 20 * 4, 16 * 2, 16 * 1 osv.). Her skal vi grensesnitt 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 instruksjonen skal vi fortelle tavlen hvor vi koblet pinnene, Pinnene som er koblet til skal vises i rekkefølge som “RS, En, D4, D5, D6, D7”. Disse pinnene skal vises riktig. Siden vi koblet RS til PIN0 og så videre, som vist i kretsskjemaet, representerer vi pin-nummeret til kortet som “LiquidCrystallcd (0,1,8,9,10,11);”.
Etter det som er igjen er det bare å sende data, dataene som må vises i LCD skal skrives som "cd.print (" hallo, verden! ");". Med denne kommandoen viser LCD-skjermen 'hallo, verden!'.
Som du kan se trenger vi ikke bekymre oss for noe annet, vi må bare initialisere, og UNO vil være klar til å vise data. Vi trenger ikke å skrive en programsløyfe for å sende data BYTE av BYTE her. Etter å ha lest verdien fra sensoren skal vi vise dem på 16x2 LCD.