Kazalo:
- Zaloge:
- Orodja:
- Korak: Označite in izrežite luknje ter jih vstavite v okno
- Korak: Namestite Oled in senzor
- Korak: Namestite Arduino in povežite komponente
- 4. korak: Koda
Video: Ročna vremenska postaja: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
V tem navodilu bomo za izdelavo ročne naprave za merjenje temperature, vlažnosti, ravni TVOC, barometričnega tlaka in ravni ogljikovega dioksida uporabljali Arduino, oled zaslon in kombinacijo okoljskih senzorjev SparkFun s senzorjema CCS811 in BME280. S priloženo kodo lahko uporabite kateri koli Arduino, vendar uporabljam SparkFun Qwiic pro micro. Če ste začetnik, predlagam, da uporabite iste dele, ki jih uporabljam, samo zato, da bodo stvari preproste. Za majhno velikost in priključek Qwiic sem izbral mikro ploščo SparkFun Qwiic pro, ki olajša povezavo vaših komponent. Če uporabljate drugo ploščo, ne pozabite kupiti klobuka, phat ali ščita Qwiic, ki ustreza vaši deski.
Zaloge:
- SparkFun Environmental Combo Breakout -
- SparkFun Micro OLED Breakout -
- SparkFun Qwiic Pro Micro -
- Qwiic kabel, 50 mm -
- Projektna škatla, velikost glede na vaše komponente, uporabljam približno 3 x 2 x 1 -
- Izbirno: Če uporabljate Qwiic Pro Micro, boste morda potrebovali kabel usb-c (če ga še nimate) za napajanje in programiranje
- Okno, okrog 1,5 x 1,5 palca
- Vijaki (glej sliko zgoraj)
Orodja:
- Vroče lepilne palice in pištola za vroče lepilo
- Škarje
- Rezilo ali nož x-acto, ki lahko prereže vašo projektno škatlo
Korak: Označite in izrežite luknje ter jih vstavite v okno
Označili in izrezali bomo luknje za oled, okoljski senzor in priključek USB-C za programiranje in napajanje.
- Poravnajte komponente, kjer jih želite, in označite luknje za vijake.
- Označite kvadratke za oled, kvadrat velikosti zaslona in za senzor za okolje, kvadrat, ki je nekoliko večji od dveh senzorjev (glejte slike zgoraj).
- Označite prostor za priključek USB-C. Na moji plošči Qwiic Pro Micro so bile že spajkane glave, zato sem jo dala v kos pene in jo označila. Če vaš ne, ga položite na dno ohišja, da označite luknjo.
- Izvrtajte označene luknje in izrežite priključek USB-C. Izvrtane luknje morajo biti dovolj velike, da puščajo vijake.
- Izrežite kvadrat okenskega okna, nekoliko večji od luknje za senzor. Na okenskem zaslonu izrežite prostor za luknjo za vijak in pritrdilno mesto (glejte slike zgoraj).
- Vroče lepite zaslon na svoje mesto.
Korak: Namestite Oled in senzor
V ohišje namestite oleden in okoljski senzor. Večji vijaki gredo v luknje, ki ste jih izvrtali, manjši pa v stebre v kotu pokrova ohišja. Za distančnike uporabite podložke. Za večje vijake glejte zgornji diagram za pojasnilo. Za razmik boste morda morali uporabiti več podložk.
Korak: Namestite Arduino in povežite komponente
- Na moji plošči Qwiic Pro Micro so bile že spajkane glave, zato sem jo dala v kos pene in jo prilepila. Če vaši nimajo glav, jih prilepite na dno ohišja. Prepričajte se, da je dovolj prostora za priključitev kabla Qwiic.
- Komponente povežite s priključki Qwiic. Niti vrstni red niti stran priključka Qwiic nista pomembna. Za pojasnila si oglejte zgornje slike.
- Zdaj lahko skupaj zaskočite svoj projektni okvir. Prepričajte se, da so kabli Qwiic tesno povezani in da se ne stisnejo.
4. korak: Koda
Če želite, da se vaša mikro plošča Qwiic pro zažene, sledite tej vadnici.
Ko to storite, je spodnja koda, ki jo najdete na GitHubu tukaj.
#include #include #include #include #define PIN_RESET 9 #define DC_JUMPER 1 #define CCS811_ADDR 0x5B // Privzeti naslov I2CMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR) (nastavitev);; Wire.begin (); oled.begin (); // Inicializirajte OLED oled.clear (VSE); // Počisti notranji pomnilnik zaslona oled.display (); // Prikaz vsebine v vmesnem pomnilniku (splashscreen) oled.clear (PAGE); // Počisti vmesni pomnilnik. randomSeed (analogRead (A0) + analogRead (A1)); // Inicializirajte BME280 // Za I2C omogočite naslednje in onemogočite razdelek SPI myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Običajen način 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 (); // Klicanje.begin () povzroči zakasnitev nalaganja nastavitev (10); // Poskrbite, da bo imel senzor dovolj časa za vklop. BME280 potrebuje 2 ms za zagon. ID bajta = myBME280.begin (); // Vrne ID 0x60 v primeru uspešne zamude (10000); } void print_data () {oled.setFontType (0); oled.setCursor (0, 0); oled.print ("TMP"); oled.setCursor (25, 0); oled.print (okrogel (myBME280.readTempF ())); oled.setCursor (0, 10); oled.print ("HUM"); oled.setCursor (25, 10); oled.print (okrogel (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("HOS"); oled.setCursor (25, 20); oled.print (okrogel (myCCS811.getTVOC ())); oled.setCursor (0, 30); oled.print ("BAR"); oled.setCursor (25, 30); oled.print (okrogel (myBME280.readFloatPressure ())); oled.setCursor (0, 40); oled.print ("CO2"); oled.setCursor (25, 40); oled.print (okrogel (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Preverite, ali so na voljo podatki if (myCCS811.dataAvailable ()) {// Klicanje te funkcije posodobi globalne spremenljivke tVOC in eCO2 myCCS811.readAlgorithmResults (); // printData pridobi vrednosti tVOC in eCO2 float BMEtempC = myBME280.readTempC (); float BMEhumid = myBME280.readFloatHumidity (); // To pošlje podatke o temperaturi v CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); zamuda (2000); }
Kodo prilepite v Arduino IDE in jo prevedite. Zaslon bi moral za nekaj sekund prikazati logotip SparkFun, nato pa začeti prikazovati pogoje v živo. Pogoji se posodabljajo približno vsaki 2 sekundi. Hvala za branje.
Imate vprašanje?
Pustite komentar ali mi pišite tukaj
Priporočena:
Tweerstationneke A.k.a. Nizozemska vremenska postaja: 4 koraki
Tweerstationneke A.k.a. Nizozemska WeatherStation: Moj oče vedno zanima najnovejše novice in najnovejše vremenske informacije. To me je pripeljalo do popolnega rojstnodnevnega darila, ko je dopolnil 76 let: majhna stalna vremenska postaja brez neumnosti, ki ves dan tiho sedi v kotu in daje
Mini vremenska postaja z uporabo Arduina in ThingSpeak: 4 koraki
Mini vremenska postaja z uporabo Arduino in ThingSpeak: Pozdravljeni vsi. V tem navodilu vas bom vodil skozi korake za izdelavo prilagojene mini vremenske postaje. Prav tako bomo uporabljali API ThingSpeak za nalaganje vremenskih podatkov na njihove strežnike, ali pa je namen vremenske postaje
Ročna ročna roka MeArm V0.4: 20 korakov (s slikami)
Roka za žepno roko MeArm V0.4: MeArm je ročna roka za žep. Gre za projekt, ki se je začel februarja 2014 in je imel zaradi odprtega razvoja kot projekta odprte strojne opreme fantastično hitro pot do sedanjega stanja. Različica 0.3 je bila predstavljena na strani Instructables
Vremenska postaja NaTaLia: Vremenska postaja Arduino s sončno energijo Na pravi poti: 8 korakov (s slikami)
Vremenska postaja NaTaLia: Vremenska postaja na sončni pogon Arduino je ravnala pravilno: Po enem letu uspešnega delovanja na dveh različnih lokacijah delim svoje načrte projektov vremenskih postaj na sončno energijo in razložim, kako se je razvila v sistem, ki lahko resnično preživi dolgo časa obdobja iz sončne energije. Če sledite
Vremenska postaja in senzorska postaja DIY: 7 korakov (s slikami)
Vremenska postaja in senzorska postaja DIY: V tem projektu vam bom pokazal, kako skupaj s senzorsko postajo WiFi ustvariti vremensko postajo. Senzorska postaja meri lokalne podatke o temperaturi in vlažnosti ter jih prek WiFi pošlje vremenski postaji. Vremenska postaja nato prikaže t