In deze tutorial gaan we een barometerdrukmeetsysteem ontwerpen met behulp van BMP180 en ARDUINO. Allereerst moeten we voor het koppelen van BMP180 met ARDUINO een bibliotheek downloaden die specifiek is ontworpen voor BMP180. Deze bibliotheek is beschikbaar op: https://github.com/adafruit/Adafruit-BMP085-Library Nadat we die bibliotheek hebben toegevoegd, kunnen we speciale functies oproepen die het werken met de BMP180-sensor vergemakkelijken.
Componenten vereist
Hardware: Arduino uno-bord, verbindingspinnen, 220Ω-weerstand, BMP180-luchtdruksensor, 16x2 LCD, breadboard.
Software: Arduino elke avond
Schakelschema en uitleg van het werk
Nadat we om de header hebben gevraagd, hoeven we ons geen zorgen te maken over het tot stand brengen van communicatie tussen de Arduino Uno en de BMP180-sensor. We kunnen gewoon speciale functies inschakelen die dat voor ons doen. We hoeven alleen een LCD te initialiseren en de opgeroepen waarden van SENSOR erop te tonen.
In het 16x2 LCD-scherm zijn er in totaal 16 pinnen als er een achtergrondverlichting is, als er geen achtergrondverlichting is, zijn er in totaal 14 pinnen. Men kan de achterlichtpinnen van stroom voorzien of laten. Nu zijn er in de 14 pinnen 8 datapinnen (7-14 of D0-D7), 2 voedingspinnen (1 & 2 of VSS & VDD of GND & + 5v), 3 e pin voor contrastregeling (VEE-regelt hoe dik de tekens moeten zijn afgebeeld) en 3 controlepennen (RS & RW & E).
In het circuit kun je zien dat ik maar twee controlepennen heb genomen, het contrastbit en READ / WRITE worden niet vaak gebruikt, dus ze kunnen worden kortgesloten naar aarde. Dit plaatst LCD in het hoogste contrast en leesmodus. We hoeven alleen de ENABLE- en RS-pinnen te bedienen om tekens en gegevens dienovereenkomstig te verzenden.
De aansluitingen die zijn gemaakt voor LCD worden hieronder gegeven:
PIN1 of VSS naar aarde
PIN2 of VDD of VCC tot + 5v vermogen
PIN3 of VEE naar aarde (geeft maximaal contrast het beste voor een beginner)
PIN4 of RS (registerselectie) naar PIN8 van ARDUINO UNO
PIN5 of RW (lezen / schrijven) naar aarde (zet LCD in leesmodus vereenvoudigt de communicatie voor de gebruiker)
PIN6 of E (inschakelen) naarPIN9 van ARDUINO UNO
PIN11 of D4 naar PIN10 van ARDUINO UNO
PIN12 of D5 naar PIN11 van ARDUINO UNO
PIN13 of D6 naar PIN12 van ARDUINO UNO
PIN14 of D7 naar PIN13 van ARDUINO UNO
Met de ARDUINO IDE kan de gebruiker LCD in 4 bit-modus gebruiken. Dit type communicatie stelt de gebruiker in staat om het pingebruik op ARDUINO te verminderen, in tegenstelling tot andere hoeft de ARDUINO niet afzonderlijk te worden geprogrammeerd voor gebruik in 4 it-modus, omdat de ARDUINO standaard is ingesteld om te communiceren in 4-bit-modus. In het circuit kun je zien dat we gebruik hebben gemaakt van 4bit-communicatie (D4-D7).
Dus van louter observatie van bovenaf, verbinden we 6 pinnen van het LCD-scherm met de controller waarin 4 pinnen datapinnen zijn en 2 pinnen voor controle.
Om de BMP180 met Arduino Uno te verbinden, moeten we het volgende doen:
|
Eerst moeten we het header-bestand aanroepen voor het inschakelen van speciale functies "#include".
Met dit header-bestand kunnen we functies aanroepen die waarden direct uit Sensor kunnen lezen, zonder gedoe.
Nu moeten we de C-communicatie inschakelen, dit wordt gedaan door “#include
We kunnen de druk aflezen door ”String PRESSUREVALUE = String (bmp.readPressure ());” aan te roepen. Hier wordt de drukwaarde van de sensor uitgelezen en opgeslagen in de string "PRESSUREVALUE".
We kunnen de temperatuur lezen door ”String TEMPARATUREVALUE = String (bmp.readTemperature ());” aan te roepen. Hier wordt de drukwaarde van de sensor afgelezen en opgeslagen in de string "TEMPARATUREVALUE".
Eerst moeten we het header-bestand ('#include
Ten tweede moeten we het bord vertellen welk type LCD we hier gebruiken. Omdat we zoveel verschillende soorten LCD hebben (zoals 20 * 4, 16 * 2, 16 * 1 etc.). Hier gaan we een 16 * 2 LCD-scherm verbinden met de UNO, dus we krijgen 'lcd.begin (16,2);'. Voor 16 * 1 krijgen we 'lcd.begin (16,1);'.
In deze instructie gaan we het bord vertellen waar we de pinnen hebben aangesloten. De pinnen die zijn aangesloten moeten worden weergegeven in de volgorde "RS, En, D4, D5, D6, D7". Deze pinnen moeten correct worden weergegeven. Omdat we RS hebben aangesloten op PIN0, enzovoort, zoals weergegeven in het schakelschema, stellen we het pinnummer voor aan boord als "LiquidCrystallcd (0,1,8,9,10,11);".
Nadat er boven is alles wat er over is om gegevens te verzenden, de gegevens die op het LCD-scherm moeten worden weergegeven, moeten worden geschreven als "cd.print (" hallo, wereld! ");". Met dit commando geeft het LCD-scherm 'hallo, wereld!' Weer.
Zoals u kunt zien, hoeven we ons hier verder geen zorgen over te maken, we hoeven alleen maar te initialiseren en de UNO is klaar om gegevens weer te geven. We hoeven geen programmalus te schrijven om de gegevens BYTE door BYTE hier te verzenden. Na het lezen van de waarde van de sensor gaan we ze weergeven op een 16x2 LCD.