Оглавление:
- Запасы:
- Инструменты:
- Шаг 1: отметьте и вырежьте отверстия и вставьте экран в окно
- Шаг 2: Установите Oled и датчик
- Шаг 3: Установите Arduino и подключите компоненты
- Шаг 4: Код
Видео: Портативная метеостанция: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
В этом руководстве мы будем использовать 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 для программирования и питания.
- Выровняйте компоненты в нужном месте и отметьте отверстия для винтов.
- Отметьте квадраты, для олед, квадрат размером с экран и для датчика окружающей среды, квадрат немного больше, чем два датчика (см. Рисунки выше).
- Отметьте место для разъема USB-C. На моей плате Qwiic Pro Micro уже были припаяны заголовки, поэтому я вставил кусок пенопласта и пометил его. Если у вас нет, положите его на дно корпуса, чтобы отметить отверстие.
- Просверлите отмеченные отверстия и вырежьте разъем USB-C. Просверленные отверстия должны быть достаточно большими, чтобы пропустить винты.
- Вырежьте квадрат окна экрана немного больше, чем отверстие для датчика. Вырежьте на оконной сетке место для отверстия под винт и монтажной стойки (см. Рисунки выше).
- Приклейте экран горячим клеем.
Шаг 2: Установите Oled и датчик
Установите олед и датчик окружающей среды в корпус. Более крупные винты вставляются в просверленные вами отверстия, а более мелкие винты входят в стойки в углу крышки корпуса. Используйте шайбы для проставок. Для более крупных винтов см. Диаграмму выше для пояснения. Возможно, вам придется использовать более одной шайбы для зазора.
Шаг 3: Установите Arduino и подключите компоненты
- На моей плате Qwiic Pro Micro уже были припаяны разъемы, поэтому я вставил кусок пенопласта и приклеил его. Если у вас нет заголовков, приклейте их ко дну корпуса. Убедитесь, что для подключения кабеля Qwiic достаточно места.
- Подключите компоненты с помощью разъемов Qwiic. Ни порядок, ни сторона Qwiic разъема не имеют значения. См. Изображения выше для пояснения.
- Теперь вы можете собрать коробку своего проекта вместе. Следите за тем, чтобы кабели 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 секунды. Спасибо за прочтение.
Есть вопрос?
Оставьте комментарий или напишите мне сюда
Рекомендуемые:
Портативная игровая консоль Lego с Space Invaders: 4 шага
Портативная игровая консоль Lego с Space Invaders: вы когда-нибудь думали о том, чтобы стать разработчиком игр и создать собственную игровую консоль, в которую можно играть на ходу? Все, что вам нужно, это немного времени, оборудование Lego bricksa Mini-Calliope (можно заказать на этом сайте https://calliope.cc/en) и некоторые навыки
Метеостанция NaTaLia: метеостанция на солнечной энергии Arduino сделала правильный выбор: 8 шагов (с изображениями)
Метеостанция NaTaLia: метеостанция на солнечной энергии Arduino сделала правильный выбор: после 1 года успешной работы в 2 разных местах я делюсь своими планами по проекту метеостанции на солнечной энергии и объясняю, как она превратилась в систему, которая действительно может выжить в течение длительного времени. периоды от солнечной энергии. Если вы последуете
Портативная змейка: 3 шага
Portable Snake: это руководство о том, как создать свою собственную портативную игру про змейку! Все, что вам нужно, - это ардуино, немного электроники и какой-нибудь чехол для всего этого. Вот список всех потребностей: - Arduino uno (1) - Модуль джойстика (1) - Светодиодная матрица (1) - некоторые провода (10
Портативная метеостанция для наблюдателей за ночным небом: 7 шагов (с изображениями)
Портативная метеостанция для наблюдателей за ночным небом: Световое загрязнение - одна из многих проблем в мире. Чтобы решить эту проблему, нам нужно знать, насколько ночное небо загрязнено искусственным светом. Многие студенты с учителями в мире пытаются измерить световое загрязнение с помощью дорогих датчиков. Я решил
Портативная печатная плата с Arduino (с возможностью перехода на беспроводную связь!): 3 шага
Карманный компьютер PCB с Arduino (с возможностью беспроводного подключения!): Обновление 28.1.2019 В настоящее время я работаю над следующей версией этого портативного компьютера. Вы можете следить за проектом на моем канале YouTube или в Twitter. Внимание! Я обнаружил ошибку в разводке печатной платы. Кнопки «влево» и «вверх» подключены только к аналоговым контактам. Я исправил