V tomto výučbe navrhneme systém na meranie barometrického tlaku pomocou BMP180 a ARDUINO. Najskôr pre prepojenie BMP180 s ARDUINO si musíme stiahnuť knižnicu špeciálne navrhnutú pre BMP180. Táto knižnica je k dispozícii na: https://github.com/adafruit/Adafruit-BMP085-Library Po pripojení tejto knižnice môžeme zavolať špeciálne funkcie, ktoré uľahčia prácu so snímačom BMP180.
Súčasti sú povinné
Hardware: doska Arduino uno, pripájacie piny, odpor 220Ω, snímač barometrického tlaku BMP180, 16x2 LCD, chlebová doska.
Softvér: Arduino každú noc
Schéma zapojenia a pracovné vysvetlenie
Po vyvolaní hlavičky sa nemusíme starať o nadviazanie komunikácie medzi Arduino Uno a snímačom BMP180. Môžeme si jednoducho vyvolať špeciálne funkcie, ktoré to urobia za nás. Potrebujeme iba inicializovať LCD a zobraziť na ňom volané hodnoty zo SNÍMAČA.
Na 16x2 LCD displeji je 16 pinov, ak je podsvietenie, ak nie je podsvietenie, bude ich celkovo 14 pinov. Jeden môže napájať alebo nechať kolíky podsvietenia. Teraz v 14 kolíkoch je 8 dátových kolíkov (7-14 alebo D0-D7), 2 kolíky napájacieho zdroja (1 a 2 alebo VSS a VDD alebo GND a + 5v), 3. kolík pre kontrolu kontrastu (VEE - určuje, aké silné by mali byť znaky) zobrazené) a 3 ovládacie kolíky (RS & RW & E).
V obvode môžete pozorovať, že som vzal iba dva ovládacie piny, kontrastný bit a READ / WRITE sa často nepoužívajú, takže môžu byť skratované k zemi. Toto nastavuje LCD do najvyššieho kontrastu a režimu čítania. Potrebujeme iba ovládať piny ENABLE a RS, aby sme mohli zodpovedajúcim spôsobom odosielať znaky a údaje.
Pripojenia, ktoré sa vykonávajú pre LCD, sú uvedené nižšie:
PIN1 alebo VSS na zem
PIN2 alebo VDD alebo VCC na napájanie + 5 V.
PIN3 alebo VEE na zem (poskytuje maximálny kontrast najlepšie pre začiatočníkov)
PIN4 alebo RS (výber registra) na PIN8 spoločnosti ARDUINO UNO
PIN5 alebo RW (čítanie / zápis) na zem (prepnutie LCD do režimu čítania uľahčuje komunikáciu pre používateľa)
PIN6 alebo E (povoliť) na PIN 9 ARDUINO UNO
PIN11 alebo D4 až PIN10 spoločnosti ARDUINO UNO
PIN12 alebo D5 až PIN11 spoločnosti ARDUINO UNO
PIN13 alebo D6 až PIN12 spoločnosti ARDUINO UNO
PIN14 alebo D7 až PIN13 spoločnosti ARDUINO UNO
ARDUINO IDE umožňuje užívateľovi používať LCD v 4 bitovom režime. Tento typ komunikácie umožňuje užívateľovi znížiť využitie pinov na ARDUINO, na rozdiel od iných nemusí byť ARDUINO naprogramované osobitne pre použitie v režime 4 it, pretože ARDUINO je štandardne nastavené na komunikáciu v 4 bitovom režime. V obvode je vidieť, že sme použili 4bitovú komunikáciu (D4-D7).
Takže iba z pozorovania z vyššie uvedenej tabuľky pripájame 6 pinov LCD k ovládaču, v ktorom 4 piny sú dátové piny a 2 piny pre riadenie.
Pre pripojenie BMP180 k Arduino Uno musíme urobiť nasledovné:
|
Najprv musíme zavolať hlavičkový súbor pre povolenie špeciálnych funkcií „#include“.
Pomocou tohto hlavičkového súboru môžeme volať funkcie, ktoré dokážu čítať hodnoty zo senzora priamo bez akýchkoľvek chmýří.
Teraz musíme povoliť komunikáciu C, čo sa deje volaním „#include
Tlak môžeme čítať volaním „String PRESSUREVALUE = String (bmp.readPressure ());“. Tu sa hodnota tlaku načíta zo snímača a uloží sa do reťazca „PRESSUREVALUE“.
Temparatúru môžeme čítať volaním „String TEMPARATUREVALUE = String (bmp.readTemperature ());“. Tu sa hodnota tlaku načíta zo snímača a uloží sa do reťazca „TEMPARATUREVALUE“.
Najprv musíme povoliť hlavičkový súbor ('#include
Po druhé musíme doske povedať, aký typ LCD tu používame. Pretože máme toľko rôznych typov displejov LCD (napríklad 20 * 4, 16 * 2, 16 * 1 atď.). Tu budeme prepojovať 16 * 2 LCD s UNO, takže dostaneme 'lcd.begin (16,2);'. Za 16 * 1 dostaneme 'lcd.begin (16,1);'.
V tejto inštrukcii povieme doske, kde sme pripojili kolíky. Kolíky, ktoré sú pripojené, majú byť zobrazené v poradí ako „RS, En, D4, D5, D6, D7“. Tieto špendlíky majú byť zobrazené správne. Pretože sme pripojili RS k PIN0 a tak ďalej, ako je znázornené na schéme zapojenia, reprezentujeme číslo kolíka na doske ako „LiquidCrystallcd (0,1,8,9,10,11);“.
Potom už ostáva iba odosielať údaje. Údaje, ktoré je potrebné zobraziť na LCD, by sa mali zapísať ako „cd.print („ ahoj, svet! “);“. Týmto príkazom sa na displeji LCD zobrazí „ahoj, svet!“.
Ako vidíte, o nič viac sa nemusíte starať, musíme iba inicializovať a UNO bude pripravená na zobrazenie údajov. Na to, aby sme tu odosielali údaje BYTE po BYTE, nemusíme písať programovú slučku. Po načítaní hodnoty zo senzora ich zobrazíme na 16x2 LCD.