Метеостанция на датчике BMP180, дисплее LCD-1602, и контроллере Arduino nano

Метеостанция на датчике BMP180, дисплее LCD-1602, и контроллере Arduino nano

Показывает температуру и давление
Обратка LCD 1602 с шиной I2C
Метеостанция на BMP180 и LCD-1602 на Arduino nano
Метеостанция на BMP180 и LCD-1602 на Arduino nano



Модуль питания ардуино 3.3 и 5 вольт

Датчик BMP180


Требуется 

Железо


Софт

  • Устанавливаем среду Arluino IDE (Устанавливаем программу Arduino IDE)
  • Скачиваем библиотеки (zip)
  1. Для дисплея с I2C (дополнительная плата сзади  дисплея для подключения к ардуино по 2 проводам)
  2. Для датчика BMP180

Действия

Запускаем Arduino IDE - Скетч - Подключить библиотеку - добавить ZIP библиотеку - добавляем скачанные библиотеки.
Грузим в окно вот этот код:

#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <BMP085.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // присваиваем имя lcd для дисплея 16х2
 BMP085 dps = BMP085(); 
 long Temperature = 0, Pressure = 0;
 void setup(void) {
  Serial.begin(9600);  // инициализация последовательного порта
  Wire.begin();  // инициализация шины I2C
  delay(1000);
  dps.init();
  lcd.begin(); // инициализация LCD дисплея
  lcd.backlight(); // включение подсветки дисплея
}       
void loop(void) {
  dps.getPressure(&Pressure);
  dps.getTemperature(&Temperature);
  Serial.print("Pressure(mm Hg):");
  Serial.print(Pressure/133.3);      //Выводим давление в мм.рт ст
  Serial.print("Temp:");
  Serial.println(Temperature*0.1-3.6);   // Температуру в градусах Цельсия
  delay(2000);
  lcd.setCursor(0,0); // устанавливаем курсор на 0 символ первой строки

  lcd.print("Davlenie: ");
  lcd.print(Pressure/133.3);

  lcd.setCursor(0,1); // устанавливаем курсор на начало второй строки

  lcd.print("Temperat:  ");
lcd.println(Temperature*0.1-3.6);   // Температуру в градусах Цельсия
}

Коммутируем железо.
Подключаем плату к компу
Загружаем скетч в плату
Получаем
В строке (Temperature*0.1-3.6) значение -3.6 это коррекция температуры относительно контрольного значения.
Скетч одновременно выводит значения и в последовательный порт.

Комментарии