Съдържание:

Ръчна метеорологична станция: 4 стъпки
Ръчна метеорологична станция: 4 стъпки

Видео: Ръчна метеорологична станция: 4 стъпки

Видео: Ръчна метеорологична станция: 4 стъпки
Видео: Най-добрите 3 многофункционални инструмента S Class с 4 SuperCharged заедно No Man's Sky 2023 2024, Ноември
Anonim
Ръчна метеорологична станция
Ръчна метеорологична станция
Ръчна метеорологична станция
Ръчна метеорологична станция
Ръчна метеорологична станция
Ръчна метеорологична станция

В тази инструкция ще използваме Arduino, олеиран дисплей и комбинация от сензори за околната среда SparkFun със сензори CCS811 и BME280 на борда, за да изградим ръчно устройство, което измерва температура, влажност, нива на TVOC, барометрично налягане и нива на въглероден диоксид. Можете да използвате всеки Arduino с предоставения код, но аз използвам SparkFun Qwiic pro micro. Ако сте начинаещ, предлагам да използвате същите части, които използвам, само за да опростя нещата. Избрах микро платката SparkFun Qwiic pro за малкия й размер и конектора Qwiic, което улеснява свързването на вашите компоненти. Ако използвате различна дъска, не забравяйте да купите шапка, фат или щит Qwiic, които да паснат на дъската ви.

Консумативи:

  • 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 #дефиниране на DC_JUMPER 1 #дефиниране на CCS811_ADDR 0x5B // Адрес по подразбиране I2CMicroOLED оледен (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR); Wire.begin (); oled.begin (); // Инициализиране на OLED oled.clear (ALL); // Изчистване на вътрешната памет на дисплея oled.display (); // Показва какво има в буфера (splashscreen) 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 изисква 2ms за стартиране. байт id = myBME280.begin (); // Връща ID на 0x60 при успешно закъснение (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (кръгъл (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (кръгъл (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("VOC"); oled.setCursor (25, 20); oled.print (кръгъл (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (кръгъл (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (кръгъл (myCCS811.getCO2 ())); oled.display (); } void loop () {забавяне (2000); // Проверете дали данните са налични, ако (myCCS811.dataAvailable ()) {// Извикването на тази функция актуализира глобалните променливи tVOC и eCO2 myCCS811.readAlgorithmResults (); // printData извлича стойностите на tVOC и eCO2 float BMEtempC = myBME280.readTempC (); поплавък BMEhumid = myBME280.readFloatHumidity (); // Това изпраща данните за температурата до CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); забавяне (2000); }

Поставете кода в IDE на Arduino и го компилирайте. Екранът трябва да покаже логото на SparkFun за няколко секунди и след това да започне да показва условията на живо. Условията се актуализират на всеки 2 секунди. Благодаря за четенето.

Имате въпрос?

Оставете коментар или ми изпратете имейл тук

Препоръчано: