Sadržaj:

Ručna vremenska postaja: 4 koraka
Ručna vremenska postaja: 4 koraka

Video: Ručna vremenska postaja: 4 koraka

Video: Ručna vremenska postaja: 4 koraka
Video: Противовирусная настройка иммунитета 2024, Srpanj
Anonim
Ručna meteorološka stanica
Ručna meteorološka stanica
Ručna meteorološka stanica
Ručna meteorološka stanica
Ručna meteorološka stanica
Ručna meteorološka stanica

U ovom Instructableu koristit ćemo Arduino, oled zaslon i kombinaciju senzora okoliša SparkFun sa senzorima CCS811 i BME280 na brodu za izradu ručnog uređaja koji mjeri temperaturu, vlažnost, razine TVOC, barometarski tlak i razine ugljičnog dioksida. Možete koristiti bilo koji Arduino s priloženim kodom, ali ja koristim SparkFun Qwiic pro micro. Ako ste početnik, predlažem da upotrijebite iste dijelove koje koristim, samo da stvari budu jednostavne. Odabrao sam SparkFun Qwiic pro mikro ploču zbog male veličine i Qwiic priključka, što olakšava povezivanje vaših komponenti. Ako koristite drugu ploču, svakako kupite Qwiic šešir, fatu ili štit koji odgovaraju vašoj ploči.

Pribor:

  • SparkFun Environmental Combo Breakout -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Qwiic kabel, 50 mm -
  • Okvir projekta, veličina prema vašim komponentama, koristim oko 3 x 2 x 1 -
  • Izborno: Ako koristite Qwiic Pro Micro, možda će vam trebati usb-c kabel (ako ga već nemate) za napajanje i programiranje
  • Prozorski prozor, otprilike 1,5 x 1,5 inča
  • Vijci (vidi gornju sliku)

Alati:

  • Vrući štapići za ljepilo i pištolj za vruće ljepilo
  • Škare
  • Oštrica britve ili nož x-acto, koji može probiti vašu projektnu kutiju

Korak 1: Označite i izrežite rupe te ih umetnite u prozor

Označite i izrežite rupe te ih umetnite u prozor
Označite i izrežite rupe te ih umetnite u prozor
Označite i izrežite rupe te ih umetnite u prozor
Označite i izrežite rupe te ih umetnite u prozor
Označite i izrežite rupe te ih umetnite u prozor
Označite i izrežite rupe te ih umetnite u prozor

Označit ćemo i izrezati rupe za oled, senzor okoliša i USB-C konektor za programiranje i napajanje.

  1. Poravnajte svoje komponente tamo gdje ih želite i označite rupe za vijke.
  2. Označite kvadrate za oled, kvadrat veličine zaslona i za senzor okoliša, kvadrat malo veći od dva senzora (pogledajte slike gore).
  3. Označite mjesto za USB-C konektor. Moja ploča Qwiic Pro Micro već je imala zalemljena zaglavlja pa sam stavio u komad pjene i označio je. Ako vaš ne, položite ga ravno na dno kućišta kako biste označili rupu.
  4. Izbušite označene rupe i izrežite USB-C priključak. Izbušene rupe trebaju biti dovoljno velike da puštaju vijke.
  5. Izrežite kvadrat prozorskog zaslona malo veći od rupe za senzor. Izrežite prostor na prozorskom ekranu za otvor za vijak i montažni stup (pogledajte slike iznad).
  6. Vruće zalijepite zaslon na mjesto.

Korak 2: Montirajte Oled i senzor

Montirajte Oled i senzor
Montirajte Oled i senzor
Montirajte Oled i senzor
Montirajte Oled i senzor
Montirajte Oled i senzor
Montirajte Oled i senzor

Ugradite oled senzor i okoliš u kućište. Veći vijci ulaze u rupe koje ste izbušili, a manji vijci ulaze u stupove u kutu poklopca kućišta. Za odstojnike koristite podloške. Za veće vijke, pogledajte gornji dijagram radi pojašnjenja. Možda ćete za razmak morati koristiti više od jedne podloške.

Korak 3: Montirajte Arduino i povežite komponente

Montirajte Arduino i povežite komponente
Montirajte Arduino i povežite komponente
Montirajte Arduino i povežite komponente
Montirajte Arduino i povežite komponente
Montirajte Arduino i povežite komponente
Montirajte Arduino i povežite komponente
  1. Moja ploča Qwiic Pro Micro već je imala zalemljena zaglavlja pa sam stavio u komad pjene i zalijepio je. Ako vaši nemaju zaglavlja, zalijepite ih na dno kućišta. Uvjerite se da ima dovoljno mjesta za spajanje Qwiic kabela.
  2. Spojite komponente pomoću Qwiic konektora. Niti redoslijed niti strana Qwiic konektora nisu u pitanju. Za pojašnjenje pogledajte gornje slike.
  3. Sada možete zajedno spojiti svoj projektni okvir. Uvjerite se da su Qwiic kablovi čvrsto spojeni i da se ne prikliješte.

Korak 4: Kodirajte

Slijedite ovaj vodič kako biste pokrenuli svoju mikro ploču Qwiic pro.

Kada to učinite, kôd je ispod, možete ga pronaći na GitHubu ovdje.

#include #include #include #include #define PIN_RESET 9 #define DC_JUMPER 1 #definiranje CCS811_ADDR 0x5B // Zadana I2C adresaMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR) (postavka2);; Wire.begin (); oled.begin (); // Inicijalizacija OLED -a oled.clear (ALL); // Brisanje unutarnje memorije zaslona oled.display (); // Prikaz sadržaja u međuspremniku (splashscreen) oled.clear (PAGE); // Brisanje međuspremnika. randomSeed (analogRead (A0) + analogRead (A1)); // Inicijalizacija BME280 // Za I2C, omogućite sljedeće i onemogućite odjeljak SPI myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Normalni način rada 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 (); // Pozivanje.begin () uzrokuje učitavanje postavki delay (10); // Provjerite ima li senzor dovoljno vremena za uključivanje. BME280 zahtijeva 2 ms za pokretanje. id bajta = myBME280.begin (); // Vraća ID 0x60 ako uspješno odgodi (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (okrugli (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (okrugli (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("VOC"); oled.setCursor (25, 20); oled.print (okrugli (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (okrugli (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (okrugli (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Provjerite jesu li podaci dostupni if (myCCS811.dataAvailable ()) {// Pozivom ove funkcije ažuriraju se globalne varijable tVOC i eCO2 myCCS811.readAlgorithmResults (); // printData dohvaća vrijednosti tVOC i eCO2 float BMEtempC = myBME280.readTempC (); float BMEhumid = myBME280.readFloatHumidity (); // Ovo šalje podatke o temperaturi u CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); odgoda (2000); }

Zalijepite kôd u Arduino IDE i sastavite ga. Zaslon bi trebao prikazati logotip SparkFun na nekoliko sekundi, a zatim početi prikazivati uvjete uživo. Uvjeti se ažuriraju otprilike svake 2 sekunde. Hvala na čitanju.

Imate pitanje?

Ostavite komentar ili mi pošaljite e -poruku ovdje

Preporučeni: