Ebben az oktatóanyagban megtervezzük a barometrikus nyomásmérő rendszert a BMP180 és az ARDUINO segítségével. Először is a BMP180 és az ARDUINO összekapcsolásához le kell töltenünk egy könyvtárat, amelyet kifejezetten a BMP180-hoz terveztek. Ez a könyvtár a következő címen érhető el: https://github.com/adafruit/Adafruit-BMP085-Library A könyvtár csatolása után speciális funkciókat hívhatunk meg, amelyek megkönnyítik a BMP180 érzékelő használatát.
Szükséges alkatrészek
Hardver: Arduino uno tábla, csatlakozó csapok, 220Ω ellenállás, BMP180 barometrikus nyomásérzékelő, 16x2 LCD, kenyérlap.
Szoftver: Arduino éjszakánként
Áramkör diagram és magyarázat
A fejléc felszólítása után nem kell aggódnunk az Arduino Uno és a BMP180 érzékelő közötti kommunikáció létrehozása miatt. Egyszerűen hívhatunk speciális funkciókat, amelyek ezt megteszik helyettünk. Csak egy LCD-t kell inicializálnunk, és meg kell mutatnunk rajta a SENSOR hívott értékeit.
A 16x2 LCD-ben 16 érintkező van, ha van háttérvilágítás, ha nincs háttérvilágítás, akkor összesen 14 tű lesz. A hátsó lámpa csapjai bekapcsolhatók, vagy elhagyhatók. Most a 14 csapok vannak 8 adatok csapok (7-14 vagy D0-D7), 2 tápegység csapok (1 & 2 vagy VSS & VDD vagy GND & + 5V), 3 rd pin kontraszt vezérlő (VEE-kontrollok milyen vastag a karaktereket kell lennie ábra) és 3 vezérlőcsap (RS & RW & E).
Az áramkörben megfigyelhetõ, hogy csak két vezérlõ csapot vettem elõ, a kontrasztbitet és a READ / WRITE-t nem használják gyakran, így testzárlatosak lehetnek. Ez az LCD-t a legnagyobb kontrasztú és olvasási módba helyezi. Csak az ENABLE és RS csapokat kell vezérelnünk, hogy a karaktereket és az adatokat ennek megfelelően küldhessük el.
Az LCD-hez kapcsolódó csatlakozások az alábbiak:
PIN1 vagy VSS a földre
PIN2 vagy VDD vagy VCC + 5v teljesítményig
PIN3 vagy VEE földelés (a legjobb kontrasztot nyújtja a kezdőknek)
PIN4 vagy RS (Register Selection) az ARDUINO UNO PIN8 kódjához
PIN5 vagy RW (olvasás / írás) a földre (az LCD-t olvasási módba állítja, megkönnyíti a kommunikációt a felhasználó számára)
PIN6 vagy E (engedélyezés) a PIN9-hez az ARDUINO UNO-nál
Az ARDUINO UNO PIN11 vagy D4 PIN10 kódjához
Az ARDUINO UNO PIN12 vagy D5 - PIN11 kódja
Az ARDUINO UNO PIN13 vagy D6 - PIN12 kódja
Az ARDUINO UNO PIN14 vagy D7 - PIN13 kódja
Az ARDUINO IDE lehetővé teszi a felhasználó számára, hogy az LCD-t 4 bites módban használja. Ez a típusú kommunikáció lehetővé teszi a felhasználó számára, hogy csökkentse a tűk használatát az ARDUINO-n, ellentétben másokkal, az ARDUINO-t nem kell külön programozni a 4 it módban történő használathoz, mert alapértelmezés szerint az ARDUINO úgy van beállítva, hogy 4 bites módban kommunikáljon. Az áramkörben látható, hogy használtak-e 4 bites kommunikációt (D4-D7).
Tehát puszta megfigyelésből a fenti táblázatból 6 érintkezős LCD-t csatlakoztatunk a vezérlőhöz, amelyben 4 érintkező adat és 2 vezérlő érintkező.
A BMP180 és az Arduino Uno összekapcsolásához a következőket kell tennünk:
|
Először meg kell hívnunk a fejlécfájlt a speciális funkciók engedélyezéséhez “#include”.
Ezzel a fejlécfájllal olyan funkciókat hívhatunk meg, amelyek minden érzékelés nélkül ki tudják olvasni az Sensor értékeit.
Most engedélyeznünk kell a C kommunikációt, ezt a „#include
A nyomást a „String PRESSUREVALUE = String (bmp.readPressure ());” meghívással olvashatjuk. Itt a nyomásérték beolvassa az érzékelőből, és a „PRESSUREVALUE” karakterláncban tárolódik.
A „String TEMPARATUREVALUE = String (bmp.readTemperature ());” paranccsal elolvashatjuk a temparatúrát. Itt a nyomásérték beolvassa az érzékelőből, és a „TEMPARATUREVALUE” karakterláncban tárolódik.
Először engedélyeznünk kell a fejlécfájlt ('#include
Másodszor el kell mondanunk a táblának, hogy milyen típusú LCD-t használunk itt. Mivel nagyon sokféle LCD-típusunk van (például 20 * 4, 16 * 2, 16 * 1 stb.). Itt egy 16 * 2-es LCD-t csatlakoztatunk az UNO-hoz, így kapjuk az 'lcd.begin (16,2);' parancsot. 16 * 1-re kapjuk az 'lcd.begin (16,1);' értéket.
Ebben az utasításban elmondjuk a táblának, hogy hová csatlakoztattuk a csapokat. Az összekapcsolt csapokat sorrendben kell ábrázolni: „RS, En, D4, D5, D6, D7”. Ezeket a csapokat helyesen kell ábrázolni. Mivel az RS-t a PIN0-hoz csatlakoztattuk, és így tovább, ahogy az az áramköri ábrán látható, a tábla PIN-kódját „LiquidCrystallcd (0,1,8,9,10,11);” néven képviseljük.
Ha fent van, már csak az adatok küldésére van szükség, az LCD-n megjelenítendő adatokat „cd.print („ hello, world! ”); Ezzel a paranccsal az LCD kijelzi a „hello, world!” Szót.
Amint láthatja, nem kell aggódnunk mindezek miatt, csak inicializálnunk kell, és az UNO készen áll az adatok megjelenítésére. Nem kell programhurkot írnunk ahhoz, hogy a BYTE byTE adatait ide küldjük. Miután elolvasta az értéket az érzékelőtől, 16x2 LCD-n jelenítjük meg őket.