V tomto tutoriálu navrhneme systém měření barometrického tlaku pomocí BMP180 a ARDUINO. Nejprve pro propojení BMP180 s ARDUINO si musíme stáhnout knihovnu speciálně navrženou pro BMP180. Tato knihovna je k dispozici na: https://github.com/adafruit/Adafruit-BMP085-Library Po připojení této knihovny můžeme zavolat speciální funkce, které usnadní práci se senzorem BMP180.
Požadované komponenty
Hardware: deska Arduino uno, připojovací kolíky, rezistor 220 Ω, snímač barometrického tlaku BMP180, 16x2 LCD, chlebová deska.
Software: Arduino každou noc
Schéma zapojení a pracovní vysvětlení
Po volání hlavičky se nemusíme starat o navázání komunikace mezi Arduino Uno a snímačem BMP180. Můžeme jednoduše vyvolat speciální funkce, které to udělají za nás. Musíme pouze inicializovat LCD a ukázat na něm volané hodnoty ze SENZORU.
V 16x2 LCD je 16 kolíků, pokud je podsvícení, pokud není podsvícení, bude celkem 14 kolíků. Jeden může napájet nebo nechat kolíky podsvícení. Nyní ve 14 kolíky jsou 8 datových kolíky (7-14 nebo D0-D7), 2 napájecí kolíky elektrárny (1 & 2 nebo VSS a VDD nebo GND a + 5 V), 3 rd pin pro řízení kontrastu (VEE-určuje, jak silná znaky musí být a 3 kontrolní piny (RS & RW & E).
V obvodu můžete pozorovat, že jsem vzal pouze dva ovládací piny, kontrastní bit a READ / WRITE se často nepoužívají, takže mohou být zkratovány na zem. LCD se tak dostane do režimu nejvyššího kontrastu a čtení. Abychom mohli odpovídajícím způsobem odesílat znaky a data, musíme pouze ovládat piny ENABLE a RS.
Připojení, která se provádí pro LCD, jsou uvedena níže:
PIN1 nebo VSS k zemi
PIN2 nebo VDD nebo VCC na + 5V napájení
PIN3 nebo VEE k zemi (poskytuje maximální kontrast nejlepší pro začátečníky)
PIN4 nebo RS (výběr registru) na PIN8 ARDUINO UNO
PIN5 nebo RW (čtení / zápis) na zem (přepnutí LCD do režimu čtení usnadňuje uživateli komunikaci)
PIN6 nebo E (povolit) na PIN9 ARDUINO UNO
PIN11 nebo D4 až PIN10 společnosti ARDUINO UNO
PIN12 nebo D5 až PIN11 společnosti ARDUINO UNO
PIN13 nebo D6 až PIN12 společnosti ARDUINO UNO
PIN14 nebo D7 až PIN13 společnosti ARDUINO UNO
ARDUINO IDE umožňuje uživateli používat LCD ve 4bitovém režimu. Tento typ komunikace umožňuje uživateli snížit využití pinů na ARDUINO, na rozdíl od jiných nemusí být ARDUINO naprogramováno samostatně pro použití v režimu 4 it, protože ve výchozím nastavení je ARDUINO nastaveno na komunikaci ve 4 bitovém režimu. V obvodu můžete vidět, že jsme použili 4bitovou komunikaci (D4-D7).
Takže z pouhého pozorování z výše uvedené tabulky spojujeme 6 pinů LCD k řadiči, ve kterém 4 piny jsou datové piny a 2 piny pro ovládání.
Pro připojení BMP180 k Arduino Uno musíme udělat následující:
|
Nejprve musíme zavolat soubor záhlaví pro povolení speciálních funkcí „#include“.
S tímto hlavičkovým souborem můžeme volat funkce, které umí číst hodnoty ze senzoru přímo bez jakéhokoli chmýření.
Nyní musíme povolit komunikaci C, to se provádí voláním „#include
Tlak můžeme přečíst voláním „String PRESSUREVALUE = String (bmp.readPressure ());“. Zde se načte hodnota tlaku ze snímače a uloží se do řetězce „PRESSUREVALUE“.
Můžeme číst temparaturu voláním „String TEMPARATUREVALUE = String (bmp.readTemperature ());“. Zde se načte hodnota tlaku ze snímače a uloží se do řetězce „TEMPARATUREVALUE“.
Nejprve musíme povolit hlavičkový soubor ('#include
Zadruhé musíme desce říct, jaký typ LCD zde používáme. Protože máme tolik různých typů LCD (například 20 * 4, 16 * 2, 16 * 1 atd.). Zde budeme propojovat 16 * 2 LCD s UNO, takže dostaneme 'lcd.begin (16,2);'. Za 16 * 1 dostaneme 'lcd.begin (16,1);'.
V tomto pokynu řekneme desce, kde jsme připojili piny. Piny, které jsou připojeny, mají být zobrazeny v pořadí „RS, En, D4, D5, D6, D7“. Tyto piny musí být správně znázorněny. Protože jsme připojili RS k PIN0 atd., Jak je znázorněno v schématu zapojení, reprezentujeme číslo pinu na desce jako „LiquidCrystallcd (0,1,8,9,10,11);“.
Poté už zbývá jen odeslat data, data, která je třeba zobrazit na LCD, by měla být zapsána jako „cd.print („ ahoj, svět! “);“. S tímto příkazem LCD zobrazí „ahoj, svět!“.
Jak vidíte, o nic jiného se nemusíme starat, musíme pouze inicializovat a UNO bude připraveno k zobrazení dat. Nemusíme psát programovou smyčku, abychom zde mohli odesílat data BYTE po BYTE. Po načtení hodnoty ze snímače je zobrazíme na 16x2 LCD.