Метеостанция на датчике BMP180, дисплее LCD-1602, и контроллере Arduino nano
Метеостанция на датчике BMP180, дисплее LCD-1602, и контроллере Arduino nano
Показывает температуру и давление
|  | 
| Обратка LCD 1602 с шиной I2C | 
|  | 
| Метеостанция на BMP180 и LCD-1602 на Arduino nano | 
|  | 
| Модуль питания ардуино 3.3 и 5 вольт | 
|  | 
| Датчик BMP180 | 
Требуется
Железо
- Блок питания 9v. Впрочем, подойдет как и другой источник питания от 7-12 вольт через штекер с плюсом внутри, так и питание от 5 вольт.
- Макетная плата
- Модуль питания для ардуино 3.3 вольта + 5 вольт
- Перемычки
- Датчик BMP180 (BMP085)(gy-68)
- Ардуино Нано
- Дисплей 1602 с шиной I2C
Софт
- Устанавливаем среду Arluino IDE (Устанавливаем программу Arduino IDE)
- Скачиваем библиотеки (zip)
- Для дисплея с I2C (дополнительная плата сзади дисплея для подключения к ардуино по 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);   // Температуру в градусах Цельсия
}

Комментарии
Отправить комментарий