Satura rādītājs:
- 1. solis: montāža
- 2. darbība: iestatiet IDE un bibliotēkas
- 3. darbība: sistēmas programmēšana
- 4. solis: izgatavošana
- 5. darbība: kods
Video: Atvērtā koda datu reģistrētājs (OPENSDL): 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šī projekta mērķis ir izstrādāt, izveidot un pārbaudīt ēku veiktspējas novērtēšanas pētījumu zemu izmaksu mērīšanas sistēmu, kas ietver vismaz temperatūru, relatīvo mitrumu, apgaismojumu un ir paplašināma ar papildu sensoriem, un izstrādāt šo ierīču prototipu..
Tā rezultātā tiek izveidota pielāgota un pieņemama sistēma, kas ļauj ieinteresētajām personām efektīvi un par pieņemamu cenu veikt ēku darbības novērtēšanai nepieciešamos mērījumus, vienlaikus reģistrējot vairākus vides parametrus. Izstrādātais atvērtā pirmkoda datu reģistrētājs (OPENSDL) tika salīdzināts ar datu reģistrētāju HOBO U12-012. Šī komerciāli pieejamā ekvivalenta sistēma var izmērīt 3 parametrus, proti, temperatūru, RH un apgaismojumu, un vienu ārējo kanālu citiem sensoru veidiem. Jebkura cita parametra mērīšanai būtu nepieciešama cita sensoru ierīce. Mērāmo parametru raksturlielumi attiecas tikai uz patentētu aparatūru un programmatūru, kas aprobežojas ar noteiktu parametru mērīšanu ar īpašu precizitāti. HOBO U12-012 maksā aptuveni 13 000 ₹ (185 USD), savukārt OPENSDL maksā 4 605 ₹ (66 USD), kas ir gandrīz viena trešdaļa no komerciālā ekvivalenta.
Atvērtā koda datu reģistrētājs temperatūras, RH un gaismas līmeņu (apgaismojuma) uzraudzībai, izmantojot Arduino Uno. Šis ir DIY, lai izstrādātu datu reģistrētāju OPENSDL.
Nepieciešamais laiks: 2-3 stundas lodēšanai, 5 stundas iesaiņošanai (4 stundas - 3D drukāšana un 1 stunda lāzera griešanai) Nepieciešamās prasmes: lodēšana, nelielas zināšanas programmēšanā un elektronikā
Nepieciešamās detaļas:
- Arduino Uno ar kabeli
- Datu reģistrētāja vairogs
- CR1220 monētu šūnu baterija
- BME280 temperatūras mitruma spiediena sensora sadalīšanas panelis
- TSL2561 gaismas sensora izlaušanas dēlis
- ESP01-8266 Wi-Fi modulis
- RJ-9 vīriešu un sieviešu savienotājs
- Arduino vairoga sakraušanas galvenes
- SD atmiņas karte (jebkura ietilpība)
- Vektoru dēlis (26 x 18 caurumi)
- 8 AA baterijas Bateriju turētājs
Nepieciešamie rīki:
- Lodāmurs (35W)
- Lodēšanas stieple
- Stiepļu griezējs
- Gofrēšanas rīks
- Multimetrs
Nepieciešamā programmatūra: Arduino IDE (1.0.5 vai jaunāka)
Izmantotās Arduino bibliotēkas:
- Vadu bibliotēka
- SparkFun TSL2561 bibliotēka
- Cactus BME280 multisensoru bibliotēka
- SD karšu bibliotēka
- SPI bibliotēka
- RTC bibliotēka
Piezīme: BME280 sensors ir ļoti precīzs Bosch temperatūras, relatīvā mitruma un spiediena sensors. Līdzīgi DS1307 ir precīzs Maxim reālā laika pulkstenis, un TSL2561 ir precīzs gaismas sensors. Šiem produktiem ir lētākas un mazāk precīzas alternatīvas, taču šī apmācība bija paredzēta cilvēkiem, kuri bija ieinteresēti apkopot datus ēku veiktspējas novērtēšanai un ēku uzraudzības lietojumprogrammām, kurām nepieciešama augsta precizitāte un precizitāte. Tas nozīmē, ka jebkura īpaša aparatūras un programmatūras iestatīšana (bibliotēkas, programmas kods) bija paredzēta tikai norādītajiem produktiem.
1. solis: montāža
Datu reģistrētāja vairogu var viegli sakraut uz Arduino Uno tāfeles. Šis vairogs nodrošina datu reģistrēšanas iespējas (laika saglabāšana un datu glabāšana). Vairogu vajadzēja sakraut. CR1220 monētu šūnu baterija bija jāievieto paredzētajā apaļajā slotā, lai pulkstenis darbotos pat tad, ja Arduino ir izslēgts. SD atmiņas karte jāievieto komplektācijā iekļautajā kartes slotā. Unikāls pielāgots vairogs tika izstrādāts, izmantojot RJ-9 savienotāja sieviešu tapas un Arduino vairoga sakraušanas galvenes. Atbilstošās galvenes tika pielodētas atbilstošās vietās, lai vairogs lieliski iederētos Arduino plāksnē. Arduino vienā pusē ir 18 tapas, bet otrā - 14 tapas. Galvenes ar tādu pašu tapu skaitu tika izmantotas tādā pašā attālumā (18 tapas viena no otras) kā Arduino. Atlikušā papildu vieta blakus galvenēm tika izmantota RJ-9 savienotāja novietošanai.
Galvenes bija labākais veids, kā izmantot nepieciešamās tapas, vienlaikus padarot tās pieejamas citām sastāvdaļām. Izmantotie sensori atbilst I2C sakaru protokolam, kuram no Arduino ir nepieciešamas 4 tapas, proti: SDA (pieejams arī kā A4), SCL (pieejams arī kā A5), 3.3V un GND. Četri vadi, kas izplūst no RJ-9 savienotāja, tika pielodēti šajās četrās galvenes tapās. Nepieciešamais RJ-9 savienotāju skaits ir atkarīgs no sensoru skaita. Šajā projektā tika izmantoti 3 RJ-9 savienotāji (divi BME280 un viens TSL2561). Četri vadi, kas iznāca no RJ-9 savienotāja, bija krāsoti, un katrs krāsu vads tika apzīmēts ar īpašu tapu visiem RJ-9 savienotājiem. Jāatzīmē, ka krāsu kods dažādiem RJ-9 gabaliem var atšķirties. Šādā gadījumā jāatzīmē stieples atrašanās vieta uz savienotāja. RJ-9 savienotājs pēc lodēšanas tika pielīmēts pie vektoru plāksnes, izmantojot Feviqwik, lai tas tiktu fiksēts uz virsmas. Šos savienojumus var pārbaudīt, izmantojot nepārtrauktības režīmu multimetrā. Nepārtrauktības režīmā multimetram vajadzētu parādīt nulles pretestību. Savienojiet vienu no multimetra zondēm ar lodēto tapu, bet otru-ar RJ-9 savienotāja iekšpusē esošo tapu. Multimetram vajadzētu izstarot signālu, kas nozīmē, ka lodēšanas savienojumi ir pareizi un savienojumi ir veikti pareizi. Ja tonis netiek izstarots, pārbaudiet lodēšanas savienojumus. Līdzīgi lodējiet RJ-9 savienotāju ar vienādiem vadiem, kas savienojas ar tām pašām caurumiem uz sensoru sadalīšanas dēļiem, t.i., A4, A5, 3.3V un GND. BME280 sensors atbalsta divas I2C adreses, kas nozīmē, ka vienam un tam pašam kontrolierim var pievienot divus BME280 sensorus vienlaikus. To darot, viena sensora adrese ir jāmaina, savienojot sensora lodēšanas spilventiņus. ESP-01 bezvadu savienojuma mikroshēmai bija nepieciešami šādi savienojumi ar Arduino.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Piezīme:- Lai uzlabotu akumulatora darbības laiku, Arduino Uno tika noņemtas vairākas gaismas diodes. Strāvas indikatora gaismas diodes, RX un TX gaismas diodes tika noņemtas, sasildot lodēšanas savienojumus un spiežot gaismas diodi ar knaiblēm.
2. darbība: iestatiet IDE un bibliotēkas
Pirms programmēšanas ir jālejupielādē Arduino IDE (integrētā izstrādes vide). Programmēšana tika veikta šajā platformā. Lai mijiedarbotos ar dažādiem OPENSDL komponentiem, bija nepieciešamas dažādas bibliotēkas. Dotajām sastāvdaļām tika izmantotas šādas bibliotēkas.
Komponents ------------------------------------------------- -------------- Bibliotēka
BME280 temperatūras un mitruma sensors --------------------------------- Cactus_io_BME280_I2C.h
Gaismas sensors ------------------------------------------------ ---------------- SparkFun TSL2561.h
Reālā laika pulkstenis ----------------------------------------------- ------------- RTClib.h
SD kartes ligzda ----------------------------------------------- ------------- SD.h
I2C savienojums ------------------------------------------------ ------------- Vads.h
Atsevišķa bibliotēka saziņai ar ESP01 nav nepieciešama, jo Arduino augšupielādētajam kodam ir AT komandas, kuras tiek nosūtītas uz seriālo monitoru, no kurienes ESP-01 saņem norādījumus. Tātad būtībā AT komandas, ar kurām darbojas ESP01, tiek drukātas sērijas monitorā, kuras ESP-01 uztver kā ievades komandu. Lai instalētu šīs bibliotēkas, pēc to lejupielādes atveriet Arduino IDE, dodieties uz Skice -> Iekļaut bibliotēku -> Pievienot. Zip bibliotēku un atlasiet lejupielādētās bibliotēkas.
3. darbība: sistēmas programmēšana
Pirms OPENSDL programmēšanas savienojiet Arduino ar klēpjdatoru. Pēc savienošanas dodieties uz Tools -> Port un izvēlieties COM portu, kurā ir pievienots OPENSDL. Tāpat pārliecinieties, vai sadaļā Rīki -> Dēļi ir atlasīta Arduino Uno.
OPENSDL tika izstrādāts darbam 2 režīmos. Pirmajā režīmā tas saglabā datus SD kartē uz datu reģistrētāja vairoga. Otrajā režīmā tas nosūta datus internetā uz vietni, izmantojot ESP-01 Wi-Fi mikroshēmu. Abu režīmu programma ir atšķirīga. Šīs koda rindas var tieši kopēt un ielīmēt Arduino IDE redaktorā un izmantot tieši. Kad kods ir ievadīts, mums ir jāveic daži pielāgojumi atbilstoši mūsu vajadzībām:
- Manuāli mainiet aizkaves vērtību (1000) koda beigās, lai mainītu reģistrēšanas intervālu. Vērtība 1000 norāda intervālu milisekundēs.
- Rediģējiet koda rindiņu, kurā teikts mySensorData = SD.open ("Logged01.csv", FILE_WRITE); un aizstājiet Logged01 ar vēlamā faila nosaukuma faila nosaukumu. Faila paplašinājumu var mainīt arī, mainot paplašinājumu.csv tieši aiz faila nosaukuma.
- Kalibrēšanas vienādojums, kas iegūts, atrodot korelāciju starp galveno/atskaites sensoru un BME280, katram sensoram būs atšķirīgs. Aizstājiet šo koda rindu ar sensoru kalibrēšanas vienādojumu: Serial.print ((1.0533*t2) -2.2374)-sensoram ar noklusējuma adresi (0x77), kur t2 ir vērtība, kas nolasīta no temperatūras sensora.
Otra pieejamā OPENSDL režīma, kas ir bezvadu sistēma, programmēšanai ir paredzēta atsevišķa programma. ESP-01 ir jāpievieno OPENSDL atbilstoši savienojumiem, kā paskaidrots 2. solī. Pēc savienojumu pabeigšanas pievienojiet Arduino klēpjdatoram un augšupielādējiet tukšu skici Arduino. Novietojiet ESP-01 atjaunināšanas režīmā un atjauniniet programmaparatūru uz jaunāko pieejamo atjauninājumu. Pēc atjaunināšanas noteikti pievienojiet Arduino atiestatīšanas tapu ar 3.3V tapu, kas apiet Arduino sāknēšanas ielādētāju
4. solis: izgatavošana
Aizsardzībai un estētikas uzlabošanai tika izveidots korpuss OPENSDL. Korpusi tika izstrādāti, izmantojot 3D drukāšanu, izmantojot PLA materiālu, un mikrokontrollera korpuss tika izstrādāts, lāzerā sagriežot MDF loksni un salīmējot gabalus. 3D drukātie modeļi tika izstrādāti, izmantojot SketchUp programmatūru, un 2D dxf rasējumi lāzera griešanai tika izveidoti, izmantojot AutoCAD.
3D drukāšanai STL faili, kas iegūti, izmantojot SketchUp, tika atvērti un pārbaudīti Ultimaker Cura 3.2.1 programmatūrā. Pārliecinieties, vai tiek izmantots PLA materiāls, un printera sprausla ir paredzēta 0,4 mm drukāšanai. 3D printera konstrukcijas plāksnei var būt nepieciešama līme, lai pielīmētu 3D drukāto objektu. Bet, kad drukāšana ir pabeigta, līme rada spēcīgu saķeri starp iespiesto priekšmetu un konstrukcijas plāksni.
5. darbība: kods
Kods (.ino faili) ir paredzēts darbam Arduino IDE programmatūrā. Šeit ir saite uz manu Github lapu, lai iegūtu kodu un citu informāciju.
github.com/arihant93/OPENSDL
Lūdzu, nevilcinieties uzdot jautājumus par projektu.
Paldies.
Ieteicams:
GPS vāciņu datu reģistrētājs: 7 soļi (ar attēliem)
GPS vāciņu datu reģistrētājs: šeit ir lielisks nedēļas nogales projekts, ja vēlaties doties pārgājienos vai doties garos velosipēdu braucienos, un jums ir nepieciešams GPS datu reģistrētājs, lai izsekotu visiem jūsu veiktajiem pārgājieniem/braucieniem … Kad esat pabeidzis būvniecību un lejupielādēja datus no ierīces GPS moduļa
DIY GPS datu reģistrētājs jums nākamajā braucienā/pārgājienu takā: 11 soļi (ar attēliem)
DIY GPS datu reģistrētājs jums nākamajam braucienam/pārgājienu ceļam: Šis ir GPS datu reģistrētājs, ko varat izmantot vairākiem mērķiem, teiksim, ja vēlaties reģistrēt savu garo braucienu, ko veicāt nedēļas nogalē, lai pārbaudītu rudens krāsas. vai arī jums ir iecienīta taka, kuru katru gadu apmeklējat rudenī, un jūs
OpenLogger: augstas izšķirtspējas, iespējots Wi-Fi, atvērtā koda, pārnēsājamais datu reģistrētājs: 7 soļi
OpenLogger: augstas izšķirtspējas, iespējots Wi-Fi, atvērtā koda, pārnēsājamais datu reģistrētājs: OpenLogger ir pārnēsājams, atvērtā pirmkoda, lēts un augstas izšķirtspējas datu reģistrētājs, kas paredzēts augstas kvalitātes mērījumu nodrošināšanai, neprasot dārgu programmatūru vai rakstīšanas programmatūru. no nekā. Ja esat inženieris, zinātnieks vai entuziasts, kurš ne
Maiņstrāvas uzraudzības datu reģistrētājs: 9 soļi (ar attēliem)
Maiņstrāvas pašreizējās uzraudzības datu reģistrētājs: Sveiki visi, laipni lūdzam manā pirmajā pamācībā! Pa dienu esmu testēšanas inženieris uzņēmumā, kas piegādā rūpnieciskās apkures iekārtas, naktī esmu dedzīgs tehnoloģiju hobijs un DIY'er. Daļa mana darba ir saistīta ar sildītāju veiktspējas pārbaudi
Galīgais laika apstākļu gaisa balonu datu reģistrētājs: 9 soļi (ar attēliem)
Augstākā laika apstākļu gaisa balonu datu reģistrētājs: ierakstiet laika apstākļu gaisa balonu datus ar galīgo laika apstākļu gaisa balonu datu reģistrētāju. Laika balons augstā augstumā, pazīstams arī kā augstkalnu balons vai HAB, ir milzīgs balons, kas piepildīts ar hēliju. Šie baloni ir platforma