Turinys:
- Priedai:
- Įrankiai:
- 1 žingsnis: pažymėkite ir iškirpkite skyles ir įdėkite į lango ekraną
- 2 žingsnis: pritvirtinkite „Oled“ir jutiklį
- 3 žingsnis: pritvirtinkite „Arduino“ir prijunkite komponentus
- 4 žingsnis: kodas
Video: Rankinė orų stotis: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Šioje instrukcijoje mes naudosime „Arduino“, „OLED“ekraną ir „SparkFun“aplinkos jutiklių derinį su CCS811 ir BME280 jutikliais, kad sukurtume rankinį prietaisą, kuris matuoja temperatūrą, drėgmę, TVOC lygį, barometrinį slėgį ir anglies dioksido lygį. Galite naudoti bet kurį „Arduino“su pateiktu kodu, bet aš naudoju „SparkFun Qwiic pro micro“. Jei esate pradedantysis, siūlau naudoti tas pačias dalis, kurias aš naudoju, kad viskas būtų paprasta. Aš pasirinkau „SparkFun Qwiic pro“mikro plokštę dėl mažo dydžio ir „Qwiic“jungties, todėl lengva prijungti komponentus. Jei naudojate kitą lentą, būtinai nusipirkite „Qwiic“skrybėlę, „phat“ar skydą, kad jis atitiktų jūsų lentą.
Priedai:
- „SparkFun Environmental Combo Breakout“-
- „SparkFun Micro OLED Breakout“-
- „SparkFun Qwiic Pro Micro“-
- „Qwiic“kabelis, 50 mm -
- Projekto dėžutė, pagal jūsų komponentų dydį, naudoju maždaug 3 x 2 x 1 -
- Neprivaloma: jei naudojate „Qwiic Pro Micro“, galios ir programavimui gali prireikti USB-c kabelio (jei jo dar neturite)
- Lango ekranas, apie 1,5 x 1,5 colio
- Varžtai (žr. Paveikslėlį aukščiau)
Įrankiai:
- Karštų klijų lazdelės ir karštų klijų pistoletas
- Žirklės
- Skutimosi peiliukas arba „x-acto“peilis, galintis perpjauti jūsų projekto dėžutę
1 žingsnis: pažymėkite ir iškirpkite skyles ir įdėkite į lango ekraną
Pažymėsime ir išpjausime skylutes OLED, aplinkos jutikliui ir USB-C jungčiai programuoti ir maitinti.
- Išdėstykite komponentus ten, kur norite, ir pažymėkite varžtų skyles.
- Pažymėkite kvadratus, jei esate, ekrano kvadratas, o aplinkos jutiklis - kvadratą, šiek tiek didesnį už 2 jutiklius (žr. Paveikslėlius aukščiau).
- Pažymėkite USB-C jungties vietą. Mano „Qwiic Pro Micro“plokštėje jau buvo lituojamos antraštės, todėl įdėjau į putų gabalėlį ir pažymėjau. Jei jūsų nėra, padėkite jį lygiai prie korpuso apačios, kad pažymėtumėte skylę.
- Gręžkite pažymėtas skyles ir iškirpkite USB-C jungtį. Išgręžtos skylės turi būti pakankamai didelės, kad varžtai galėtų praeiti.
- Iškirpkite lango ekrano kvadratą, šiek tiek didesnį nei jutiklio anga. Iškirpkite vietą lango ekrane varžto angai ir tvirtinimo stulpeliui (žr. Paveikslėlius aukščiau).
- Karštai klijuokite ekraną į vietą.
2 žingsnis: pritvirtinkite „Oled“ir jutiklį
Į dėklą pritvirtinkite „OLED“ir aplinkos jutiklį. Didesni varžtai patenka į jūsų išgręžtas skyles, o mažesni varžtai - į korpuso dangtelio kampe esančius stulpus. Tarpikliams naudokite poveržles. Didesnių varžtų paaiškinimas pateikiamas aukščiau esančioje diagramoje. Atstumui gali tekti naudoti daugiau nei vieną skalbyklę.
3 žingsnis: pritvirtinkite „Arduino“ir prijunkite komponentus
- Mano „Qwiic Pro Micro“plokštėje jau buvo lituojamos antraštės, todėl įdėjau į putų gabalėlį ir priklijavau. Jei jūsų nėra antraščių, priklijuokite ją prie dėklo apačios. Įsitikinkite, kad yra pakankamai vietos „Qwiic“kabeliui prijungti.
- Prijunkite komponentus prie „Qwiic“jungčių. Nei „Qwiic“jungties tvarka, nei šonas nėra svarbūs. Paaiškinkite aukščiau esančias nuotraukas.
- Dabar galite sujungti savo projekto dėžutę. Įsitikinkite, kad „Qwiic“kabeliai yra tvirtai prijungti ir nesuspausti.
4 žingsnis: kodas
Norėdami paleisti ir paleisti „Qwiic pro“mikro plokštę, vadovaukitės šia pamoka.
Kai tai bus padaryta, žemiau esantį kodą galite rasti „GitHub“čia.
#include #include #include #include #define PIN_RESET 9 #define DC_JUMPER 1 #define CCS811_ADDR 0x5B // Numatytasis I2C adresasMicroOLED esi (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR); BME280 my delay; BME280 my delay; Wire.begin (); oled.begin (); // Inicijuokite OLED OLED.clear (ALL); // Išvalyti ekrano vidinę atmintį oled.display (); // Rodyti, kas yra buferyje (pradiniame ekrane) oled.clear (PAGE); // Išvalykite buferį. randomSeed (analogRead (A0) + analogRead (A1)); // Inicijuoti BME280 // Jei naudojate I2C, įgalinkite toliau nurodytus veiksmus ir išjunkite SPI skyrių myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Įprastas režimas myBME280.settings.tStendby = 0; myBME280.settings.filter = 4; myBME280.settings.tempOverSample = 5; myBME280.settings.pressOverSample = 5; myBME280.settings.humidOverSample = 5; CCS811Core:: CCS811_Status_e returnCode = myCCS811.beginWithStatus (); // Skambinimas.begin () sukelia nustatymų įkėlimo uždelsimą (10); // Įsitikinkite, kad jutiklis turėjo pakankamai laiko įsijungti. BME280 paleidimui reikia 2 ms. baitų id = myBME280.begin (); // grąžina 0x60 ID, jei pavėluotai pavyksta (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (apvalus (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (apvalus (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("LOJ"); oled.setCursor (25, 20); oled.print (apvalus (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (apvalus (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (apvalus (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Patikrinkite, ar nėra duomenų, jei (myCCS811.dataAvailable ()) {// Paskambinus šiai funkcijai atnaujinami visuotiniai tVOC ir eCO2 kintamieji myCCS811.readAlgorithmResults (); // printData nuskaito tVOC ir eCO2 plūdės reikšmes BMEtempC = myBME280.readTempC (); plūdė BMEhumid = myBME280.readFloatHumidity (); // Tai siunčia temperatūros duomenis į CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); vėlavimas (2000 m.); }
Įklijuokite kodą į „Arduino IDE“ir sukompiliuokite. Ekrane kelias sekundes turėtų būti rodomas „SparkFun“logotipas, o tada pradėti rodyti tiesioginės sąlygos. Sąlygos atnaujinamos maždaug kas 2 sekundes. Dėkojame, kad perskaitėte.
Turite klausimą?
Palikite komentarą arba parašykite man čia
Rekomenduojamas:
Profesionali orų stotis naudojant „ESP8266“ir „ESP32 pasidaryk pats“: 9 žingsniai (su nuotraukomis)
Profesionali orų stotis, naudojant „pasidaryk pats“ESP8266 ir ESP32: „LineaMeteoStazione“yra visiška orų stotis, kurią galima sujungti su profesionaliais „Sensirion“jutikliais ir kai kuriais „Davis“prietaiso komponentais (lietaus matuoklis, anemometras)
„Fanair“: jūsų kambario orų stotis: 6 žingsniai (su nuotraukomis)
„Fanair“: orų stotis jūsų kambariui: Yra daugybė būdų sužinoti dabartinį orą, bet tada jūs žinote tik orą lauke. Ką daryti, jei norite sužinoti orą savo namuose, konkrečioje patalpoje? Tai aš bandau išspręsti šiuo projektu. „Fanair“naudoja daug
Internetinė orų stotis: 6 žingsniai
Internetinė orų stotis: nepatikėsite! Bet nuo pradžių. Aš dirbau prie kitos „CoolPhone“versijos ir daug klaidų, kurias padariau ją kurdamas, privertė mane nuo jos pailsėti. Apsiavau batus ir išėjau į lauką. Pasirodė, kad šalta, todėl norėjau
Paprasta orų stotis naudojant ESP8266 .: 6 žingsniai (su nuotraukomis)
Paprasta orų stotis naudojant ESP8266 .: Šioje instrukcijoje aš pasidalinsiu, kaip naudoti ESP8266, norint gauti tokius duomenis kaip temperatūra, slėgis, klimatas ir tt Ir „YouTube“duomenys, pvz., Prenumeratoriai & Bendras peržiūrų skaičius. rodyti duomenis serijiniame monitoriuje ir rodyti LCD ekrane. Duomenys bus f
„NaTaLia“orų stotis: „Arduino“saulės energija varoma oro stotis padaryta teisingai: 8 žingsniai (su nuotraukomis)
„NaTaLia“orų stotis: „Arduino Solar Powered Weather Station“padaryta teisingai: Po vienerių metų sėkmingo veikimo 2 skirtingose vietose dalinuosi saulės kolektorių projektų planais ir paaiškinu, kaip ji išsivystė į sistemą, kuri tikrai gali išgyventi ilgą laiką laikotarpius nuo saulės energijos. Jei sekate