Inhoudsopgave:

Handheld weerstation: 4 stappen
Handheld weerstation: 4 stappen

Video: Handheld weerstation: 4 stappen

Video: Handheld weerstation: 4 stappen
Video: Advies van Ruben - HOE maak je een Stihl BG 86 Bladblazer in 4 stappen gebruiksklaar? 2024, November
Anonim
Handheld weerstation
Handheld weerstation
Handheld weerstation
Handheld weerstation
Handheld weerstation
Handheld weerstation

In deze Instructable zullen we een Arduino, een oled-display en een SparkFun-omgevingssensorcombinatie met CCS811- en BME280-sensoren aan boord gebruiken om een handheld-apparaat te bouwen dat temperatuur, vochtigheid, TVOC-niveaus, barometrische druk en koolstofdioxideniveaus meet. Je kunt elke Arduino gebruiken met de meegeleverde code, maar ik gebruik een SparkFun Qwiic pro micro. Als je een beginner bent, raad ik je aan dezelfde onderdelen te gebruiken die ik gebruik, gewoon om het simpel te houden. Ik koos voor het SparkFun Qwiic pro microboard vanwege het kleine formaat en de Qwiic-connector, waardoor het eenvoudig is om je componenten aan te sluiten. Als je een ander board gebruikt, zorg er dan voor dat je een Qwiic-hoed, phat of shield koopt die bij je board past.

Benodigdheden:

  • SparkFun Milieu Combo Breakout -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Qwiic-kabel, 50 mm -
  • Projectdoos, maat voor uw componenten, ik gebruik ongeveer 3 x 2 x 1 -
  • Optioneel: als je de Qwiic Pro Micro gebruikt, heb je mogelijk een usb-c-kabel nodig (als je die nog niet hebt) voor voeding en programmering
  • Raamscherm, ongeveer 1,5 x 1,5 inch
  • Schroeven (zie afbeelding hierboven)

Gereedschap:

  • Hete lijmsticks en hete lijmpistool
  • Schaar
  • Scheermesje of x-acto mes, in staat om door je projectdoos te snijden

Stap 1: Markeer en snijd gaten en plaats in het vensterscherm

Markeer en snijd gaten en plaats in het vensterscherm
Markeer en snijd gaten en plaats in het vensterscherm
Markeer en snijd gaten en plaats in het vensterscherm
Markeer en snijd gaten en plaats in het vensterscherm
Markeer en snijd gaten en plaats in het vensterscherm
Markeer en snijd gaten en plaats in het vensterscherm

We markeren en snijden gaten voor de oled, omgevingssensor en USB-C-connector voor programmering en voeding.

  1. Lijn uw componenten uit waar u ze wilt hebben en markeer de schroefgaten.
  2. Markeer vierkanten, voor de oled, een vierkant ter grootte van het scherm en voor de omgevingssensor, een vierkant dat iets groter is dan de 2 sensoren (zie foto's hierboven).
  3. Markeer de ruimte voor de USB-C-connector. Op mijn Qwiic Pro Micro-bord waren al headers gesoldeerd, dus ik deed het in een stuk schuim en markeerde het. Als de jouwe dat niet doet, leg hem dan plat tegen de onderkant van de behuizing om het gat te markeren.
  4. Boor de gemarkeerde gaten en knip de USB-C-connector uit. De geboorde gaten moeten groot genoeg zijn om de schroeven door te laten.
  5. Snijd een vierkant raamscherm dat iets groter is dan het gat voor de sensor. Maak ruimte op het raamscherm vrij voor het schroefgat en de montagepaal (zie afbeeldingen hierboven).
  6. Heet lijm het scherm op zijn plaats.

Stap 2: Monteer Oled en sensor

Monteer Oled en Sensor
Monteer Oled en Sensor
Monteer Oled en Sensor
Monteer Oled en Sensor
Monteer Oled en Sensor
Monteer Oled en Sensor

Monteer de oled- en omgevingssensor in de behuizing. De grotere schroeven gaan in de gaten die je hebt geboord en de kleinere schroeven gaan in de palen in de hoek van het deksel van de koffer. Gebruik de ringen voor afstandhouders. Voor de grotere schroeven, zie het diagram hierboven ter verduidelijking. Mogelijk moet u meer dan één ring gebruiken voor de afstand.

Stap 3: Arduino monteren en componenten aansluiten

Arduino monteren en componenten aansluiten
Arduino monteren en componenten aansluiten
Arduino monteren en componenten aansluiten
Arduino monteren en componenten aansluiten
Arduino monteren en componenten aansluiten
Arduino monteren en componenten aansluiten
  1. Op mijn Qwiic Pro Micro-bord waren al headers gesoldeerd, dus ik deed het in een stuk schuim en plakte het vast. Als de jouwe geen headers heeft, lijm deze dan vast aan de onderkant van de behuizing. Zorg ervoor dat er voldoende ruimte is om de Qwiic-kabel aan te sluiten.
  2. Verbind de componenten met de Qwiic connectoren. Noch de volgorde, noch de kant van de Qwiic-connector is van belang. Zie de foto's hierboven voor verduidelijking.
  3. Nu kunt u uw projectdoos in elkaar klikken. Zorg ervoor dat de Qwiic-kabels stevig zijn aangesloten en niet bekneld raken.

Stap 4: Coderen

Volg deze tutorial om je Qwiic pro-microboard in gebruik te nemen.

Zodra dat is gebeurd, staat de code hieronder en kun je deze hier op GitHub vinden.

#include #include #include #include #define PIN_RESET 9#define DC_JUMPER 1#define CCS811_ADDR 0x5B //Standaard I2C-adres MicroOLED oled(PIN_RESET, DC_JUMPER);CCS811 myCCS811(CCS811_ADDR);BME280 mijnBME280;; Draad.begin(); oled.begin(); // Initialiseer de OLED oled.clear (ALL); // Wis het interne geheugen van het beeldscherm oled.display(); // Geef weer wat er in de buffer zit (splashscreen) oled.clear (PAGE); // Wis de buffer. randomSeed (analogRead (A0) + analoogRead (A1)); //BME280 initialiseren //Voor I2C, schakel het volgende in en schakel de SPI-sectie uit myBME280.settings.commInterface = I2C_MODE; mijnBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Normale modus myBME280.settings.tStandby = 0; mijnBME280.settings.filter = 4; mijnBME280.settings.tempOverSample = 5; myBME280.settings.pressOverSample = 5; myBME280.settings.humidOverSample = 5; CCS811Core::CCS811_Status_e returnCode = mijnCCS811.beginWithStatus (); // Bellen.begin() zorgt ervoor dat de instellingen worden geladen vertraging (10); //Zorg ervoor dat de sensor genoeg tijd had om in te schakelen. BME280 heeft 2 ms nodig om op te starten. byte-ID = mijnBME280.begin(); // Retourneert ID van 0x60 als succesvolle vertraging (10000); }void 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(round(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(ronde(myCCS811.getCO2())); oled.display(); }void loop() { delay(2000); //Controleer of er gegevens beschikbaar zijn if (myCCS811.dataAvailable()) { //Als u deze functie aanroept, worden de globale tVOC- en eCO2-variabelen myCCS811.readAlgorithmResults(); //printData haalt de waarden op van tVOC en eCO2 float BMEtempC = myBME280.readTempC(); float BMEhumid = myBME280.readFloatHumidity(); // Dit stuurt de temperatuurgegevens naar de CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data(); vertraging (2000); }

Plak de code in de Arduino IDE en compileer deze. Het scherm zou een paar seconden het SparkFun-logo moeten tonen, en dan beginnen de live-omstandigheden weer te geven. De voorwaarden worden ongeveer elke 2 seconden bijgewerkt. Bedankt voor het lezen.

Heb je een vraag?

Laat een reactie achter of mail me hier

Aanbevolen: