Innholdsfortegnelse:

Håndholdt værstasjon: 4 trinn
Håndholdt værstasjon: 4 trinn

Video: Håndholdt værstasjon: 4 trinn

Video: Håndholdt værstasjon: 4 trinn
Video: Mars Curiosity Rover Scientific Instruments Explained in Detail 2024, November
Anonim
Håndholdt værstasjon
Håndholdt værstasjon
Håndholdt værstasjon
Håndholdt værstasjon
Håndholdt værstasjon
Håndholdt værstasjon

I denne instruksjonsboken bruker vi en Arduino, en oled -skjerm og en SparkFun -miljøsensorkombinasjon med CCS811- og BME280 -sensorer om bord for å bygge en håndholdt enhet som måler temperatur, fuktighet, TVOC -nivåer, barometrisk trykk og karbondioksidnivåer. Du kan bruke hvilken som helst Arduino med den oppgitte koden, men jeg bruker en SparkFun Qwiic pro micro. Hvis du er nybegynner, foreslår jeg at du bruker de samme delene som jeg bruker, bare for å gjøre ting enkelt. Jeg valgte SparkFun Qwiic pro mikrokort for sin lille størrelse og Qwiic -kontakten, noe som gjør det enkelt å koble komponentene dine. Hvis du bruker et annet brett, må du kjøpe en Qwiic -hatt, phat eller skjold som passer til brettet ditt.

Rekvisita:

  • SparkFun Environmental Combo Breakout -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Qwiic -kabel, 50 mm -
  • Prosjektboks, størrelse til komponentene dine, jeg bruker rundt 3 x 2 x 1 -
  • Valgfritt: Hvis du bruker Qwiic Pro Micro, trenger du kanskje en usb-c-kabel (hvis du ikke allerede har en) for strøm og programmering
  • Vindusskjerm, ca 1,5 x 1,5 tommer
  • Skruer (se bildet ovenfor)

Verktøy:

  • Varm limpinner og varm limpistol
  • Saks
  • Barberblad eller x-acto kniv, som er i stand til å skjære gjennom prosjektboksen

Trinn 1: Merk og kutt hull og legg i vindusskjermen

Merk og klipp hull og legg i vindusskjermen
Merk og klipp hull og legg i vindusskjermen
Merk og klipp hull og legg i vindusskjermen
Merk og klipp hull og legg i vindusskjermen
Merk og klipp hull og legg i vindusskjermen
Merk og klipp hull og legg i vindusskjermen

Vi vil markere og kutte hull for oljen, miljøsensoren og USB-C-kontakten for programmering og strøm.

  1. Rett opp komponentene dine der du vil ha dem og merk skruehullene.
  2. Merk ruter, for oled, en firkant på størrelse med skjermen og for miljøsensoren, en firkant som er litt større enn de 2 sensorene (se bildene ovenfor).
  3. Merk av plass for USB-C-kontakten. Qwiic Pro Micro -brettet mitt hadde loddinger allerede loddet på det, så jeg la i et skumstykke og merket det. Hvis din ikke gjør det, legg det flatt mot bunnen av saken for å markere hullet.
  4. Bor de merkede hullene og kutt ut USB-C-kontakten. De borede hullene skal være store nok til å la skruene gå gjennom.
  5. Klipp en firkant med vindusskjerm litt større enn hullet til sensoren. Kutt ut plass på vindusskjermen for skruehullet og festeposten (se bildene ovenfor).
  6. Varm lim skjermen på plass.

Trinn 2: Monter Oled og sensor

Monter Oled og sensor
Monter Oled og sensor
Monter Oled og sensor
Monter Oled og sensor
Monter Oled og sensor
Monter Oled og sensor

Monter oljesensoren og miljøsensoren i etuiet. De større skruene går i hullene du har boret, og de mindre skruene går inn i stolpene i hjørnet på lokket. Bruk skivene til avstandsstykker. For større skruer, se diagrammet ovenfor for avklaring. Du må kanskje bruke mer enn en vaskemaskin for mellomrom.

Trinn 3: Monter Arduino og Connect -komponenter

Monter Arduino og Connect -komponenter
Monter Arduino og Connect -komponenter
Monter Arduino og Connect -komponenter
Monter Arduino og Connect -komponenter
Monter Arduino og Connect -komponenter
Monter Arduino og Connect -komponenter
  1. Qwiic Pro Micro -brettet mitt hadde loddinger på det allerede, så jeg la det i et stykke skum og limte det fast. Hvis din ikke har overskrifter, lim den ned til bunnen av saken. Sørg for at det er nok plass til Qwiic -kabelen for tilkobling.
  2. Koble komponentene med Qwiic -kontaktene. Verken ordren eller siden Qwiic -kontakten er av betydning. Se bildene ovenfor for avklaring.
  3. Nå kan du sette sammen prosjektboksen. Sørg for at Qwiic -kablene er tett tilkoblet og ikke blir klemt.

Trinn 4: Kode

Følg denne opplæringen for å få Qwiic pro micro board i gang.

Når det er gjort, er koden nedenfor. Du kan finne 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); oppsett (100); Wire.begin (); oled.begin (); // Initialiser OLED oled.clear (ALL); // Slett skjermens interne minne oled.display (); // Vis hva som er i bufferen (sprutskjerm) oled.clear (PAGE); // Fjern bufferen. randomSeed (analogRead (A0) + analogRead (A1)); // Initialiser BME280 // For I2C, aktiver følgende og deaktiver SPI -delen myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Normal modus 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 (); // Ringe.begin () fører til at innstillingene blir lastet forsinkelse (10); // Sørg for at sensoren hadde nok tid til å slå på. BME280 krever 2 ms for å starte opp. byte id = myBME280.begin (); // Returnerer ID på 0x60 hvis vellykket forsinkelse (10000); } ugyldig print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (round (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (round (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 (round (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (runde (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Kontroller om data er tilgjengelige hvis (myCCS811.dataAvailable ()) {// Når du kaller denne funksjonen, oppdateres de globale tVOC- og eCO2 -variablene myCCS811.readAlgorithmResults (); // printData henter verdiene 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); }

Lim inn koden i Arduino IDE og kompiler den. Skjermen skal vise SparkFun -logoen i noen sekunder, og deretter begynne å vise live -forholdene. Vilkårene oppdateres omtrent hvert 2. sekund. Takk for at du leste.

Har du et spørsmål?

Legg igjen en kommentar eller send meg en e -post her

Anbefalt: