Obsah:
- Krok 1: Montáž
- Krok 2: Nastavte IDE a knižnice
- Krok 3: Programovanie systému
- Krok 4: Výroba
- Krok 5: Kód
Video: Open Data Data Logger (OPENSDL): 5 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Cieľom tohto projektu je navrhnúť, postaviť a testovať nízkonákladový merací systém pre štúdie hodnotenia výkonnosti budov, ktorý zahŕňa aspoň teplotu, relatívnu vlhkosť, osvetlenie a je rozšíriteľný o ďalšie senzory, a vyvinúť prototyp týchto zariadení..
Výsledkom je prispôsobený a cenovo dostupný systém, ktorý umožňuje zainteresovaným stranám vykonávať merania požadované na vyhodnotenie výkonnosti budovy efektívnym a cenovo dostupným spôsobom zaznamenaním viacerých environmentálnych parametrov naraz. Vyvinutý Open Source Data Logger (OPENSDL) bol porovnaný s dataloggerom HOBO U12-012. Tento komerčne dostupný systém náprotivkov môže merať 3 parametre, a to teplotu, relatívnu vlhkosť a osvetlenosť a jeden externý kanál pre iné typy senzorov. Na meranie akéhokoľvek iného parametra by bolo potrebné iné snímacie zariadenie. Charakteristiky parametrov, ktoré sa majú merať, sú obmedzené na proprietárny hardvér a softvér, čo obmedzuje systém na meranie určitých parametrov so špecifickou presnosťou. HOBO U12-012 stojí okolo 13 000 ₹ (185 USD), zatiaľ čo OPENSDL stojí 4 605 ₹ (66 USD), čo je takmer jedna tretina komerčného náprotivku.
Záznamník údajov s otvoreným zdrojovým kódom na monitorovanie teploty, relatívnej vlhkosti a úrovní svetla (osvetlenia) pomocou Arduino Uno Toto je kutilstvo na vývoj záznamníka údajov OPENSDL.
Potrebný čas: 2 - 3 hodiny na spájkovanie, 5 hodín na balenie (4 hodiny - 3D tlač a 1 hodina na rezanie laserom) Potrebné zručnosti: Spájkovanie, malé alebo žiadne znalosti programovania a elektroniky
Potrebné diely:
- Arduino Uno s káblom
- Štít záznamníka
- Gombíková batéria CR1220
- Priečna doska snímača tlaku a teploty BME280
- Prerušovacia doska svetelného senzora TSL2561
- Wi-Fi modul ESP01-8266
- Konektor RJ-9 samec a samica
- Hlavičky na stohovanie štítov pre Arduino
- Pamäťová karta SD (ľubovoľná kapacita)
- Vektorová doska (26 x 18 dier)
- 8 batérií AA Držiak batérií
Požadované nástroje:
- Spájkovačka (35 W)
- Spájkovací drôt
- Drôtová rezačka
- Krimpovací nástroj
- Multimetr
Potrebný softvér: Arduino IDE (1.0.5 alebo vyšší)
Použité knižnice Arduino:
- Drôtená knižnica
- Knižnica SparkFun TSL2561
- Multisenzorová knižnica Cactus BME280
- Knižnica kariet SD
- Knižnica SPI
- Knižnica RTC
Poznámka: Snímač BME280 je veľmi presný snímač teploty, relatívnej vlhkosti a tlaku od spoločnosti Bosch. Podobne DS1307 sú presné hodiny v reálnom čase od Maxim a TSL2561 sú presný svetelný senzor. Pre tieto produkty existujú menej nákladné a menej presné alternatívy, ale tento návod bol zameraný na ľudí, ktorí sa zaujímali o zhromažďovanie údajov na účely hodnotenia výkonnosti budov a aplikácií na monitorovanie budov, ktoré vyžadujú vysokú presnosť a presnosť. To znamená, že akékoľvek konkrétne nastavenie hardvéru a nastavenia softvéru (knižnice, programový kód) bolo prísne určené iba pre uvedené produkty.
Krok 1: Montáž
Štít zapisovača údajov je možné ľahko naskladať na vrchnú dosku Arduino Uno. Tento štít poskytuje možnosti protokolovania údajov (uchovávanie času a ukladanie údajov). Štít musel byť naskladaný. Do určeného okrúhleho otvoru bolo potrebné vložiť gombíkovú batériu CR1220, aby hodiny bežali aj vtedy, keď je Arduino vypnuté. Pamäťová karta SD musí byť vložená do určeného slotu pre integrovanú kartu. Unikátny prispôsobený štít bol vyvinutý pomocou samičích pinov konektora RJ-9 a záhlaví stohovania štítov Arduino. Príslušné záhlavia boli spájkované na príslušných miestach, aby štít perfektne sedel na doske Arduino. Arduino má 18 pinov na jednej strane a 14 pinov na druhej strane. Záhlavia s rovnakým počtom pinov boli použité v rovnakých rozostupoch (18 pinov od seba) ako na Arduine. Zostávajúci extra priestor vedľa záhlaví bol použitý na umiestnenie konektora RJ-9.
Hlavičky boli najlepším spôsobom, ako použiť požadované piny, a zároveň ich sprístupniť na použitie pre ostatné komponenty. Použité senzory sa riadia komunikačným protokolom I2C, ktorý vyžaduje 4 piny od Arduina, a to: SDA (k dispozícii aj ako A4), SCL (k dispozícii aj ako A5), 3,3 V a GND. Štyri vodiče vychádzajúce z konektora RJ-9 boli spájkované do týchto štyroch kolíkových konektorov. Počet požadovaných konektorov RJ-9 závisí od počtu senzorov. V tomto projekte boli použité 3 konektory RJ-9 (dva pre BME280 a jeden pre TSL2561). Štyri vodiče vychádzajúce z konektora RJ-9 boli farebne označené a každý farebný vodič bol označený ako špecifický kolík pre všetky konektory RJ-9. Je potrebné poznamenať, že kód farby sa môže na rôznych kusoch RJ-9 líšiť. V takom prípade je potrebné poznamenať umiestnenie vodiča na konektore. Konektor RJ-9 bol po spájkovaní prilepený na vektorovú dosku pomocou Feviqwik, aby sa pripevnil na povrch. Tieto pripojenia je možné overiť pomocou režimu spojitosti na multimetri. V režime kontinuity by mal multimetr vykazovať nulový odpor. Pripojte jednu zo sond multimetra k spájkovanému kolíku a druhú sondu k kolíku vo vnútri konektora RJ-9. Multimetr by mal vydávať tón, čo znamená, že spájkovacie spoje sú správne a pripojenia sú správne vyrobené. Ak tón nevychádza, skontrolujte spájkovacie spoje. Podobne spájkujte konektor RJ-9 rovnakými vodičmi, ktoré sa pripájajú k rovnakým dierkam na oddeľovacích doskách snímača, tj. A4, A5, 3,3 V a GND. Senzor BME280 podporuje dve adresy I2C, čo znamená, že k rovnakému regulátoru je možné pripojiť dva senzory BME280 naraz. Pritom je potrebné zmeniť adresu jedného zo senzorov premostením spájkovacích podložiek na senzore. Čip bezdrôtového pripojenia ESP-01 vyžadoval nasledujúce prepojenia s Arduinom.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Poznámka:- Viaceré diódy LED na Arduino Uno boli odstránené, aby sa zlepšila životnosť batérie. LED diódy LED indikátora napájania, RX a TX boli odstránené zahriatím spájkovacích spojov a zatlačením LED pomocou klieští.
Krok 2: Nastavte IDE a knižnice
Pred akýmkoľvek programovaním si musíte stiahnuť Arduino IDE (integrované vývojové prostredie). Programovanie prebiehalo na tejto platforme. Na interakciu s rôznymi komponentmi OPENSDL boli potrebné rôzne knižnice. Pre dané komponenty boli použité nasledujúce knižnice.
Súčasť ------------------------------------------------- -------------- Knižnica
Snímač teploty a relatívnej vlhkosti BME280 --------------------------------- Cactus_io_BME280_I2C.h
Svetelný senzor------------------------------------------------ ---------------- SparkFun TSL2561.h
Hodiny reálneho času ----------------------------------------------- ------------- RTClib.h
Zásuvka na kartu SD ----------------------------------------------- ------------- SD.h
Pripojenie I2C ------------------------------------------------ ------------- Wire.h
Samostatná knižnica na komunikáciu s ESP01 nie je potrebná, pretože kód nahraný do Arduina má AT príkazy, ktoré sú odoslané na sériový monitor, odkiaľ ESP-01 prijíma pokyny. V zásade sú AT príkazy, ktorými ESP01 beží, vytlačené do sériového monitora, ktoré ESP-01 berie ako vstupný príkaz. Ak chcete nainštalovať tieto knižnice, po ich stiahnutí otvorte Arduino IDE, prejdite na Sketch -> Include Library -> Add. Zip library a vyberte stiahnuté knižnice.
Krok 3: Programovanie systému
Pred programovaním OPENSDL prepojte Arduino s prenosným počítačom. Po pripojení prejdite na Nástroje -> Port a vyberte port COM, ku ktorému je pripojený OPENSDL. Uistite sa tiež, že v časti Nástroje -> Dosky je vybratá položka Arduino Uno.
OPENSDL bol vyvinutý tak, aby pracoval v 2 režimoch. V prvom režime ukladá údaje na SD kartu na štít ústredne. V druhom režime odosiela údaje cez internet na webovú stránku pomocou Wi-Fi čipu ESP-01. Program pre oba režimy je odlišný. Tieto riadky kódu je možné priamo skopírovať a vložiť do editora Arduino IDE a použiť ich priamo. Keď sme v kóde, musíme urobiť niekoľko prispôsobení podľa našich potrieb:
- Ručne zmeňte hodnotu oneskorenia (1 000) na konci kódu, aby ste zmenili interval protokolovania. Hodnota 1000 predstavuje interval v milisekundách.
- Upravte riadok kódu, ktorý hovorí mySensorData = SD.open ("Logged01.csv", FILE_WRITE); a nahraďte Logged01 názvom súboru požadovaného názvu súboru. Príponu súboru je možné tiež zmeniť úpravou prípony.csv hneď za názvom súboru.
- Kalibračná rovnica dosiahnutá nájdením korelácie medzi hlavným/referenčným snímačom a BME280 sa bude líšiť u každého snímača. Tento riadok kódu nahraďte rovnicou na kalibráciu snímačov: Serial.print ((1,0533*t2) -2,2374)-pre snímač s predvolenou adresou (0x77), kde t2 je hodnota načítaná zo snímača teploty.
Na programovanie druhého dostupného režimu OPENSDL, ktorým je bezdrôtový systém, bol poskytnutý samostatný program. ESP-01 musí byť pripojený k OPENSDL podľa pripojení, ako je vysvetlené v kroku č. 2. Po dokončení pripojení pripojte Arduino k prenosnému počítaču a nahrajte prázdny náčrt do Arduina. Prepnite ESP-01 do režimu aktualizácie a aktualizujte firmvér na najnovšiu dostupnú aktualizáciu. Po aktualizácii nezabudnite prepojiť resetovací kolík Arduina s kolíkom 3,3 V, ktorý obchádza zavádzač Arduino
Krok 4: Výroba
Na ochranu a zlepšenie estetiky bol vytvorený kryt pre OPENSDL. Obaly boli vyvinuté 3D tlačou s použitím materiálu PLA a puzdro pre mikrokontrolér bolo vyvinuté laserovým rezaním listu MDF a lepením dielov k sebe. 3D tlačené modely boli vyvinuté pomocou softvéru SketchUp a 2D dxf výkresy na rezanie laserom boli vytvorené pomocou programu AutoCAD.
Pri 3D tlači boli súbory STL vytvorené pomocou programu SketchUp otvorené a skontrolované v softvéri Ultimaker Cura 3.2.1. Uistite sa, že je použitý materiál PLA a tryska použitej tlačiarne je určená na tlač 0,4 mm. Stavebná doska 3D tlačiarne môže vyžadovať lepidlo na prilepenie 3D vytlačeného predmetu. Keď je však tlač dokončená, lepidlo vytvára silnú priľnavosť medzi tlačeným predmetom a stavebnou doskou.
Krok 5: Kód
Kód (súbory.ino) je navrhnutý tak, aby pracoval v softvéri Arduino IDE. Tu je odkaz na moju stránku Github s kódom a ďalšími podrobnosťami.
github.com/arihant93/OPENSDL
Neváhajte sa opýtať na projekt.
Vďaka.
Odporúča:
Data Logger - počítačový modul na protokolovanie: 5 krokov
Data Logger - Protokolovací počítačový modul: ethernetový záznamník údajov pre zber údajov na báze HTTP zo Sensor Bridges, ktoré prevádzajú snímač rozhrania I2C na snímač Ethernet
PyonAir - open source monitor znečistenia ovzdušia: 10 krokov (s obrázkami)
PyonAir - otvorený zdroj monitorovania znečistenia ovzdušia: PyonAir je nízkonákladový systém na monitorovanie miestnych úrovní znečistenia ovzdušia - konkrétne pevných častíc. Systém je založený na doske Pycom LoPy4 a hardvéri kompatibilnom s Grove a môže prenášať údaje cez LoRa aj WiFi. Prevzal som túto p
Počítač Open IT Mini ITX: 5 krokov (s obrázkami)
Open Frame Mini ITX PC: Už nejaký čas som chcel postaviť malý stolný počítač. Tiež sa mi veľmi páčila myšlienka podvozku v štýle testovacieho stola s otvoreným rámom- niečo, čo by mi umožnilo ľahko odstrániť/vymeniť komponenty. Moje požiadavky na hardvér boli predovšetkým
Programovanie Open DSKY: 5 krokov (s obrázkami)
Programovanie Open DSKY: Vitajte v našich prebiehajúcich pokynoch k programovaniu vášho Open DSKY. Uistite sa, že sa vrátite, pretože tento Instructable bude stále rásť, pretože neustále vyrábame a vydávame nový programovací materiál. Tak to sledujte, lajkujte a obľúbte si to. Táto séria videí
Joy Robot (Robô Da Alegria) - 3D tlačený open source robot s robotom Arduino !: 18 krokov (s obrázkami)
Joy Robot (Robô Da Alegria) - 3D tlačený open source, robot poháňaný Arduino !: Prvá cena v súťaži Wheels Instructables, Druhá cena v súťaži Arduino Instructables a Runner up v súťaži Design for Kids Challenge. Ďakujeme všetkým, ktorí o nás hlasovali !!! Roboti sa dostávajú všade. Od priemyselných aplikácií až po