Мазмуну:
- Берилиштер:
- Куралдар:
- 1 -кадам: Тешиктерди белгилеп, кесип, терезе экранына коюңуз
- 2 -кадам: Олед тоосу жана сенсор
- 3 -кадам: Ардуино тоосуна туташуу жана компоненттерди туташтыруу
- 4 -кадам: Код
Video: Колдогу аба ырайы станциясы: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Бул Нускамада биз температураны, нымдуулукту, TVOC деңгээлин, барометрдик басымды жана көмүр кычкыл газынын деңгээлин өлчөөчү приборду куруу үчүн бортунда CCS811 жана BME280 сенсорлору бар Arduino, жабык дисплей жана SparkFun экологиялык сенсорунун комбинациясын колдонобуз. Сиз каалаган код менен каалаган Arduino колдоно аласыз, бирок мен SparkFun Qwiic pro micro колдонуп жатам. Эгер сиз үйрөнчүк болсоңуз, мен жөнөкөй нерселерди сактап калуу үчүн мен колдонгон бөлүктөрдү колдонууну сунуштайм. Мен кичинекей өлчөмү үчүн SparkFun Qwiic про микро тактасын жана 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 дюйм
- Бурамалар (жогорудагы сүрөттү караңыз)
Куралдар:
- Ысык клей таякчалары жана ысык желим пистолети
- Кайчы
- Устара бычак же х-акто бычак, сиздин долбоор кутуңузду кесип өтүүгө жөндөмдүү
1 -кадам: Тешиктерди белгилеп, кесип, терезе экранына коюңуз
Биз программалоо жана бийлик үчүн oled, экологиялык сенсор жана USB-C туташтыргычы үчүн тешиктерди белгилеп, кесип салабыз.
- Компоненттериңизди каалаган жерге тизип, бурама тешиктерди белгилеңиз.
- Марк квадраттары, олед үчүн экрандын чоңдугунун квадраты жана экологиялык сенсор үчүн, 2 сенсордон бир аз чоңураак квадрат (жогорудагы сүрөттөрдү караңыз).
- USB-C туташтыргычы үчүн боштукту белгилеңиз. Менин Qwiic Pro Micro тактайчамдын баштары ширетилген болчу, ошондуктан мен аны көбүккө салып, белгилеп койгом. Эгерде сиздики андай болбосо, тешикти белгилөө үчүн аны корпустун түбүнө каратып коюңуз.
- Белгиленген тешиктерди бургулап, USB-C туташтыргычын кесип алыңыз. Бургуланган тешиктер бурамалар аркылуу өтүшү үчүн чоң болушу керек.
- Сенсордун тешигинен бир аз чоңураак терезе экранын кескиле. Терезенин экранында бурама тешик жана монтаж посту үчүн боштукту кесип салыңыз (жогорудагы сүрөттөрдү караңыз).
- Экранды ысык клей менен ордуна коюңуз.
2 -кадам: Олед тоосу жана сенсор
Капка олед жана экологиялык сенсорду орнотуңуз. Чоңураак бурамалар сиз тешкен тешиктерге кирет, ал эми кичинекей бурамалар капкактын бурчундагы мамыларга кирет. Кир жуугучтарды боштуктар үчүн колдонуңуз. Чоңураак бурамалар үчүн тактоо үчүн жогорудагы диаграмманы караңыз. Боштук үчүн бир эмес, бир нече шайбаны колдонуу керек болушу мүмкүн.
3 -кадам: Ардуино тоосуна туташуу жана компоненттерди туташтыруу
- Менин Qwiic Pro Micro тактайчамдын баштары ширетилген болчу, ошондуктан мен аны көбүккө салып, чаптап койдум. Эгерде сиздикинде аталыштар жок болсо, аны корпустун түбүнө чейин чаптаңыз. Qwiic кабелин туташтыруу үчүн жетиштүү орун бар экенин тактаңыз.
- Qwiic туташтыргычы менен компоненттерди туташтырыңыз. Тартип да, тарап да Qwiic туташтыргычы боюнча эмес. Түшүндүрүү үчүн жогорудагы сүрөттөрдү караңыз.
- Эми сиз долбооруңуздун кутусун бириктире аласыз. Qwiic кабелдери тыгыз туташып, кысылып калбасын.
4 -кадам: Код
Qwiic про микро тактаңызды иштетүү үчүн бул окуу куралын аткарыңыз.
Бул бүткөндөн кийин, кодуңуз төмөндө, аны GitHubдан бул жерден таба аласыз.
#кошуу #кошуу #кошуу #аныктоо #PIN_RESETти аныктоо 9 #DC_JUMPER аныктоо 1 #аныктоо CCS811_ADDR 0x5B // Демейки I2C AddressMicroOLED өчүрүлгөн (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS8E2_80DD);; Wire.begin (); oled.begin (); // OLEDди баштоо oled.clear (ALL); // Дисплейдин ички эс тутумун тазалоо oled.display (); // Буферде эмне бар экенин көрсөтүү (шашылыш экран) oled.clear (PAGE); // Буферди тазалаңыз. randomSeed (analogRead (A0) + analogRead (A1)); // Initialize 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 () чалуусу орнотуулардын кечигүүсүнө себеп болот (10); // Сенсордун күйгүзүү үчүн жетиштүү убакыты бар экенин текшериңиз. BME280 иштетүү үчүн 2ms талап кылынат. байт id = myBME280.begin (); // ийгиликтүү кечигүү болсо, 0x60 ID кайтарат (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 () {delay (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); }
Кодду Arduino IDEге чаптаңыз жана аны түзүңүз. Экран SparkFun логотибин бир нече секунд көрсөтүшү керек, андан кийин жандуу шарттарды көрсөтө баштайт. Шарттар болжол менен 2 секунд сайын жаңыртылып турат. Окуу үчүн рахмат.
Сурооңуз барбы?
Бул жерге комментарий калтырыңыз же мага электрондук кат жазыңыз
Сунушталууда:
Кесиптик аба ырайы станциясы ESP8266 жана ESP32 DIY колдонуп: 9 кадам (сүрөттөр менен)
ESP8266 жана ESP32 DIY колдонгон профессионалдуу аба ырайы станциясы: LineaMeteoStazione - бул Sensirionдун профессионалдык сенсорлору, ошондой эле кээ бир Davis Instrument компоненттери (Rain Gauge, Anemometer) менен байланышта боло турган толук аба ырайы станциясы
ESP8266 менен жөнөкөй аба ырайы станциясы: 6 кадам (сүрөттөр менен)
Жөнөкөй аба ырайы станциясы ESP8266 колдонот. Бул Нускамада мен температура, басым, климат сыяктуу маалыматтарды алуу үчүн ESP8266ны кантип колдонуу керектиги менен бөлүшөм. Жалпы көрүү саны. жана маалыматтарды сериялык монитордо көрсөтүү жана ЖКда көрсөтүү. Маалыматтар f
Ардуино жана ThingSpeak колдонулган мини аба ырайы станциясы: 4 кадам
Ардуино жана ThingSpeak колдонулган мини аба ырайы станциясы: баарына салам. Бул Нускамада мен сизге жекече мини -метеостанциясын жасоо боюнча кадамдарды көрсөтөм. Ошондой эле, биз ThingSpeak API аркылуу аба -ырайы маалыматтарыбызды серверлерине жүктөп берүү үчүн колдонобуз, болбосо аба ырайынын максаты эмне
Модулдук Күн Аба ырайы станциясы: 5 кадам (Сүрөттөр менен)
Модулдук Күн Аэростанциясы: Мен бир канча убакыттан бери кургум келген долбоорлордун бири Модулдук Аба ырайы станциясы болчу. Модулдук, биз каалаган сенсорлорду программаны алмаштыруу менен кошо алабыз. Модулдук аба ырайы станциясы үч бөлүккө бөлүнгөн. Башкы тактада W
Аба ырайы шамы - Аба ырайы жана температура бир караганда: 8 кадам
Аба ырайы шамы - Аба ырайы жана Температура Бир Караганда: Бул сыйкырдуу шамды колдонуп, сиз учурдагы температураны жана шарттарды дароо сыртта айта аласыз