Arduino Uno и датчик давления BMP180

В этом уроке мы будем разрабатывать барометрическую систему измерения давления с использованием BMP180 и ARDUINO. Прежде всего для взаимодействия BMP180 с ARDUINO, нам необходимо загрузить библиотеку, специально разработанную для BMP180. Эта библиотека доступна по адресу: https://github.com/adafruit/Adafruit-BMP085-Library После присоединения этой библиотеки мы можем вызвать специальные функции, которые облегчат работу с датчиком BMP180.

Необходимые компоненты
Плата Arduino Uno, соединительные проводники, резистор 220Ω, датчик BMP180, 16×2 LCD, макетная плата.

Схема подключения и принцип работы
После вызова заголовка (“include”) нам не нужно беспокоиться об установлении связи между Arduino Uno и датчиком BMP180. Мы можем просто вызвать специальные функции, которые сделают это для нас. Нам нужно только инициализировать ЖК-дисплей и отобразить вызываемые значения из SENSOR на нем.

В 16×2 ЖК-дисплеях есть 16 контактов, если есть подсветка и 14 контактов, если подсветки нет. Можно включить или выключить подсветку по желанию. Теперь в 14 выводах имеется 8 контактов данных (7-14 или D0-D7), 2 контакта питания (1 и 2 или VSS и VDD или GND и + 5v), 3-й контакт для управления контрастом (VEE – определяет, насколько толстые символы должны отображаться) и 3 управляющих контакта (RS, RW, E).

В схеме вы можно заметить, что я взял только два контрольных контакта, бит контраста и READ/WRITE не часто используются, поэтому их можно закоротить на землю. Это делает ЖК-дисплей максимально контрастным и читаемым. Нам просто нужно управлять контактами ENABLE и RS для отправки символов и данных соответственно.

Соединения, которые выполняются для ЖК-дисплея, приведены ниже:
PIN1 или VSS к ground
PIN2 или VDD или VCC к +5v питания
PIN3 или VEE к ground (дает максимальный контраст, лучше всего для новичка)
PIN4 или RS (Register Selection) к PIN8 ARDUINO UNO
PIN5 или RW (Read/Write) к ground (ставит ЖК-дисплей в режим чтения, облегчает связь для пользователя)
PIN6 или E (Enable) к PIN9 ARDUINO UNO
PIN11 или D4 к PIN10 ARDUINO UNO
PIN12 или D5 к PIN11 ARDUINO UNO
PIN13 или D6 к PIN12 ARDUINO UNO
PIN14 или D7 к PIN13 ARDUINO UNO




ARDUINO IDE позволяет пользователю использовать ЖК-дисплей в 4-битном режиме. Этот тип связи позволяет пользователю уменьшать использование выводов на ARDUINO, в отличие от других, ARDUINO не нужно программировать отдельно для использования в режиме 4, потому что по умолчанию ARDUINO настроен для связи в 4-битном режиме. В схеме вы можете видеть, что мы использовали 4-битную связь (D4-D7).

Поэтому из простого наблюдения из приведенной выше таблицы мы подключаем 6 контактов LCD к контроллеру, в котором 4 контакта являются выводами данных и 2 вывода для управления.

Для подключения BMP180 к Arduino Uno нам необходимо выполнить следующие действия:

1. #include <Adafruit_BMP085.h>
2. #include <Wire.h>
3. #include <LiquidCrystal.h>
4. Serial.begin(9600);
5. String PRESSUREVALUE = String(bmp.readPressure());
6. String TEMPARATUREVALUE = String(bmp.readTemperature());

Сначала нам нужно вызвать файл заголовка для включения специальных функций «#include <Adafruit_BMP085.h>».
С помощью этого заголовочного файла мы можем вызывать функции, которые могут считывать значения из датчика напрямую.
Теперь нам нужно включить связь C, это делается путем вызова заголовочного файла «#include <Wire.h>».
Мы можем читать давление, вызывая «String PRESSUREVALUE = String (bmp.readPressure ());». Здесь значение давления считывается с датчика и сохраняется в строке «PRESSUREVALUE».
Мы можем читать temparature, вызывая «String TEMPARATUREVALUE = String (bmp.readTemperature ());». Здесь значение давления будет считываться с датчика и хранится в строке «TEMPARATUREVALUE».




Сначала нам нужно включить заголовочный файл (‘#include <LiquidCrystal.h>’), этот заголовочный файл имеет инструкции, написанные в нем, что позволяет пользователю подключать ЖК-дисплей к UNO в 4-битном режиме. С этим заголовочным файлом нам не нужно посылать данные на ЖК-дисплей побитово и нам не нужно писать программу для посылки данных или команды на ЖК-дисплей.

Во-вторых, нам нужно сообщить плате, какой тип ЖК-дисплея мы здесь используем. Поскольку у нас так много разных типов ЖК-дисплеев (например, 20х4, 16х2, 16х1 и т. Д.). Здесь мы собираемся подключить ЖК-дисплей 16х2 к 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);».

Теперь, все, что осталось сделать, это отправить данные, которые должны отображаться на ЖК-дисплее: «cd.print (« привет, мир! »);». С помощью этой команды на ЖК-дисплее отображается «привет, мир!».

Как вы можете видеть, нам не нужно беспокоиться ни о чем другом, мы просто должны инициализировать, и UNO будет готова отображать данные. Нам не нужно писать программный цикл для отправки данных байт за байтом. После считывания значения от датчика мы отобразим их на ЖК-дисплее 16×2.

КОД:

Источник: https://circuitdigest.com/microcontroller-projects/pressure-sensor-bmp180-with-arduino

Оставить ответ

Обязательные поля помечены*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.