Метеостанция

Проекты на Arduino и Slot Shield

Простая метеостанция на основе Iskra Neo — российском аналоге Arduino Leonardo — покажет температуру и атмосферное давление в привычных единицах измерений — градусах Цельсия и миллиметрах ртутного столба.

В качестве сенсора мы взяли I²C барометр на чипе LPS331. А данные о температуре и давлении поочерёдно отображаем на четырёхразрядном сегментном дисплее.

{{ :slot-box:meteo:meteo.png  |

Что потребуется

Видеоинструкция

Схема сборки

Установите Troyka Slot Shield на Iskra Neo

Вставьте барометр в правый верхний слот.

Вставьте четырёхразрядный индикатор в левый нижний слот

Если у вас старый модуль семисегментного индикатора (у него всего три ноги и расположены они слева), схема сборки устройства, скетч и библиотеки будут отличаться. Мы выложили их ниже, в ответах на часто задаваемые вопросы.

Скетч

Прошейте контроллер скетчем через Arduino IDE.

meteo.ino
// Подключаем библиотеку для работы с дисплеем
#include <QuadDisplay2.h>
// библиотека для работы I²C
#include <Wire.h>
// библиотека для работы с модулями IMU
#include <TroykaIMU.h>
// создаём объект для работы с барометром
Barometer barometer;
 
// создаём объект класса QuadDisplay и передаём номер пина CS
QuadDisplay qd(9);
 
void setup()
{
  // инициализация дисплея
  qd.begin();
  // инициализация барометра
  barometer.begin();
}
 
void loop()
{
  // создаём переменную и присваиваем ей значения 
  // атмосферного давления в мм рт.ст.
  float pressure = barometer.readPressureMillimetersHg();
  // создаём переменную и присваиваем ей температуру окружающей среды
  float temperature = barometer.readTemperatureC();
  // выводим атомосферное давление на дисплей
  qd.displayInt(pressure);
  // ждём 3 секунды
  delay(3000);
  // выводим температуру окружающей среды на дисплей
  qd.displayTemperatureC(temperature);
  // ждём 3 секунды
  delay(3000);
}

Что дальше?

Хотите собрать другой девайс? Выберите своё будущее устройство из списка проектов на Slot Shield.

FAQ

Где скачать необходимые библиотеки и как их установить?
У моего модуля QuadDisplay всего три ноги и расположены они слева. Можно ли использовать его в этом проекте?

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

Вставьте четырёхразрядный индикатор в левый нижний слот

Прошейте контроллер скетчем через Arduino IDE.

meteo.ino
// Подключаем библиотеку для работы с дисплеем
#include <QuadDisplay.h>
// библиотека для работы I²C
#include <Wire.h>
// библиотека для работы с модулями IMU
#include <TroykaIMU.h>
// создаём объект для работы с барометром
Barometer barometer;
 
// номер цифрового пина дисплея
#define DISPLAY_PIN  11
 
void setup()
{
  // инициализация барометра
  barometer.begin();
}
 
void loop()
{
  // создаём переменную и присваиваем ей значения 
  // атмосферного давления в мм рт.ст.
  float pressure = barometer.readPressureMillimetersHg();
  // создаём переменную и присваиваем ей температуру окружающей среды
  float temperature = barometer.readTemperatureC();
  // выводим атмосферное давление на дисплей
  displayInt(DISPLAY_PIN, pressure);
  // ждём 3 секунды
  delay(3000);
  // выводим температуру окружающей среды на дисплей
  displayTemperatureC(DISPLAY_PIN, temperature);
  // ждём 3 секунды
  delay(3000);
}

Скачайте и установите библиотеку для работы с «трёхногим» дисплеем.