Indholdsfortegnelse:

Håndholdt vejrstation: 4 trin
Håndholdt vejrstation: 4 trin

Video: Håndholdt vejrstation: 4 trin

Video: Håndholdt vejrstation: 4 trin
Video: Inside a Crazy Modern Glass Mansion With a 3 Level Pool! 2024, Juli
Anonim
Håndholdt vejrstation
Håndholdt vejrstation
Håndholdt vejrstation
Håndholdt vejrstation
Håndholdt vejrstation
Håndholdt vejrstation

I denne instruks vil vi bruge en Arduino, en oled -skærm og en SparkFun -miljøsensorkombination med CCS811- og BME280 -sensorer om bord til at bygge en håndholdt enhed, der måler temperatur, fugtighed, TVOC -niveauer, barometrisk tryk og kuldioxidniveauer. Du kan bruge enhver Arduino med den medfølgende kode, men jeg bruger en SparkFun Qwiic pro micro. Hvis du er nybegynder, foreslår jeg, at du bruger de samme dele, som jeg bruger, bare for at holde tingene enkle. Jeg valgte SparkFun Qwiic pro micro board for sin lille størrelse og Qwiic stik, hvilket gør det let at tilslutte dine komponenter. Hvis du bruger et andet bord, skal du sørge for at købe en Qwiic hat, phat eller skjold, der passer til dit bord.

Tilbehør:

  • SparkFun Environmental Combo Breakout -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Qwiic -kabel, 50 mm -
  • Projektboks, størrelse til dine komponenter, jeg bruger omkring 3 x 2 x 1 -
  • Valgfrit: Hvis du bruger Qwiic Pro Micro, har du muligvis brug for et usb-c-kabel (hvis du ikke allerede har et) til strøm og programmering
  • Vinduesskærm, cirka 1,5 x 1,5 tommer
  • Skruer (se billedet ovenfor)

Værktøjer:

  • Varm limpinde og varm limpistol
  • Saks
  • Barberblad eller x-acto kniv, der er i stand til at skære igennem din projektkasse

Trin 1: Marker og skær huller og sæt i vinduesskærmen

Marker og klip huller og sæt i vinduesskærmen
Marker og klip huller og sæt i vinduesskærmen
Marker og klip huller og sæt i vinduesskærmen
Marker og klip huller og sæt i vinduesskærmen
Marker og klip huller og sæt i vinduesskærmen
Marker og klip huller og sæt i vinduesskærmen

Vi markerer og skærer huller til den oled, miljøsensor og USB-C-stik til programmering og strøm.

  1. Stil dine komponenter op, hvor du vil have dem, og markér skruehullerne.
  2. Marker firkanter, for oled, en firkant på skærmens størrelse og for miljøsensoren, en firkant lidt større end de 2 sensorer (se billederne ovenfor).
  3. Markér mellemrummet til USB-C-stikket. Mit Qwiic Pro Micro -bord havde lodder loddet på det allerede, så jeg lagde et stykke skum i og markerede det. Hvis din ikke gør det, skal du lægge det fladt mod bunden af sagen for at markere hullet.
  4. Bor de markerede huller, og skær USB-C-stikket ud. De borede huller skal være store nok til at lade skruerne gå igennem.
  5. Skær en firkant af vinduesskærmen lidt større end hullet til sensoren. Skær plads ud på vinduesskærmen til skruehullet og monteringsstolpen (se billederne ovenfor).
  6. Varm lim skærmen på plads.

Trin 2: Monter Oled og sensor

Mount Oled og sensor
Mount Oled og sensor
Mount Oled og sensor
Mount Oled og sensor
Mount Oled og sensor
Mount Oled og sensor

Monter oled- og miljøsensoren i etuiet. De større skruer går i de huller, du har boret, og de mindre skruer går ind i stolperne i hjørnet af saglåget. Brug skiverne til afstandsstykker. For større skruer, se diagrammet ovenfor for afklaring. Du skal muligvis bruge mere end én skive til afstand.

Trin 3: Monter Arduino og tilslut komponenter

Monter Arduino og tilslut komponenter
Monter Arduino og tilslut komponenter
Monter Arduino og tilslut komponenter
Monter Arduino og tilslut komponenter
Monter Arduino og tilslut komponenter
Monter Arduino og tilslut komponenter
  1. Mit Qwiic Pro Micro -bord havde lodder loddet på det allerede, så jeg lagde det i et stykke skum og limede det fast. Hvis din ikke har overskrifter, lim den ned til bunden af kassen. Sørg for, at der er nok plads til, at Qwiic -kablet kan tilsluttes.
  2. Tilslut komponenterne med Qwiic -stik. Hverken ordren eller siden, hvor Qwiic -stikket er relevant. Se billederne ovenfor for afklaring.
  3. Nu kan du snappe din projektboks sammen. Sørg for, at Qwiic -kablerne er tæt forbundet og ikke bliver klemt.

Trin 4: Kode

Følg denne vejledning for at få dit Qwiic pro micro board i gang.

Når det er gjort, er koden nedenfor, hvor du kan finde den på GitHub her.

#include #include #include #include #define PIN_RESET 9 #definere DC_JUMPER 1 #definere CCS811_ADDR 0x5B // Standard I2C AddressMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR); BME280;; Wire.begin (); oled.begin (); // Initialiser OLED oled.clear (ALL); // Ryd skærmens interne hukommelse oled.display (); // Vis hvad der er i bufferen (stænkskærm) oled.clear (PAGE); // Ryd bufferen. randomSeed (analogRead (A0) + analogRead (A1)); // Initialiser BME280 // For I2C skal du aktivere følgende og deaktivere SPI -afsnittet myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Normal tilstand 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 (); // Opkald.begin () bevirker, at indstillingerne indlæses forsinkelse (10); // Sørg for, at sensoren havde nok tid til at tænde. BME280 kræver 2 ms for at starte op. byte id = myBME280.begin (); // Returnerer ID på 0x60 hvis vellykket forsinkelse (10000); } ugyldige print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (rund (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (rund (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("VOC"); oled.setCursor (25, 20); oled.print (rund (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (rund (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (rund (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Kontroller, om der er tilgængelige data, hvis (myCCS811.dataAvailable ()) {// Opkald til denne funktion opdaterer de globale tVOC- og eCO2 -variabler myCCS811.readAlgorithmResults (); // printData henter værdierne for tVOC og eCO2 float BMEtempC = myBME280.readTempC (); float BMEhumid = myBME280.readFloatHumidity (); // Dette sender temperaturdataene til CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); forsinkelse (2000); }

Indsæt koden i Arduino IDE og kompilér den. Skærmen skal vise SparkFun -logoet i et par sekunder og derefter begynde at vise live -betingelserne. Betingelserne opdateres cirka hvert andet sekund. Tak fordi du læste.

Har du et spørgsmål?

Efterlad en kommentar eller mail mig her

Anbefalede: