Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tässä opetusohjelmassa käytämme Arduinoa, olet -näyttöä ja SparkFun -ympäristöanturikomboa, jossa on CCS811- ja BME280 -anturit, rakentaaksesi kämmenlaitteen, joka mittaa lämpötilaa, kosteutta, TVOC -tasoja, ilmanpainetta ja hiilidioksiditasoja. Voit käyttää mitä tahansa Arduinoa annetulla koodilla, mutta käytän SparkFun Qwiic pro micro -mikroa. Jos olet aloittelija, suosittelen käyttämään samoja osia kuin minä, vain pitääksesi asiat yksinkertaisina. Valitsin SparkFun Qwiic pro -mikrolevyn sen pienen koon ja Qwiic -liittimen ansiosta, joten komponenttien liittäminen on helppoa. Jos käytät toista levyä, muista ostaa Qwiic -hattu, phat tai kilpi, joka sopii laudallesi.
Tarvikkeet:
- SparkFun Environmental Combo Breakout -
- SparkFun Micro OLED Breakout -
- SparkFun Qwiic Pro Micro -
- Qwiic -kaapeli, 50 mm -
- Projektikotelo, mitat komponenteillesi, käytän noin 3 x 2 x 1 -
- Valinnainen: Jos käytät Qwiic Pro Micro -laitetta, saatat tarvita USB-c-kaapelin (jos sinulla ei vielä ole sitä) virran ja ohjelmoinnin tekemiseen
- Ikkunanäyttö, noin 1,5 x 1,5 tuumaa
- Ruuvit (katso kuva yllä)
Työkalut:
- Kuumat liimapuikot ja kuuma liimapistooli
- Sakset
- Partaterä tai x-acto-veitsi, joka pystyy leikkaamaan projektilaatikon läpi
Vaihe 1: Merkitse ja leikkaa reiät ja aseta ikkunanäyttöön
Merkitsemme ja leikkaamme reiät OLED: lle, ympäristöanturille ja USB-C-liittimelle ohjelmointia ja virtaa varten.
- Kohdista osat haluamaasi kohtaan ja merkitse ruuvinreiät.
- Merkitse neliöt, olet, neliön kokoinen ruutu ja ympäristöanturi, neliö, joka on hieman suurempi kuin kaksi anturia (katso kuvat yllä).
- Merkitse tila USB-C-liittimelle. Qwiic Pro Micro -levylläni oli otsikot juotettu siihen, joten laitoin vaahtopalaksi ja merkitsin sen. Jos sinulla ei ole, aseta se tasaisesti kotelon pohjaa vasten reiän merkitsemiseksi.
- Poraa merkityt reiät ja katkaise USB-C-liitin. Porattujen reikien tulee olla riittävän suuria, jotta ruuvit pääsevät läpi.
- Leikkaa neliösivu ikkunasta hieman isommaksi kuin anturin reikä. Leikkaa ikkunaruudusta tilaa ruuvinreikälle ja asennuspylväälle (katso kuvat yllä).
- Kuumaa liimaa näyttö paikalleen.
Vaihe 2: Asenna Oled ja anturi
Kiinnitä OLED- ja ympäristöanturi koteloon. Isommat ruuvit menevät porattuihin reikiin ja pienemmät ruuvit kotelon kannen kulmaan. Käytä aluslevyjä välikappaleisiin. Katso isommat ruuvit selkeämmin yllä olevasta kaaviosta. Saatat joutua käyttämään useampaa kuin yhtä aluslevyä välissä.
Vaihe 3: Asenna Arduino ja yhdistä komponentit
- Qwiic Pro Micro -levylläni oli otsikot juotettu siihen, joten laitoin vaahtokappaleeseen ja liimasin sen alas. Jos sinulla ei ole otsikoita, liimaa se kotelon pohjaan. Varmista, että Qwiic -kaapelille on riittävästi tilaa liittää.
- Liitä komponentit Qwiic -liittimillä. Qwiic -liittimen järjestyksellä tai puolella ei ole väliä. Katso selvennystä yllä olevista kuvista.
- Nyt voit napsauttaa projektilaatikon yhteen. Varmista, että Qwiic -kaapelit on liitetty tiukasti eivätkä ne jää puristuksiin.
Vaihe 4: Koodi
Tämän opetusohjelman avulla voit saada Qwiic pro -mikrolevyn käyttöön.
Kun tämä on tehty, alla oleva koodi löytyy GitHubista täältä.
#include #include #include #include #define PIN_RESET 9 #define DC_JUMPER 1 #define CCS811_ADDR 0x5B // I2C -oletusosoiteMicroOLED olet (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR); BME280 my;; Wire.begin (); oled.begin (); // Alusta OLED OLED.clear (ALL); // Tyhjennä näytön sisäinen muisti oled.display (); // Näytä puskurin sisältö (aloitusnäyttö) oled.clear (PAGE); // Tyhjennä puskuri. randomSeed (analoginen luku (A0) + analoginen luku (A1)); // Alusta BME280 // I2C: lle ota seuraava käyttöön ja poista SPI -osio käytöstä myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Normaalitila 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 () kutsuminen aiheuttaa asetusten lataamisen viiveen (10); // Varmista, että anturilla on tarpeeksi aikaa käynnistyä. BME280 vaatii 2 ms käynnistyksen. tavu id = myBME280.begin (); // Palauttaa tunnuksen 0x60, jos viive onnistuu (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (pyöreä (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (pyöreä (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("VOC"); oled.setCursor (25, 20); oled.print (pyöreä (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (pyöreä (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (pyöreä (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Tarkista, onko tietoja saatavilla, jos (myCCS811.dataAvailable ()) {// Tämän toiminnon kutsuminen päivittää globaalit tVOC- ja eCO2 -muuttujat myCCS811.readAlgorithmResults (); // printData hakee tVOC- ja eCO2 -float -arvot BMEtempC = myBME280.readTempC (); float BMEhumid = myBME280.readFloatHumidity (); // Tämä lähettää lämpötilatiedot CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); viive (2000); }
Liitä koodi Arduino IDE: hen ja käännä se. Näytössä pitäisi näkyä SparkFun -logo muutaman sekunnin ajan, ja sen jälkeen alkaa näyttää live -olosuhteet. Olosuhteet päivittyvät noin 2 sekunnin välein. Kiitos lukemisesta.
Onko sinulla kysyttävää?
Jätä kommentti tai lähetä minulle sähköpostia tänne