Метеостанция
Проекты на Arduino и Slot Shield
Простая метеостанция на основе Iskra Neo — российском аналоге Arduino Leonardo — покажет температуру и атмосферное давление в привычных единицах измерений — градусах Цельсия и миллиметрах ртутного столба.
В качестве сенсора мы взяли I²C барометр на чипе LPS331. А данные о температуре и давлении поочерёдно отображаем на четырёхразрядном сегментном дисплее.
- Язык программирования: Arduino (C++)
Что потребуется
Полный сет компонентов проекта. В сет входят:
Видеоинструкция
Схема сборки
Установите 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); }
Скачайте и установите библиотеку для работы с «трёхногим» дисплеем.