Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Создайте простую метеостанцию на Arduino UNO с датчиком BMP280 и LCD-дисплеем

Компоненты и материалы

Необходимые инструменты

Программное обеспечение

О проекте

Это первая версия простой метеостанции, построенной на базе Arduino UNO, датчика BMP280 и жидкокристаллического дисплея. Проект спонсируется компанией Utsource.net — надежным поставщиком электронных компонентов.

Автор уже работает над версией 2.0, которая будет беспроводной. Следите за обновлениями!

Создайте простую метеостанцию на Arduino UNO с датчиком BMP280 и LCD-дисплеем
Готовое устройство: Arduino UNO, BMP280 и LCD-дисплей
Создайте простую метеостанцию на Arduino UNO с датчиком BMP280 и LCD-дисплеем
Схема подключения компонентов

Код прошивки

Ниже приведен полный код для Arduino IDE. Он инициализирует датчик BMP280 и LCD-дисплей, считывает температуру и давление, применяет корректировки и выводит данные на экран каждые 2 секунды.

#include <LiquidCrystal.h> // Библиотека для LCD-дисплея
#include <BMP280.h>      // Библиотека для датчика BMP280

BMP280 bmp;                 // Инициализация датчика
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Инициализация LCD (проверьте подключение!)

#define P0 1013.25          // Стандартное атмосферное давление (гПа)
#define CONTRAST_PIN 9      // Пин управления контрастом
#define BRIGHTNESS_PIN 10   // Пин управления яркостью

double temperature = 0;     // Переменная для температуры
double pressure = 0;        // Переменная для давления
char measureStatus = 0;     // Статус измерения

void collectData() {
  measureStatus = bmp.startMeasurment();
  if (measureStatus != 0) {
    delay(measureStatus);
    measureStatus = bmp.getTemperatureAndPressure(temperature, pressure);
    if (measureStatus != 0) {
      pressure += 17;       // Коррекция ошибки датчика давления (+17 гПа)
      temperature -= 0.8;   // Коррекция ошибки датчика температуры (-0.8 °C)
      
      lcd.clear();
      lcd.print("T: ");
      lcd.print(temperature);
      lcd.print(" C");
      lcd.setCursor(0, 1);
      lcd.print("P: ");
      lcd.print(pressure);
      lcd.print(" hPa");
    } else {
      lcd.print("Error.");
    }
  } else {
    lcd.print("Error.");
  }
}

void setup() {
  lcd.begin(16, 2);
  pinMode(CONTRAST_PIN, OUTPUT);
  pinMode(BRIGHTNESS_PIN, OUTPUT);
  analogWrite(CONTRAST_PIN, 100);    // Значение контраста (0-255)
  analogWrite(BRIGHTNESS_PIN, 255);  // Значение яркости (0-255)

  if (!bmp.begin()) {
    delay(1000);
    lcd.print("Init. failed.");
    lcd.setCursor(0, 1);
    delay(1000);
    lcd.print("Check wiring.");
    while (1); // Остановка при ошибке инициализации
  } else {
    lcd.print("Init. OK.");
  }
  
  bmp.setOversampling(4); // Установка передискретизации
  delay(2000);
  collectData();
}

void loop() {
  collectData();
  delay(2000); // Обновление каждые 2 секунды
}

Схема подключения

Следуйте приведенной схеме для правильного подключения всех компонентов. При правильной сборке проблем не должно возникнуть.

Создайте простую метеостанцию на Arduino UNO с датчиком BMP280 и LCD-дисплеем
Схема подключения: Arduino UNO, BMP280, LCD 16x2

Важные замечания

Производственный процесс

  1. Сборка уличной метеостанции на Raspberry Pi 2 и ADS‑WS1
  2. Создание метеостанции на Raspberry Pi с ежедневными email-отчётами о погоде
  3. Продвинутая метеостанция v2.0: мониторинг температуры, давления, влажности и высоты в реальном времени
  4. Автоматизированная барная станция «6-Сhooter» на Arduino — Собираем коктейльный робот своими руками
  5. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  6. DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
  7. Pixel Chaser: игра на один тап с NeoPixel Ring и Arduino Nano
  8. Высокопроизводительный регистратор данных для метеозонда на Arduino
  9. Портативная метеостанция на Arduino Nano за $10: DHT22, BMP180 и LCD
  10. eDOT: точные Arduino-часы и метеостанция с встроенным ИК-пультом