Sisällysluettelo:
- Vaihe 1: Kokoonpano
- Vaihe 2: Määritä IDE: t ja kirjastot
- Vaihe 3: Järjestelmän ohjelmointi
- Vaihe 4: Valmistus
- Vaihe 5: Koodi
Video: Open Source Data Logger (OPENSDL): 5 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämän projektin tavoitteena on suunnitella, rakentaa ja testata edullinen mittausjärjestelmä rakennusten suorituskyvyn arviointitutkimuksiin, jotka sisältävät vähintään lämpötilan, suhteellisen kosteuden, valaistuksen ja jotka voidaan laajentaa muihin antureihin, ja kehittää näiden laitteiden prototyyppi.
Tuloksena on räätälöity ja edullinen järjestelmä, jonka avulla sidosryhmät voivat suorittaa rakennuksen suorituskyvyn arvioinnin edellyttämät mittaukset tehokkaasti ja edullisesti kirjaamalla useita ympäristöparametreja kerralla. Kehitettyä avoimen lähdekoodin dataloggeria (OPENSDL) verrattiin HOBO U12-012 -dataloggeriin. Tämä kaupallisesti saatavana oleva vastinejärjestelmä voi mitata 3 parametria, nimittäin lämpötilan, suhteellisen kosteuden ja valaistuksen, sekä yhden ulkoisen kanavan muille anturityypeille. Minkä tahansa muun parametrin mittaamiseen tarvitaan erilainen anturi. Mitattavien parametrien ominaisuudet rajoittuvat omaan laitteistoon ja ohjelmistoon, mikä rajoittaa järjestelmän tiettyjen parametrien mittaamiseen erityisillä tarkkuuksilla. HOBO U12-012 maksaa noin ₹ 13 000 (185 dollaria), kun taas OPENSDL maksaa 4 605 ₹ (66 dollaria), mikä on lähes kolmannes kaupallisesta vastineesta.
Avoimen lähdekoodin dataloggeri lämpötilan, suhteellisen kosteuden ja valotasojen (valaistuksen) seuraamiseen Arduino Unon avulla. Tämä on DIY OPENSDL -dataloggerin kehittämiseen.
Tarvittava aika: 2-3 tuntia juottamiseen, 5 tuntia pakkaamiseen (4 tuntia - 3D -tulostus ja 1 tunti laserleikkaukseen) Vaadittavat taidot: Juotto, ohjelmoinnin ja elektroniikan tuntemus on vähäinen tai ei lainkaan
Tarvittavat osat:
- Arduino Uno kaapelilla
- Tiedonkerääjän suoja
- CR1220 -nappiparisto
- BME280 lämpötila kosteuspaineanturin katkaisukortti
- TSL2561 valoanturin katkaisukortti
- ESP01-8266 Wi-Fi-moduuli
- RJ-9 uros- ja naarasliitin
- Kilven pinoamisotsikot Arduinolle
- SD -muistikortti (mikä tahansa kapasiteetti)
- Vektorilevy (26 x 18 reikää)
- 8 AA -paristoa Paristopidike
Tarvittavat työkalut:
- Juotosrauta (35W)
- Juotoslanka
- Lankaleikkuri
- Puristustyökalu
- Yleismittari
Tarvittava ohjelmisto: Arduino IDE (1.0.5 tai uudempi)
Käytetyt Arduino -kirjastot:
- Lankakirjasto
- SparkFun TSL2561 -kirjasto
- Cactus BME280 -monianturikirjasto
- SD -kortin kirjasto
- SPI -kirjasto
- RTC -kirjasto
Huomautus: BME280 -anturi on erittäin tarkka Boschin lämpötila-, suhteellisen kosteus- ja paineanturi. Vastaavasti DS1307 on tarkka reaaliaikainen kello Maximilta ja TSL2561 on tarkka valosensori. Näille tuotteille on halvempia ja vähemmän tarkkoja vaihtoehtoja, mutta tämä opetusohjelma oli tarkoitettu ihmisille, jotka olivat kiinnostuneita keräämään tietoja rakennusten suorituskyvyn arviointia ja suurta tarkkuutta vaativien rakennusten valvontasovelluksia varten. Tämä tarkoittaa, että kaikki erityiset laitteisto- ja ohjelmistoasetukset (kirjastot, ohjelmakoodi) oli tarkoitettu vain määritetyille tuotteille.
Vaihe 1: Kokoonpano
Dataloggeri -kilpi voidaan pinota helposti Arduino Uno -levyn päälle. Tämä suoja tarjoaa tiedon kirjausominaisuudet (ajan säilyttäminen ja tietojen tallennus). Kilpi oli pinottava. CR1220 -nappiparisto oli asetettava mukana toimitettuun pyöreään paikkaan, jotta kello pysyisi käynnissä, vaikka Arduino olisi sammutettu. SD-muistikortti on asetettava mukana toimitettuun korttipaikkaan. Ainutlaatuinen räätälöity kilpi kehitettiin käyttämällä RJ-9-liittimen naaraspuolisia nastoja ja Arduino-kilpipinoamisotsikoita. Sopivat otsikot juotettiin sopiviin paikkoihin, jotta kilpi sopii täydellisesti Arduino -levylle. Arduinossa on 18 nastaa toisella puolella ja 14 nastaa toisella puolella. Otsikoita, joissa on sama määrä nastoja, käytettiin samoilla väleillä (18 nastaa toisistaan) kuin Arduinolla. Ylätunnistimien vieressä oleva ylimääräinen tila käytettiin RJ-9-liittimen sijoittamiseen.
Otsikot olivat paras tapa käyttää vaadittuja tappeja samalla, kun ne olivat edelleen muiden komponenttien käytettävissä. Käytetyt anturit noudattavat I2C -tiedonsiirtoprotokollaa, joka vaatii 4 nastaa Arduinolta, nimittäin: SDA (saatavana myös A4 -muodossa), SCL (saatavana myös A5 -muodossa), 3,3 V ja GND. RJ-9-liittimestä tulevat neljä johtoa juotettiin näihin neljään otsatappiin. Tarvittavien RJ-9-liittimien määrä riippuu antureiden määrästä. Tässä projektissa käytettiin 3 RJ-9-liitintä (kaksi BME280: lle ja yksi TSL2561: lle). RJ-9-liittimestä tulevat neljä johtoa oli värikoodattu, ja jokainen värijohto oli nimetty erityiseksi tapiksi kaikille RJ-9-liittimille. On huomattava, että värikoodi voi vaihdella eri RJ-9-kappaleissa. Tällaisessa tapauksessa johtimen sijainti liittimessä on merkittävä muistiin. Juottamisen jälkeen RJ-9-liitin kiinnitettiin vektorilevylle Feviqwikin avulla niin, että se kiinnittyy pintaan. Nämä yhteydet voidaan tarkistaa käyttämällä yleismittarin jatkuvuustilaa. Jatkuvuustilassa multimetrin pitäisi näyttää nollavastusta. Liitä yksi yleismittarin anturista juotettuun tapiin ja toinen anturi RJ-9-liittimen sisällä olevaan nastaan. Yleismittarin pitäisi antaa merkkiääni, mikä tarkoittaa, että juotosliitokset ovat oikein ja liitännät on tehty oikein. Jos ääni ei kuulu, tarkista juotosliitokset. Samoin juotetaan RJ-9-liitin samoilla johtimilla, jotka on kytketty samoihin nastareikiin anturien katkaisulevyissä, eli A4, A5, 3.3V ja GND. BME280 -anturi tukee kahta I2C -osoitetta, joten samaan ohjaimeen voidaan yhdistää kaksi BME280 -anturia kerralla. Samalla yhden anturin osoite on muutettava yhdistämällä anturin juotoslevyt. Langaton yhteys ESP-01 vaati seuraavia yhteyksiä Arduinon kanssa.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Huomautus:- Arduino Unon useat LEDit poistettiin akun käyttöiän pidentämiseksi. Virran merkkivalo, RX- ja TX -LEDit poistettiin kuumentamalla juotosliitoksia ja työntämällä LEDiä pihdeillä.
Vaihe 2: Määritä IDE: t ja kirjastot
Ennen kuin teet mitään ohjelmointia, sinun on ladattava Arduino IDE (Integrated Development Environment). Ohjelmointi tehtiin tällä alustalla. Eri kirjastoja vaadittiin olemaan vuorovaikutuksessa OPENSDL: n eri osien kanssa. Seuraavia kirjastoja käytettiin annetuille komponenteille.
Komponentti ------------------------------------------------- --------------Kirjasto
BME280 lämpötila- ja kosteusanturi --------------------------------- Cactus_io_BME280_I2C.h
Valoanturi ------------------------------------------------ ---------------- SparkFun TSL2561.h
Reaaliaikainen kello ----------------------------------------------- ------------- RTClib.h
SD-korttipaikka ----------------------------------------------- ------------- SD.h
I2C-liitäntä ------------------------------------------------ ------------- johto. H
Erillistä kirjastoa ESP01: n kanssa kommunikoimiseksi ei tarvita, koska Arduinoon ladatussa koodissa on AT-komennot, jotka lähetetään sarjamonitoriin, josta ESP-01 ottaa ohjeet. Periaatteessa ESP01: n suorittamat AT-komennot tulostetaan sarjamonitoriin, jotka ESP-01 ottaa syöttökomennoiksi. Asenna nämä kirjastot lataamisen jälkeen avaamalla Arduino IDE, valitsemalla Luonnos -> Sisällytä kirjasto -> Lisää. Zip -kirjasto ja valitsemalla ladatut kirjastot.
Vaihe 3: Järjestelmän ohjelmointi
Ennen kuin ohjelmoit OPENSDL: n, yhdistä Arduino kannettavaan tietokoneeseen. Kun olet muodostanut yhteyden, valitse Työkalut -> Portti ja valitse COM -portti, johon OPENSDL on kytketty. Varmista myös, että kohdasta Työkalut -> Taulut, Arduino Uno on valittu.
OPENSDL on kehitetty toimimaan kahdessa tilassa. Ensimmäisessä tilassa se tallentaa tiedot SD -kortille tiedonkeruulaitteeseen. Toisessa tilassa se lähettää tiedot Internetin kautta verkkosivustolle käyttämällä ESP-01 Wi-Fi -piiriä. Molempien tilojen ohjelma on erilainen. Nämä koodirivit voidaan kopioida ja liittää suoraan Arduino IDE -editoriin ja käyttää suoraan. Kun koodi on kirjoitettu, meidän on tehtävä joitain mukautuksia tarpeidemme mukaan:
- Muuta manuaalisesti viiveen arvoa (1000) koodin lopussa kirjausvälin muuttamiseksi. Arvo 1000 edustaa aikaväliä millisekunteina.
- Muokkaa koodiriviä, joka sanoo mySensorData = SD.open ("Logged01.csv", FILE_WRITE); ja korvaa Logged01 halutun tiedostonimen tiedostonimellä. Tiedoston laajennusta voidaan muuttaa myös muuttamalla.csv -tiedostotunnistetta heti tiedostonimen jälkeen.
- Kalibrointiyhtälö, joka saadaan pää-/referenssianturin ja BME280: n välisen korrelaation löytämisellä, vaihtelee kullakin anturilla. Korvaa tämä koodirivi yhtälöllä antureiden kalibroimiseksi: Sarjajälki ((1.0533*t2) -2.2374)-anturille, jonka oletusosoite (0x77) on, jossa t2 on lämpötila-anturista luettu arvo.
OPENSDL: n toisen käytettävissä olevan tilan, joka on langaton järjestelmä, ohjelmointiin on erillinen ohjelma. ESP-01 on liitettävä OPENSDL-liitäntään vaiheiden 2 mukaisesti. Kun liitännät on tehty, liitä Arduino kannettavaan tietokoneeseen ja lataa tyhjä luonnos Arduinoon. Aseta ESP-01 päivitystilaan ja päivitä laiteohjelmisto uusimpaan saatavilla olevaan päivitykseen. Päivityksen jälkeen muista liittää Arduinon nollausnasta 3,3 V: n nastaan, joka ohittaa Arduino -käynnistyslataimen
Vaihe 4: Valmistus
OPENSDL -kotelo luotiin suojaamaan ja parantamaan estetiikkaa. Kotelot kehitettiin 3D -tulostuksella käyttäen PLA -materiaalia, ja mikrokontrollerin kotelo kehitettiin leikkaamalla MDF -levy laserilla ja liimaamalla kappaleet yhteen. 3D -tulostetut mallit kehitettiin SketchUp -ohjelmiston avulla ja 2D -dxf -piirustukset laserleikkaukseen luotiin AutoCAD -ohjelmalla.
3D -tulostuksessa SketchUpilla tuotetut STL -tiedostot avattiin ja tarkistettiin Ultimaker Cura 3.2.1 -ohjelmistossa. Varmista, että käytetään PLA -materiaalia ja että tulostimen suutin on tarkoitettu 0,4 mm: n tulostamiseen. 3D -tulostimen rakennuslevy saattaa vaatia liimaa 3D -tulostetun kohteen liimaamiseen. Mutta kun tulostus on valmis, liima luo vahvan tartunnan painetun kohteen ja rakennuslevyn väliin.
Vaihe 5: Koodi
Koodi (.ino -tiedostot) on tehty toimimaan Arduino IDE -ohjelmistossa. Tässä on linkki Github -sivulleni, jossa on koodi ja muut tiedot.
github.com/arihant93/OPENSDL
Älä epäröi esittää kysymyksiä projektista.
Kiitos.
Suositeltava:
GPS Cap Data Logger: 7 vaihetta (kuvien kanssa)
GPS Cap Data Logger: Tässä on loistava viikonloppuprojekti, jos aiot vaeltaa tai ottaa pitkiä pyöräretkiä ja tarvitset GPS -dataloggerin, jotta voit seurata kaikkia tekemiäsi vaelluksia/ajeluja … Kun olet suorittanut rakentamisen ja ladannut tiedot tr: n GPS -moduulista
Open Frame Mini ITX PC: 5 vaihetta (kuvien kanssa)
Open Frame Mini ITX PC: Olen halunnut rakentaa pienen pöytätietokoneen jo jonkin aikaa. Pidin myös todella ajatuksesta avoimen kehyksen testipenkityylisestä alustasta- jotain, jonka avulla voin helposti poistaa/vaihtaa komponentteja
Cardio Data Logger: 7 vaihetta (kuvien kanssa)
Cardio Data Logger: Vaikka nykyään on saatavana monia kannettavia laitteita (älykaistat, älykellot, älypuhelimet, …), jotka voivat tunnistaa sykkeen (HR) ja suorittaa jäljitysanalyysin, rintahihnapohjaiset järjestelmät (kuten yläosassa oleva) kuvasta) ovat
Kuvien tallentaminen tehtävää varten: 4 vaihetta (kuvien kanssa)
Kuvien tallentaminen tehtävää varten: 1. Avaa uusi Google -asiakirja ja suojaa kuvat tällä sivulla. Käytä ctrl (ohjaus) ja " c " kopioitava näppäin 3. Käytä ctrl (control) ja " v " liitettävä avain
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): 11 vaihetta (kuvien kanssa)
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): Jos yrität "Tee saumaton" -laajennusta GIMP: ssä, se tekee kuvasta saumattoman sekä vaaka- että pystysuunnassa samanaikaisesti. Se ei salli sinun tehdä siitä saumatonta vain yhdessä ulottuvuudessa. Tämä ohje auttaa sinua saamaan kuvan