Sadržaj:

Ručna vremenska stanica: 4 koraka
Ručna vremenska stanica: 4 koraka

Video: Ručna vremenska stanica: 4 koraka

Video: Ručna vremenska stanica: 4 koraka
Video: 23 смешных и неловких ситуаций в кино 2024, Novembar
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 ploči za izradu ručnog uređaja koji mjeri temperaturu, vlažnost, nivo TVOC -a, 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 konektora, što olakšava povezivanje vaših komponenti. Ako koristite drugu ploču, obavezno kupite Qwiic šešir, fatu ili štit koji odgovaraju vašoj dasci.

Potrošni materijal:

  • SparkFun Environmental Combo Breakout -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Qwiic kabel, 50 mm -
  • Projektna kutija, 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 (pogledajte gornju sliku)

Alati:

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

Korak 1: Označite i izrežite rupe i stavite ih na prozor

Označite i izrežite rupe i stavite ih na prozor
Označite i izrežite rupe i stavite ih na prozor
Označite i izrežite rupe i stavite ih na prozor
Označite i izrežite rupe i stavite ih na prozor
Označite i izrežite rupe i stavite ih na prozor
Označite i izrežite rupe i stavite ih na 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 ekrana i za senzor okoliša, kvadrat malo veći od dva senzora (pogledajte slike iznad).
  3. Označite prostor 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 konektor. Izbušene rupe trebale bi biti dovoljno velike da propuštaju vijke.
  5. Izrežite kvadrat prozorskog ekrana malo veći od otvora za senzor. Izrežite prostor na prozoru za otvor za vijak i montažni stub (pogledajte slike iznad).
  6. Vruće zalijepite ekran 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 uljani senzor i senzor okoliša 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. Uverite se da ima dovoljno prostora za povezivanje Qwiic kabla.
  2. Spojite komponente pomoću Qwiic konektora. Niti redoslijed niti strana Qwiic konektora nisu u pitanju. Za objašnjenje pogledajte gornje slike.
  3. Sada možete zajedno spojiti svoju projektnu kutiju. Uvjerite se da su Qwiic kablovi dobro 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 GitHub -u ovdje.

#include #include #include #include #define PIN_RESET 9 #define DC_JUMPER 1 #definirati 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 interne memorije ekrana 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 SPI odjeljak 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); // Uvjerite se da je senzor imao dovoljno vremena za uključivanje. BME280 zahtijeva 2 ms za pokretanje. bajt id = myBME280.begin (); // Vraća ID 0x60 ako je uspješno kašnjenje (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 (); kašnjenje (2000); }

Zalijepite kôd u Arduino IDE i kompajlirajte ga. Na ekranu bi trebao biti prikazan SparkFun logotip na nekoliko sekundi, a zatim početi prikazivati uslove uživo. Uslovi se ažuriraju otprilike svake 2 sekunde. Hvala na čitanju.

Imate pitanje?

Ostavite komentar ili mi pošaljite e -poruku ovde

Preporučuje se: