Sisukord:

Käeshoitav ilmajaam: 4 sammu
Käeshoitav ilmajaam: 4 sammu

Video: Käeshoitav ilmajaam: 4 sammu

Video: Käeshoitav ilmajaam: 4 sammu
Video: Хозяин привязал собаку в лесу и уехал… 2024, Juuli
Anonim
Käeshoitav ilmajaam
Käeshoitav ilmajaam
Käeshoitav ilmajaam
Käeshoitav ilmajaam
Käeshoitav ilmajaam
Käeshoitav ilmajaam

Selles juhendis kasutame Arduino, oled -ekraani ja SparkFuni keskkonnaandurite kombinatsiooni koos CCS811 ja BME280 anduritega, et luua käeshoitav seade, mis mõõdab temperatuuri, niiskust, TVOC taset, õhurõhku ja süsinikdioksiidi taset. Saate kasutada pakutava koodiga mis tahes Arduinot, kuid ma kasutan SparkFun Qwiic pro micro. Kui olete algaja, soovitan teil lihtsate asjade jaoks kasutada samu osi, mida mina kasutan. Valisin SparkFun Qwiic pro mikroplaadi väikese suuruse ja Qwiic -pistiku tõttu, mis hõlbustab teie komponentide ühendamist. Kui kasutate muud tahvlit, ostke kindlasti oma plaadile sobiv Qwiici müts, phat või kilp.

Tarvikud:

  • SparkFuni keskkonnakombinatsioon -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Qwiic -kaabel, 50 mm -
  • Projektikarp, teie komponentide suurus, kasutan umbes 3 x 2 x 1 -
  • Valikuline: kui kasutate Qwiic Pro Micro, võib toite ja programmeerimise jaoks vaja minna USB-c kaablit (kui teil seda veel pole).
  • Aknakraan, umbes 1,5 x 1,5 tolli
  • Kruvid (vt ülaltoodud pilti)

Tööriistad:

  • Kuum liimipulgad ja kuum liimipüstol
  • Käärid
  • Žileti tera või x-acto nuga, mis suudab teie projektikarbi läbi lõigata

Samm: märkige ja lõigake augud ning pange aknaekraanile

Märkige ja lõigake augud ja pange aknaekraanile
Märkige ja lõigake augud ja pange aknaekraanile
Märkige ja lõigake augud ja pange aknaekraanile
Märkige ja lõigake augud ja pange aknaekraanile
Märkige ja lõigake augud ja pange aknaekraanile
Märkige ja lõigake augud ja pange aknaekraanile

Märgime ja lõikame augud programmeerimiseks ja toiteks OLED, keskkonnaandurile ja USB-C pistikule.

  1. Joondage komponendid soovitud kohta ja märkige kruviaugud.
  2. Märkige ruudud, olete jaoks ekraani suurune ruut ja keskkonnaandurile ruut, mis on pisut suurem kui 2 andurit (vt ülaltoodud pilte).
  3. Märkige ruumi USB-C pistiku jaoks. Minu Qwiic Pro Micro plaadil olid päised juba joodetud, nii et panin vahutüki sisse ja märkisin selle. Kui teie oma seda ei tee, asetage see auku märkimiseks tasaseks vastu korpuse põhja.
  4. Puurige märgitud augud ja lõigake USB-C-pistik välja. Puuritud augud peaksid olema piisavalt suured, et kruvid läbi lasta.
  5. Lõika aknakuva ruut pisut suuremaks kui anduri ava. Lõika aknakraanilt kruviava ja kinnitusposti jaoks ruumi (vt ülaltoodud pilte).
  6. Kuum liimige ekraan oma kohale.

Samm: paigaldage Oled ja andur

Mount Oled ja andur
Mount Oled ja andur
Mount Oled ja andur
Mount Oled ja andur
Mount Oled ja andur
Mount Oled ja andur

Paigaldage korpusesse keskkonna- ja keskkonnaandur. Suuremad kruvid lähevad teie puuritud aukudesse ja väiksemad kruvid korpuse kaane nurgas asuvatesse postidesse. Kasutage vaheseinte jaoks seibisid. Suuremate kruvide puhul vaadake selgitamiseks ülaltoodud diagrammi. Vahekauguste jaoks peate võib -olla kasutama rohkem kui ühte pesurit.

Samm: paigaldage Arduino ja ühendage komponendid

Mount Arduino ja ühendage komponendid
Mount Arduino ja ühendage komponendid
Mount Arduino ja ühendage komponendid
Mount Arduino ja ühendage komponendid
Mount Arduino ja ühendage komponendid
Mount Arduino ja ühendage komponendid
  1. Minu Qwiic Pro Micro plaadil olid päised juba joodetud, nii et panin vahtplasti sisse ja liimisin maha. Kui teil pole päiseid, liimige see korpuse põhja. Veenduge, et Qwiic -kaabli ühendamiseks on piisavalt ruumi.
  2. Ühendage komponendid Qwiic -pistikutega. Qwiic -pistiku järjekord ega külg ei ole oluline. Selguse saamiseks vaadake ülaltoodud pilte.
  3. Nüüd saate oma projektikarbi kokku klõpsata. Veenduge, et Qwiic -kaablid on tihedalt ühendatud ja neid ei tohi pigistada.

4. samm: kood

Qwiic pro mikroplaadi käivitamiseks järgige seda õpetust.

Kui see on tehtud, leiate allpool oleva koodi, mille leiate siit GitHubist.

#include #include #include #include #define PIN_RESET 9 #define DC_JUMPER 1 #define CCS811_ADDR 0x5B // Vaikimisi I2C -aadressMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR); BME280 my viivitus; BME280 my viivitus; Wire.begin (); oled.begin (); // Initsialiseeri OLED oled.clear (ALL); // Kustuta ekraani sisemälu oled.display (); // Kuva, mis on puhvris (pritsmeekraan) oled.clear (PAGE); // Puhvri kustutamine. randomSeed (analogRead (A0) + analogRead (A1)); // BME280 initsialiseerimine // I2C puhul lubage järgmine ja keelake SPI jaotis myBME280.settings.commInterface = I2C_MODE; myBME280.seaded. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Tavaline režiim myBME280.settings.tStby = 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 () kutsumine põhjustab seadete laadimise viivituse (10); // Veenduge, et anduril oleks piisavalt aega sisselülitamiseks. BME280 käivitamiseks on vaja 2 ms. baidi id = myBME280.begin (); // Tagastab ID 0x60, kui edukas viivitus (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (ümmargune (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (ümmargune (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("VOC"); oled.setCursor (25, 20); oled.print (ümmargune (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (ümmargune (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (ümmargune (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Kontrollige, kas andmed on saadaval, kui (myCCS811.dataAvailable ()) {// Selle funktsiooni kutsumine värskendab globaalseid tVOC ja eCO2 muutujaid myCCS811.readAlgorithmResults (); // printData toob tVOC ja eCO2 float väärtused BMEtempC = myBME280.readTempC (); float BMEhumid = myBME280.readFloatHumidity (); // See saadab temperatuuri andmed CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); viivitus (2000); }

Kleepige kood Arduino IDE -sse ja kompileerige see. Ekraan peaks mõneks sekundiks näitama SparkFuni logo ja seejärel alustama reaalajas olude kuvamist. Tingimusi uuendatakse umbes iga 2 sekundi tagant. Täname lugemise eest.

Kas teil on küsimus?

Jäta siia kommentaar või saada meil

Soovitan: