Sadržaj:

Zapisnik otvorenih kodova podataka (OPENSDL): 5 koraka (sa slikama)
Zapisnik otvorenih kodova podataka (OPENSDL): 5 koraka (sa slikama)

Video: Zapisnik otvorenih kodova podataka (OPENSDL): 5 koraka (sa slikama)

Video: Zapisnik otvorenih kodova podataka (OPENSDL): 5 koraka (sa slikama)
Video: CS50 2015 - Week 7 2024, Juli
Anonim
Zapisnik otvorenih kodova podataka (OPENSDL)
Zapisnik otvorenih kodova podataka (OPENSDL)
Zapisnik otvorenih kodova podataka (OPENSDL)
Zapisnik otvorenih kodova podataka (OPENSDL)
Zapisnik otvorenih kodova podataka (OPENSDL)
Zapisnik otvorenih kodova podataka (OPENSDL)

Cilj ovog projekta je dizajniranje, izgradnja i testiranje jeftinog mjernog sistema za studije vrednovanja performansi zgrade koji uključuje najmanje temperaturu, relativnu vlažnost, osvijetljenost i koji se može proširiti na dodatne senzore, te razviti prototip ovih uređaja.

To rezultira prilagođenim i pristupačnim sistemom koji omogućava zainteresiranim stranama da na efikasan i pristupačan način provedu mjerenja potrebna za procjenu performansi zgrade bilježenjem više parametara okoliša odjednom. Razvijeni Open Source Logger (OPENSDL) upoređen je sa HOBO U12-012 data loggerom. Ovaj komercijalno dostupan analogni sistem može mjeriti 3 parametra, naime- temperaturu, RH i osvjetljenje, te jedan vanjski kanal za druge tipove senzora. Za mjerenje bilo kojeg drugog parametra bio bi potreban drugačiji senzorski uređaj. Karakteristike parametara koje treba mjeriti ograničene su na vlasnički hardver i softver, što ograničava sistem na mjerenje određenih parametara sa specifičnom tačnošću. HOBO U12-012 košta oko 13 000 ₹ (185 USD), dok OPENSDL košta 4 605 ₹ (66 US $), što je gotovo jedna trećina komercijalnog pandana.

Zapisnik podataka otvorenog koda za praćenje temperature, relativne vlažnosti i nivoa svjetlosti (osvijetljenosti) uz pomoć Arduino Uno Ovo je DIY za razvoj OPENSDL zapisnika podataka.

Potrebno vrijeme: 2-3 sata za lemljenje, 5 sati za pakovanje (4 sata - 3D štampanje i 1 sat za lasersko sečenje) Potrebne veštine: Lemljenje, malo ili nimalo znanja u programiranju i elektronici

Potrebni delovi:

  1. Arduino Uno sa kablom
  2. Štitnik zapisivača podataka
  3. CR1220 dugmasta baterija
  4. BME280 ploča za probijanje osjetnika pritiska temperature
  5. TSL2561 ploča za probijanje senzora svjetla
  6. ESP01-8266 Wi-Fi modul
  7. RJ-9 muški i ženski konektor
  8. Zaglavlja za slaganje štitova za Arduino
  9. SD memorijska kartica (bilo kojeg kapaciteta)
  10. Vektorska ploča (26 x 18 rupa)
  11. 8 AA baterija Držač baterije

Potrebni alati:

  • Lemilica (35W)
  • Lemljena žica
  • Rezač žice
  • Alat za krimpovanje
  • Multimetar

Potreban softver: Arduino IDE (1.0.5 ili noviji)

Korištene Arduino biblioteke:

  • Žičana biblioteka
  • SparkFun TSL2561 biblioteka
  • Višesenzorska biblioteka Cactus BME280
  • Biblioteka SD kartica
  • SPI biblioteka
  • RTC biblioteka

Napomena: BME280 senzor je vrlo precizan Bosch senzor temperature, relativne vlažnosti i pritiska. Slično tome, DS1307 je precizan sat u stvarnom vremenu kompanije Maxim, a TSL2561 je precizan svjetlosni senzor. Postoje jeftinije i manje točne alternative za ove proizvode, ali ovaj je vodič bio namijenjen ljudima koji su bili zainteresirani za prikupljanje podataka za procjenu performansi zgrade i aplikacije za nadzor zgrada koje zahtijevaju visoku preciznost i točnost. To znači da su sve posebne postavke hardvera i softvera (biblioteke, programski kod) strogo namijenjene samo navedenim proizvodima.

Korak 1: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Štitnik zapisivača podataka može se lako postaviti na vrh Arduino Uno ploče. Ovaj štit pruža mogućnosti evidentiranja podataka (čuvanje vremena i skladištenje podataka). Štit je morao biti složen. CR1220 dugmasta baterija morala je biti umetnuta u okrugli otvor koji je osigurao rad sata čak i kad je Arduino isključen. SD memorijska kartica mora biti umetnuta u predviđeni utor za karticu. Jedinstven prilagođeni štit razvijen je upotrebom ženskih pinova konektora RJ-9 i zaglavlja za slaganje Arduino štita. Odgovarajuća zaglavlja lemljena su na odgovarajućim mjestima, tako da se štit savršeno uklapa na Arduino ploču. Arduino ima 18 igala s jedne i 14 iglica s druge strane. Zaglavlja s istim brojem pinova korištena su na istom razmaku (razmak 18 pinova) kao i na Arduinu. Preostali dodatni prostor uz zaglavlja iskorišten je za postavljanje konektora RJ-9.

Zaglavlja su bili najbolji način korištenja potrebnih pinova, a istovremeno su ih učinili dostupnim za upotrebu drugim komponentama. Korišteni senzori slijede I2C komunikacijski protokol, koji zahtijeva 4 pina od Arduina, i to: SDA (dostupan i kao A4), SCL (dostupan i kao A5), 3,3 V i GND. Četiri žice koje izlaze iz RJ-9 konektora lemljene su u ova četiri pina zaglavlja. Broj potrebnih konektora RJ-9 ovisi o broju senzora. U ovom projektu korištena su 3 konektora RJ-9 (dva za BME280 i jedan za TSL2561). Četiri žice koje izlaze iz konektora RJ-9 bile su kodirane u boji, a svaka žica u boji označena je posebnim pinom za sve konektore RJ-9. Mora se napomenuti da se kod boja može razlikovati za različite komade RJ-9. U tom slučaju potrebno je zabilježiti mjesto žice na konektoru. Konektor RJ-9 je nakon lemljenja napravljen da se zalijepi na vektorsku ploču pomoću Feviqwika, tako da se fiksira na površinu. Ove veze se mogu provjeriti pomoću načina kontinuiteta na multimetru. U kontinuiranom načinu rada multimetar bi trebao pokazati nulti otpor. Spojite jednu od sondi multimetra na lemljeni pin, a drugu sondu na iglu unutar RJ-9 konektora. Multimetar bi trebao emitirati ton, što znači da su spojevi za lemljenje ispravni i da su veze pravilno izvedene. Ako se ton ne emitira, provjerite lemne spojeve. Slično, zalemite konektor RJ-9 istim žicama koje se spajaju na iste rupe na pločama za probijanje senzora, tj. A4, A5, 3,3 V i GND. BME280 senzor podržava dvije I2C adrese, što znači da se dva BME280 senzora mogu spojiti na isti kontroler odjednom. Pritom se adresa jednog od senzora mora promijeniti tako da se spoje jastučići za lemljenje na senzoru. Čip za bežično povezivanje ESP-01 zahtijevao je sljedeće veze s Arduinom.

ESP-01 --------- Arduino Uno

10 -------------------- TX

11 -------------------- RX

Vcc ---------------- CH_PD

Vcc ------------------- Vcc

GND ----------------- GND

Napomena:- Više LED dioda na Arduino Uno je uklonjeno radi poboljšanja trajanja baterije. LED diode indikatora napajanja, RX i TX LED diode uklonjene su zagrijavanjem lemnih spojeva i pritiskanjem LED diode pincetom.

Korak 2: Postavite IDE -ove i biblioteke

Prije bilo kakvog programiranja potrebno je preuzeti Arduino IDE (Integrirano razvojno okruženje). Programiranje je urađeno na ovoj platformi. Za interakciju s različitim komponentama OPENSDL -a bile su potrebne različite biblioteke. Za date komponente korištene su sljedeće biblioteke.

Komponenta ------------------------------------------------- -------------- Biblioteka

BME280 senzor temperature i RH --------------------------------- Cactus_io_BME280_I2C.h

Senzor svjetla ------------------------------------------------ ---------------- SparkFun TSL2561.h

Sat u stvarnom vremenu ----------------------------------------------- ------------- RTClib.h

Utičnica za SD karticu ----------------------------------------------- ------------- SD.h

I2C veza ------------------------------------------------ ------------- Wire.h

Odvojena biblioteka za komunikaciju s ESP01 nije potrebna jer kôd postavljen u Arduino ima AT naredbe, koje se šalju serijskom monitoru, odakle ESP-01 preuzima upute. Dakle, u osnovi, AT naredbe pomoću kojih ESP01 radi, ispisuju se u serijskom monitoru, koje ESP-01 uzima kao ulaznu naredbu. Za instaliranje ovih biblioteka, nakon što ih preuzmete, otvorite Arduino IDE, idite na Sketch -> Include Library -> Add. Zip library i odaberite preuzete biblioteke.

Korak 3: Programiranje sistema

Programiranje sistema
Programiranje sistema

Prije programiranja OPENSDL -a, povežite Arduino s prijenosnim računalom. Nakon povezivanja idite na Tools -> Port i odaberite COM port na koji je spojen OPENSDL. Također provjerite je li u odjeljku Alati -> ploče odabrano Arduino Uno.

OPENSDL je razvijen za rad u 2 moda. U prvom načinu rada pohranjuje podatke na SD karticu na štitnik zapisivača podataka. U drugom načinu rada šalje podatke putem interneta na web stranicu pomoću Wi-Fi čipa ESP-01. Program za oba načina je različit. Ovi redovi koda mogu se izravno kopirati i zalijepiti u Arduino IDE uređivač i koristiti izravno. Jednom u kodu, moramo napraviti nekoliko prilagodbi prema našim potrebama:

  1. Ručno promijenite vrijednost kašnjenja (1000) na kraju koda da biste promijenili interval bilježenja. Vrijednost 1000 predstavlja interval u milisekundama.
  2. Uredite red koda koji kaže mySensorData = SD.open ("Logged01.csv", FILE_WRITE); i zamijenite Logged01 imenom datoteke željenog naziva datoteke. Ekstenzija datoteke se također može promijeniti promjenom ekstenzije.csv odmah nakon imena datoteke.
  3. Jednačina kalibracije postignuta pronalaženjem korelacije između glavnog/referentnog senzora i BME280 će se razlikovati od svakog senzora. Zamijenite ovaj red koda jednadžbom za kalibraciju senzora: Serial.print ((1.0533*t2) -2.2374)-za senzor sa zadanom adresom (0x77), gdje je t2 vrijednost očitana sa senzora temperature.

Predviđen je poseban program za programiranje drugog dostupnog načina rada OPENSDL, a to je bežični sistem. ESP-01 mora biti spojen na OPENSDL prema vezama kako je objašnjeno u koraku #2. Nakon dovršetka povezivanja, povežite Arduino s prijenosnim računalom i prenesite praznu skicu u Arduino. Stavite ESP-01 u način ažuriranja i ažurirajte firmver na najnovije dostupno ažuriranje. Nakon ažuriranja, svakako povežite pin za resetiranje Arduina sa pinom od 3,3 V, koji zaobilazi Arduino pokretački program

Korak 4: Izrada

Fabrication
Fabrication
Fabrication
Fabrication
Fabrication
Fabrication

Za zaštitu i poboljšanje estetike napravljeno je kućište za OPENSDL. Kućišta su razvijena 3D štampanjem pomoću PLA materijala, a kućište za mikrokontroler razvijeno je laserskim rezanjem MDF lima i lijepljenjem komada. 3D štampani modeli razvijeni su pomoću softvera SketchUp, a 2D dxf crteži za lasersko rezanje izrađeni su pomoću AutoCAD -a.

Za 3D štampanje, STL datoteke proizvedene pomoću SketchUpa su otvorene i provjerene u softveru Ultimaker Cura 3.2.1. Uvjerite se da se koristi PLA materijal, a mlaznica štampača za štampanje 0,4 mm. Ploča za izradu 3D štampača može zahtijevati ljepilo za lijepljenje 3D štampanog objekta. Ali kada je štampanje završeno, ljepilo stvara snažnu adheziju između štampanog objekta i građevinske ploče.

Korak 5: Kodirajte

Kod (.ino datoteke) je napravljen za rad u Arduino IDE softveru. Evo veze na moju stranicu Github za kôd i ostale detalje.

github.com/arihant93/OPENSDL

Ne ustručavajte se postavljati pitanja o projektu.

Hvala.

Preporučuje se: