W tym samouczku zamierzamy zaprojektować system pomiaru ciśnienia barometrycznego przy użyciu BMP180 i ARDUINO. Przede wszystkim, aby połączyć BMP180 z ARDUINO, musimy pobrać bibliotekę specjalnie zaprojektowaną dla BMP180. Biblioteka ta jest dostępna pod adresem: https://github.com/adafruit/Adafruit-BMP085-Library Po dołączeniu tej biblioteki możemy wywołać specjalne funkcje, które ułatwią pracę z czujnikiem BMP180.
Wymagane składniki
Sprzęt: płytka Arduino uno, piny łączące, rezystor 220Ω, czujnik ciśnienia atmosferycznego BMP180, wyświetlacz LCD 16x2, płytka do pieczenia.
Oprogramowanie: Arduino nightly
Schemat obwodu i wyjaśnienie robocze
Po wywołaniu nagłówka nie musimy martwić się o nawiązanie komunikacji między Arduino Uno a czujnikiem BMP180. Możemy po prostu przywołać specjalne funkcje, które zrobią to za nas. Musimy tylko zainicjalizować LCD i pokazać na nim wywołane wartości z CZUJNIKA.
W LCD 16x2 jest 16 pinów, jeśli jest podświetlenie, jeśli nie ma podświetlenia, będzie łącznie 14 pinów. Można zasilać lub pozostawić piny podświetlenia. Teraz w 14 szpilki są kołki 8 danych (7-14 lub D0-D7), 2 szpilki zasilacza (1 i 2 lub VSS i VDD i GND i +5 V), 3 rd stykowe dla regulacji kontrastu (VEE umożliwia sprawdzenie grubości znaki powinny pokazano) i 3 piny sterujące (RS i RW i E).
W obwodzie można zauważyć, że wziąłem tylko dwa piny sterujące, bit kontrastu i ODCZYT / ZAPIS nie są często używane, więc można je zwierać do masy. Dzięki temu wyświetlacz LCD ma najwyższy kontrast i tryb odczytu. Musimy tylko sterować pinami ENABLE i RS, aby odpowiednio wysyłać znaki i dane.
Poniżej przedstawiono połączenia wykonane dla LCD:
PIN1 lub VSS do masy
PIN2 lub VDD lub VCC do + 5 V.
PIN3 lub VEE do ziemi (daje maksymalny kontrast najlepszy dla początkującego)
PIN4 lub RS (wybór rejestru) do PIN8 w ARDUINO UNO
PIN5 lub RW (odczyt / zapis) do masy (przełącza wyświetlacz LCD w tryb odczytu, ułatwiając komunikację użytkownikowi)
PIN6 lub E (Włącz) do PIN9 z ARDUINO UNO
PIN11 lub D4 do PIN10 z ARDUINO UNO
PIN12 lub D5 do PIN11 z ARDUINO UNO
PIN13 lub D6 do PIN12 z ARDUINO UNO
PIN14 lub D7 do PIN13 z ARDUINO UNO
ARDUINO IDE umożliwia użytkownikowi korzystanie z wyświetlacza LCD w trybie 4-bitowym. Ten rodzaj komunikacji pozwala użytkownikowi zmniejszyć użycie pinów w ARDUINO, w przeciwieństwie do innych ARDUINO nie musi być programowane osobno do używania go w trybie 4 it, ponieważ domyślnie ARDUINO jest skonfigurowane do komunikacji w trybie 4-bitowym. W układzie widać, że wykorzystaliśmy 4-bitową komunikację (D4-D7).
Czyli z samej obserwacji z powyższej tabeli podłączamy 6 pinów LCD do kontrolera, w którym 4 piny to piny danych i 2 piny do sterowania.
Aby podłączyć BMP180 do Arduino Uno, musimy wykonać następujące czynności:
|
Najpierw musimy wywołać plik nagłówkowy, aby włączyć funkcje specjalne „#include”.
Za pomocą tego pliku nagłówkowego możemy wywołać funkcje, które mogą odczytywać wartości z Sensora bezpośrednio, bez żadnego fuzza.
Teraz musimy włączyć komunikację C, odbywa się to poprzez wywołanie „#include
Możemy odczytać ciśnienie, wywołując „String PRESSUREVALUE = String (bmp.readPressure ());”. Tutaj wartość ciśnienia zostanie odczytana z czujnika i zapisana w ciągu „PRESSUREVALUE”.
Możemy odczytać temperaturę, wywołując „String TEMPARATUREVALUE = String (bmp.readTemperature ());”. Tutaj wartość ciśnienia zostanie odczytana z czujnika i zapisana w ciągu „TEMPARATUREVALUE”.
Najpierw musimy włączyć plik nagłówkowy ('#include
Po drugie, musimy powiedzieć płycie, jakiego typu LCD tutaj używamy. Ponieważ mamy tak wiele różnych typów LCD (np. 20 * 4, 16 * 2, 16 * 1 itd.). Tutaj mamy zamiar połączyć 16 * 2 LCD z UNO, więc otrzymamy 'lcd.begin (16,2);'. Dla 16 * 1 otrzymujemy 'lcd.begin (16,1);'.
W tej instrukcji powiemy płytce, gdzie podłączyliśmy piny. Piny, które są podłączone, mają być przedstawione w kolejności „RS, En, D4, D5, D6, D7”. Te szpilki mają być poprawnie przedstawione. Ponieważ podłączyliśmy RS do PIN0 i tak dalej, jak pokazano na schemacie obwodu, reprezentujemy numer pinu na płytce jako „LiquidCrystallcd (0,1,8,9,10,11);”.
Po tym pozostaje już tylko przesłać dane, które mają zostać wyświetlone na LCD zapisane jako „cd.print („ witaj, świecie! ”);”. Po wykonaniu tego polecenia na wyświetlaczu LCD pojawi się „hello, world!”.
Jak widać, nie musimy się tym martwić, wystarczy zainicjować, a UNO będzie gotowe do wyświetlania danych. Nie musimy pisać pętli programowej, aby przesłać dane BYTE przez BYTE tutaj. Po odczytaniu wartości z czujnika wyświetlimy je na LCD 16x2.