Оглавление:

Портативная метеостанция: 4 шага
Портативная метеостанция: 4 шага

Видео: Портативная метеостанция: 4 шага

Видео: Портативная метеостанция: 4 шага
Видео: ДОМАШНЯЯ МЕТЕОСТАНЦИЯ С БЕСПРОВОДНЫМ ДАТЧИКОМ И WI FI. НАСТРОЙКА, ОБЗОР, ОТЗЫВ. 2024, Июль
Anonim
Портативная метеостанция
Портативная метеостанция
Портативная метеостанция
Портативная метеостанция
Портативная метеостанция
Портативная метеостанция

В этом руководстве мы будем использовать Arduino, OLED-дисплей и комбинацию датчиков окружающей среды SparkFun с датчиками CCS811 и BME280 на борту для создания портативного устройства, которое измеряет температуру, влажность, уровни TVOC, атмосферное давление и уровни углекислого газа. Вы можете использовать любую Arduino с предоставленным кодом, но я использую SparkFun Qwiic pro micro. Если вы новичок, я предлагаю вам использовать те же детали, что и я, просто для простоты. Я выбрал микроплату SparkFun Qwiic pro из-за ее небольшого размера и разъема Qwiic, что упрощает подключение ваших компонентов. Если вы используете другую доску, обязательно купите шляпу Qwiic, phat или щит, которые подходят для вашей доски.

Запасы:

  • SparkFun Environmental Combo Breakout -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Кабель Qwiic, 50 мм -
  • Коробка проекта, размер для ваших компонентов, я использую около 3 x 2 x 1 -
  • Необязательно: если вы используете Qwiic Pro Micro, вам может понадобиться кабель usb-c (если у вас его еще нет) для питания и программирования.
  • Оконный экран, около 1,5 х 1,5 дюйма
  • Винты (см. Рисунок выше)

Инструменты:

  • Палочки для горячего клея и пистолет для горячего клея
  • Ножницы
  • Лезвие бритвы или нож x-acto, способный прорезать коробку с вашим проектом

Шаг 1: отметьте и вырежьте отверстия и вставьте экран в окно

Отметить и вырезать отверстия и положить в окно экрана
Отметить и вырезать отверстия и положить в окно экрана
Отметить и вырезать отверстия и положить в окно экрана
Отметить и вырезать отверстия и положить в окно экрана
Отметить и вырезать отверстия и положить в окно экрана
Отметить и вырезать отверстия и положить в окно экрана

Мы разметим и вырежем отверстия для олед, датчика окружающей среды и разъема USB-C для программирования и питания.

  1. Выровняйте компоненты в нужном месте и отметьте отверстия для винтов.
  2. Отметьте квадраты, для олед, квадрат размером с экран и для датчика окружающей среды, квадрат немного больше, чем два датчика (см. Рисунки выше).
  3. Отметьте место для разъема USB-C. На моей плате Qwiic Pro Micro уже были припаяны заголовки, поэтому я вставил кусок пенопласта и пометил его. Если у вас нет, положите его на дно корпуса, чтобы отметить отверстие.
  4. Просверлите отмеченные отверстия и вырежьте разъем USB-C. Просверленные отверстия должны быть достаточно большими, чтобы пропустить винты.
  5. Вырежьте квадрат окна экрана немного больше, чем отверстие для датчика. Вырежьте на оконной сетке место для отверстия под винт и монтажной стойки (см. Рисунки выше).
  6. Приклейте экран горячим клеем.

Шаг 2: Установите Oled и датчик

Крепление Oled и датчика
Крепление Oled и датчика
Крепление Oled и датчика
Крепление Oled и датчика
Крепление Oled и датчика
Крепление Oled и датчика

Установите олед и датчик окружающей среды в корпус. Более крупные винты вставляются в просверленные вами отверстия, а более мелкие винты входят в стойки в углу крышки корпуса. Используйте шайбы для проставок. Для более крупных винтов см. Диаграмму выше для пояснения. Возможно, вам придется использовать более одной шайбы для зазора.

Шаг 3: Установите Arduino и подключите компоненты

Установите Arduino и подключите компоненты
Установите Arduino и подключите компоненты
Установите Arduino и подключите компоненты
Установите Arduino и подключите компоненты
Установите Arduino и подключите компоненты
Установите Arduino и подключите компоненты
  1. На моей плате Qwiic Pro Micro уже были припаяны разъемы, поэтому я вставил кусок пенопласта и приклеил его. Если у вас нет заголовков, приклейте их ко дну корпуса. Убедитесь, что для подключения кабеля Qwiic достаточно места.
  2. Подключите компоненты с помощью разъемов Qwiic. Ни порядок, ни сторона Qwiic разъема не имеют значения. См. Изображения выше для пояснения.
  3. Теперь вы можете собрать коробку своего проекта вместе. Следите за тем, чтобы кабели Qwiic были подключены плотно и не защемлялись.

Шаг 4: Код

Чтобы настроить микроплату Qwiic pro и запустить ее, следуйте этому руководству.

Как только это будет сделано, приведенный ниже код вы можете найти здесь на GitHub.

#include #include #include #include #define PIN_RESET 9 # define DC_JUMPER 1 #define CCS811_ADDR 0x5B // Адрес I2C по умолчаниюMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR my setup); BME280; Wire.begin (); oled.begin (); // Инициализируем OLED oled.clear (ALL); // Очистить внутреннюю память дисплея oled.display (); // Отображение содержимого буфера (заставки) oled.clear (PAGE); // Очищаем буфер. randomSeed (analogRead (A0) + analogRead (A1)); // Инициализировать BME280 // Для I2C включите следующее и отключите раздел SPI myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Нормальный режим myBME280.settings.tStandby = 0; myBME280.settings.filter = 4; myBME280.settings.tempOverSample = 5; myBME280.settings.pressOverSample = 5; myBME280.settings.humidOverSample = 5; CCS811Core:: CCS811_Status_e returnCode = myCCS811.beginWithStatus (); // Вызов.begin () вызывает загрузку настроек delay (10); // Убедитесь, что датчик успел включиться. BME280 требует 2 мс для запуска. byte id = myBME280.begin (); // Возвращает ID 0x60 в случае успеха delay (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print («ТМП»); oled.setCursor (25, 0); oled.print (round (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print («ХУМ»); oled.setCursor (25, 10); oled.print (round (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print («ЛОС»); oled.setCursor (25, 20); oled.print (round (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print («БАР»); oled.setCursor (25, 30); oled.print (round (myBME280.readFloatPressure ())); oled.setCursor (0, 40); олед.принт («СО2»); oled.setCursor (25, 40); oled.print (круглый (myCCS811.getCO2 ())); oled.display (); } void loop () {задержка (2000); // Проверяем, доступны ли данные if (myCCS811.dataAvailable ()) {// Вызов этой функции обновляет глобальные переменные tVOC и eCO2 myCCS811.readAlgorithmResults (); // printData извлекает значения tVOC и eCO2 float BMEtempC = myBME280.readTempC (); float BMEhumid = myBME280.readFloatHumidity (); // Это отправляет данные о температуре в CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); задержка (2000); }

Вставьте код в IDE Arduino и скомпилируйте его. На экране в течение нескольких секунд должен отображаться логотип SparkFun, а затем начнется отображение условий в реальном времени. Условия обновляются каждые 2 секунды. Спасибо за прочтение.

Есть вопрос?

Оставьте комментарий или напишите мне сюда

Рекомендуемые: