Kazalo:

Ročna vremenska postaja: 4 koraki
Ročna vremenska postaja: 4 koraki

Video: Ročna vremenska postaja: 4 koraki

Video: Ročna vremenska postaja: 4 koraki
Video: Пребывание в отеле с привидениями в Японии | Дзасики-Вараси | АСМР 2024, November
Anonim
Ročna vremenska postaja
Ročna vremenska postaja
Ročna vremenska postaja
Ročna vremenska postaja
Ročna vremenska postaja
Ročna vremenska postaja

V tem navodilu bomo za izdelavo ročne naprave za merjenje temperature, vlažnosti, ravni TVOC, barometričnega tlaka in ravni ogljikovega dioksida uporabljali Arduino, oled zaslon in kombinacijo okoljskih senzorjev SparkFun s senzorjema CCS811 in BME280. S priloženo kodo lahko uporabite kateri koli Arduino, vendar uporabljam SparkFun Qwiic pro micro. Če ste začetnik, predlagam, da uporabite iste dele, ki jih uporabljam, samo zato, da bodo stvari preproste. Za majhno velikost in priključek Qwiic sem izbral mikro ploščo SparkFun Qwiic pro, ki olajša povezavo vaših komponent. Če uporabljate drugo ploščo, ne pozabite kupiti klobuka, phat ali ščita Qwiic, ki ustreza vaši deski.

Zaloge:

  • SparkFun Environmental Combo Breakout -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Qwiic kabel, 50 mm -
  • Projektna škatla, velikost glede na vaše komponente, uporabljam približno 3 x 2 x 1 -
  • Izbirno: Če uporabljate Qwiic Pro Micro, boste morda potrebovali kabel usb-c (če ga še nimate) za napajanje in programiranje
  • Okno, okrog 1,5 x 1,5 palca
  • Vijaki (glej sliko zgoraj)

Orodja:

  • Vroče lepilne palice in pištola za vroče lepilo
  • Škarje
  • Rezilo ali nož x-acto, ki lahko prereže vašo projektno škatlo

Korak: Označite in izrežite luknje ter jih vstavite v okno

Označite in izrežite luknje ter jih vstavite v okno
Označite in izrežite luknje ter jih vstavite v okno
Označite in izrežite luknje ter jih vstavite v okno
Označite in izrežite luknje ter jih vstavite v okno
Označite in izrežite luknje ter jih vstavite v okno
Označite in izrežite luknje ter jih vstavite v okno

Označili in izrezali bomo luknje za oled, okoljski senzor in priključek USB-C za programiranje in napajanje.

  1. Poravnajte komponente, kjer jih želite, in označite luknje za vijake.
  2. Označite kvadratke za oled, kvadrat velikosti zaslona in za senzor za okolje, kvadrat, ki je nekoliko večji od dveh senzorjev (glejte slike zgoraj).
  3. Označite prostor za priključek USB-C. Na moji plošči Qwiic Pro Micro so bile že spajkane glave, zato sem jo dala v kos pene in jo označila. Če vaš ne, ga položite na dno ohišja, da označite luknjo.
  4. Izvrtajte označene luknje in izrežite priključek USB-C. Izvrtane luknje morajo biti dovolj velike, da puščajo vijake.
  5. Izrežite kvadrat okenskega okna, nekoliko večji od luknje za senzor. Na okenskem zaslonu izrežite prostor za luknjo za vijak in pritrdilno mesto (glejte slike zgoraj).
  6. Vroče lepite zaslon na svoje mesto.

Korak: Namestite Oled in senzor

Nosilec Oled in senzor
Nosilec Oled in senzor
Nosilec Oled in senzor
Nosilec Oled in senzor
Nosilec Oled in senzor
Nosilec Oled in senzor

V ohišje namestite oleden in okoljski senzor. Večji vijaki gredo v luknje, ki ste jih izvrtali, manjši pa v stebre v kotu pokrova ohišja. Za distančnike uporabite podložke. Za večje vijake glejte zgornji diagram za pojasnilo. Za razmik boste morda morali uporabiti več podložk.

Korak: Namestite Arduino in povežite komponente

Montirajte Arduino in povežite komponente
Montirajte Arduino in povežite komponente
Montirajte Arduino in povežite komponente
Montirajte Arduino in povežite komponente
Montirajte Arduino in povežite komponente
Montirajte Arduino in povežite komponente
  1. Na moji plošči Qwiic Pro Micro so bile že spajkane glave, zato sem jo dala v kos pene in jo prilepila. Če vaši nimajo glav, jih prilepite na dno ohišja. Prepričajte se, da je dovolj prostora za priključitev kabla Qwiic.
  2. Komponente povežite s priključki Qwiic. Niti vrstni red niti stran priključka Qwiic nista pomembna. Za pojasnila si oglejte zgornje slike.
  3. Zdaj lahko skupaj zaskočite svoj projektni okvir. Prepričajte se, da so kabli Qwiic tesno povezani in da se ne stisnejo.

4. korak: Koda

Če želite, da se vaša mikro plošča Qwiic pro zažene, sledite tej vadnici.

Ko to storite, je spodnja koda, ki jo najdete na GitHubu tukaj.

#include #include #include #include #define PIN_RESET 9 #define DC_JUMPER 1 #define CCS811_ADDR 0x5B // Privzeti naslov I2CMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR) (nastavitev);; Wire.begin (); oled.begin (); // Inicializirajte OLED oled.clear (VSE); // Počisti notranji pomnilnik zaslona oled.display (); // Prikaz vsebine v vmesnem pomnilniku (splashscreen) oled.clear (PAGE); // Počisti vmesni pomnilnik. randomSeed (analogRead (A0) + analogRead (A1)); // Inicializirajte BME280 // Za I2C omogočite naslednje in onemogočite razdelek SPI myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Običajen način 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 (); // Klicanje.begin () povzroči zakasnitev nalaganja nastavitev (10); // Poskrbite, da bo imel senzor dovolj časa za vklop. BME280 potrebuje 2 ms za zagon. ID bajta = myBME280.begin (); // Vrne ID 0x60 v primeru uspešne zamude (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (okrogel (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (okrogel (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("HOS"); oled.setCursor (25, 20); oled.print (okrogel (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (okrogel (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (okrogel (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Preverite, ali so na voljo podatki if (myCCS811.dataAvailable ()) {// Klicanje te funkcije posodobi globalne spremenljivke tVOC in eCO2 myCCS811.readAlgorithmResults (); // printData pridobi vrednosti tVOC in eCO2 float BMEtempC = myBME280.readTempC (); float BMEhumid = myBME280.readFloatHumidity (); // To pošlje podatke o temperaturi v CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); zamuda (2000); }

Kodo prilepite v Arduino IDE in jo prevedite. Zaslon bi moral za nekaj sekund prikazati logotip SparkFun, nato pa začeti prikazovati pogoje v živo. Pogoji se posodabljajo približno vsaki 2 sekundi. Hvala za branje.

Imate vprašanje?

Pustite komentar ali mi pišite tukaj

Priporočena: