В този урок ще проектираме система за измерване на барометрично налягане, използвайки BMP180 и ARDUINO. Преди всичко за свързване на BMP180 с ARDUINO, трябва да изтеглим библиотека, специално проектирана за BMP180. Тази библиотека е достъпна на: https://github.com/adafruit/Adafruit-BMP085-Library След като прикачите тази библиотека, можем да извикаме специални функции, които ще улеснят работата със сензора BMP180.
Необходими компоненти
Хардуер: Arduino uno платка, свързващи щифтове, 220Ω резистор, BMP180 барометричен сензор за налягане, 16x2 LCD, дъска за хляб.
Софтуер: Arduino всяка вечер
Електрическа схема и работно обяснение
След извикване на хедър не е нужно да се притесняваме за установяване на комуникация между Arduino Uno и сензор BMP180. Можем просто да извикаме специални функции, които ще направят това вместо нас. Трябва само да инициализираме LCD и да покажем на него извиканите стойности от SENSOR.
В 16x2 LCD има 16 щифта, ако има задно осветление, ако няма задно осветление, ще има общо 14 извода. Човек може да захранва или да оставя щифтовете на задното осветление. Сега в 14-те извода има 8 извода за данни (7-14 или D0-D7), 2 извода за захранване (1 & 2 или VSS & VDD или GND & + 5v), 3 -ти извод за контрол на контраста (VEE - контролира колко дебели трябва да бъдат символите показани) и 3 контролни щифта (RS & RW & E).
Във веригата можете да забележите, че съм взел само два контролни щифта, контрастният бит и READ / WRITE не се използват често, така че могат да бъдат късо заземени. Това поставя LCD в най-висок контраст и режим на четене. Просто трябва да контролираме ENABLE и RS щифтовете, за да изпращаме символи и данни по съответния начин.
Връзките, които се правят за LCD са дадени по-долу:
PIN1 или VSS към земята
PIN2 или VDD или VCC до + 5v мощност
PIN3 или VEE към земята (дава максимален контраст най-добър за начинаещи)
PIN4 или RS (Регистрация за избор) до PIN8 на ARDUINO UNO
PIN5 или RW (четене / запис) към земята (поставя LCD в режим на четене, улеснява комуникацията за потребителя)
ПИН6 или Е (Активиране) до ПИН9 на ARDUINO UNO
ПИН11 или Д4 до ПИН10 на ARDUINO UNO
PIN12 или D5 до PIN11 на ARDUINO UNO
PIN13 или D6 до PIN12 на ARDUINO UNO
PIN14 или D7 до PIN13 на ARDUINO UNO
ARDUINO IDE позволява на потребителя да използва LCD в 4-битов режим. Този тип комуникация позволява на потребителя да намали използването на пина на ARDUINO, за разлика от други ARDUINO не е необходимо да се програмира отделно за използването му в 4 it режим, тъй като по подразбиране ARDUINO е настроен да комуникира в 4 битов режим. Във веригата можете да видите, че сме използвали 4-битова комуникация (D4-D7).
Така че само от наблюдение от горната таблица ние свързваме 6 щифта LCD към контролер, в който 4 щифта са щифтове за данни и 2 щифта за управление.
За свързване на BMP180 с Arduino Uno трябва да направим следното:
|
Първо трябва да извикаме заглавния файл за активиране на специални функции „#include“.
С този заглавен файл можем да извикаме функции, които могат да четат стойности от Sensor директно, без никакви размивки.
Сега трябва да активираме комуникацията C, това става чрез извикване на „#include
Можем да прочетем натиска, като извикаме „String PRESSUREVALUE = String (bmp.readPressure ());“. Тук стойността на налягането ще се отчете от сензора и се съхранява в низа „PRESSUREVALUE“.
Можем да четем температурата, като извикаме „String TEMPARATUREVALUE = String (bmp.readTemperature ());“. Тук стойността на налягането ще се отчете от сензора и се съхранява в низа “TEMPARATUREVALUE”.
Първо трябва да активираме заглавния файл ('#include
Второ, трябва да кажем на дъската какъв тип LCD използваме тук. Тъй като имаме толкова много различни видове LCD (като 20 * 4, 16 * 2, 16 * 1 и т.н.). Тук ще свържем 16 * 2 LCD с UNO, така че ще получим 'lcd.begin (16,2);'. За 16 * 1 получаваме 'lcd.begin (16,1);'.
В тази инструкция ще кажем на платката, където сме свързали щифтовете. Пиновете, които са свързани, трябва да бъдат представени по ред като „RS, En, D4, D5, D6, D7“. Тези щифтове трябва да бъдат представени правилно. Тъй като свързахме RS към PIN0 и така нататък, както е показано в електрическата схема, ние представяме номера на щифта към борда като „LiquidCrystallcd (0,1,8,9,10,11);“.
След като горе остава само да се изпратят данни, данните, които трябва да се покажат на LCD, трябва да бъдат написани като „cd.print („ здравей, свят! “);“. С тази команда LCD дисплеят показва „здравей, свят!“.
Както можете да видите, няма нужда да се притесняваме за нищо друго, просто трябва да инициализираме и ООН ще бъде готова да покаже данни. Не е нужно да пишем програмен цикъл, за да изпращаме данните байт по байт тук. След като прочетем стойността от сензора, ще ги покажем на 16x2 LCD.