Turinys:

Rankinė orų stotis: 4 žingsniai
Rankinė orų stotis: 4 žingsniai

Video: Rankinė orų stotis: 4 žingsniai

Video: Rankinė orų stotis: 4 žingsniai
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Lapkritis
Anonim
Rankinė orų stotis
Rankinė orų stotis
Rankinė orų stotis
Rankinė orų stotis
Rankinė orų stotis
Rankinė orų stotis

Š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ėkite ir supjaustykite skyles ir įdėkite į lango ekraną
Pažymėkite ir supjaustykite skyles ir įdėkite į lango ekraną
Pažymėkite ir iškirpkite skyles ir įdėkite į lango ekraną
Pažymėkite ir iškirpkite skyles ir įdėkite į lango ekraną
Pažymėkite ir iškirpkite skyles ir įdėkite į lango ekraną
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.

  1. Išdėstykite komponentus ten, kur norite, ir pažymėkite varžtų skyles.
  2. Pažymėkite kvadratus, jei esate, ekrano kvadratas, o aplinkos jutiklis - kvadratą, šiek tiek didesnį už 2 jutiklius (žr. Paveikslėlius aukščiau).
  3. 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ę.
  4. 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.
  5. 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).
  6. Karštai klijuokite ekraną į vietą.

2 žingsnis: pritvirtinkite „Oled“ir jutiklį

Mount Oled ir jutiklis
Mount Oled ir jutiklis
Mount Oled ir jutiklis
Mount Oled ir jutiklis
Mount Oled ir jutiklis
Mount Oled ir jutiklis

Į 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

Sumontuokite „Arduino“ir prijunkite komponentus
Sumontuokite „Arduino“ir prijunkite komponentus
Sumontuokite „Arduino“ir prijunkite komponentus
Sumontuokite „Arduino“ir prijunkite komponentus
Sumontuokite „Arduino“ir prijunkite komponentus
Sumontuokite „Arduino“ir prijunkite komponentus
  1. 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.
  2. Prijunkite komponentus prie „Qwiic“jungčių. Nei „Qwiic“jungties tvarka, nei šonas nėra svarbūs. Paaiškinkite aukščiau esančias nuotraukas.
  3. 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: