Inhoudsopgave:
- Benodigdheden:
- Gereedschap:
- Stap 1: Markeer en snijd gaten en plaats in het vensterscherm
- Stap 2: Monteer Oled en sensor
- Stap 3: Arduino monteren en componenten aansluiten
- Stap 4: Coderen
Video: Handheld weerstation: 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
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
We markeren en snijden gaten voor de oled, omgevingssensor en USB-C-connector voor programmering en voeding.
- Lijn uw componenten uit waar u ze wilt hebben en markeer de schroefgaten.
- 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).
- 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.
- Boor de gemarkeerde gaten en knip de USB-C-connector uit. De geboorde gaten moeten groot genoeg zijn om de schroeven door te laten.
- 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).
- Heet lijm het scherm op zijn plaats.
Stap 2: 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
- 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.
- 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.
- 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:
Satellietondersteund weerstation: 5 stappen
Satellite Assisted Weather Station: Dit project is bedoeld voor mensen die hun eigen weergegevens willen verzamelen. Het kan windsnelheid en -richting, temperatuur en luchtvochtigheid meten. Het is ook in staat om elke 100 minuten naar weersatellieten te luisteren die om de aarde draaien. ik wil
Fanair: een weerstation voor uw kamer: 6 stappen (met afbeeldingen)
Fanair: een weerstation voor je kamer: Er zijn talloze manieren om het actuele weer te weten te komen, maar dan weet je alleen het weer buiten. Wat als u het weer in uw huis wilt weten, in een specifieke kamer? Dat probeer ik met dit project op te lossen. Fanair gebruikt mul
Online weerstation: 6 stappen
Online weerstation: je gelooft het niet! Maar vanaf het begin. Ik werkte aan de volgende versie van CoolPhone en het aantal fouten dat ik maakte toen het werd ontworpen, dwong me om er een pauze van te nemen. Ik deed mijn schoenen aan en ging naar buiten. Het bleek koud te zijn, dus ik ging
Tweerstationneke A.k.a. Nederlands Weerstation: 4 Stappen
Tweerstationneke A.k.a. Dutch WeatherStation: Mijn vader is altijd geïnteresseerd in het laatste nieuws en de laatste weersinformatie. Dus dat bracht me bij het perfecte verjaardagscadeau toen hij 76 werd: een klein altijd-aan weerstation zonder onzin, het zit gewoon de hele dag stil in een hoek en geeft
NaTaLia-weerstation: Arduino-weerstation op zonne-energie op de juiste manier gedaan - Ajarnpa
NaTaLia-weerstation: Arduino-weerstation op zonne-energie op de juiste manier gedaan: na 1 jaar succesvol gebruik op 2 verschillende locaties deel ik mijn projectplannen voor een weerstation op zonne-energie en leg ik uit hoe het is geëvolueerd tot een systeem dat echt kan overleven gedurende lange tijd perioden van zonne-energie. Als je volgt