Përmbajtje:
- Hapi 1: Asambleja
- Hapi 2: Vendosni IDE dhe Bibliotekat
- Hapi 3: Programimi i sistemit
- Hapi 4: Fabrikimi
- Hapi 5: Kodi
Video: Regjistruesi i të dhënave me burim të hapur (OPENSDL): 5 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Qëllimi i këtij projekti është të hartojë, ndërtojë dhe testojë një sistem matjeje me kosto të ulët për studimet e Vlerësimit të Performancës së Ndërtesës që përfshin të paktën temperaturën, lagështinë relative, ndriçimin dhe është i zgjerueshëm edhe për sensorë shtesë, dhe të zhvillojë prototipin e këtyre pajisjeve Me
Kjo rezulton në një sistem të personalizuar dhe të përballueshëm që u mundëson palëve të interesuara të kryejnë matjet e nevojshme për vlerësimin e performancës së ndërtimit në një mënyrë efikase dhe të përballueshme duke regjistruar parametra të shumtë mjedisorë në të njëjtën kohë. Regjistruesi i të dhënave me burim të hapur (OPENSDL) i zhvilluar u krahasua me një regjistrues të të dhënave HOBO U12-012. Ky sistem tregtar i disponueshëm komercial, mund të masë 3 parametra, përkatësisht- temperaturën, RH dhe ndriçimin, dhe një kanal të jashtëm për llojet e tjera të sensorëve. Një pajisje tjetër ndijimi do të kërkohej për matjen e çdo parametri tjetër. Karakteristikat e parametrave që do të maten janë të kufizuara në pajisjet dhe softuerin e pronarit, i cili e kufizon sistemin në matjen e parametrave të caktuar me saktësi specifike. Një HOBO U12-012 kushton rreth 13, 000 (185 dollarë amerikanë), ndërsa OPENSDL kushton 4, 605 ₹ (66 dollarë amerikanë), që është pothuajse një e treta e homologut tregtar.
Një regjistrues i të dhënave me burim të hapur për monitorimin e temperaturës, RH dhe niveleve të dritës (ndriçimi) me ndihmën e një Arduino Uno Ky është një DIY për zhvillimin e regjistruesit të të dhënave OPENSDL.
Koha e kërkuar: 2-3 orë për saldim, 5 orë për paketim (4 orë - printim 3D dhe 1 orë për prerje me lazer) Aftësitë e kërkuara: Saldimi, pak ose aspak njohuri në programim dhe elektronikë
Pjesët e kërkuara:
- Arduino Uno me kabllo
- Mburoja e regjistruesit të të dhënave
- Bateri me qeliza monedhe CR1220
- BME280 bordi i thyerjes së sensorit të presionit të lagështisë së temperaturës
- Tabela e thyerjes së sensorit të dritës TSL2561
- Moduli Wi-Fi ESP01-8266
- Lidhës mashkull dhe femër RJ-9
- Mburoja e grumbullimit të kokave për Arduino
- Kartë memorie SD (çdo kapacitet)
- Tabela vektoriale (26 x 18 vrima)
- 8 bateri AA Mbajtës i baterisë
Mjetet e kërkuara:
- Hekur bashkues (35W)
- Teli i saldimit
- Prerës i telave
- Mjet krimb
- Multimetër
Softueri i kërkuar: Arduino IDE (1.0.5 ose më i lartë)
Bibliotekat Arduino të përdorura:
- Bibliotekë me tela
- Biblioteka SparkFun TSL2561
- Biblioteka me shumë sensorë Cactus BME280
- Biblioteka e kartave SD
- Biblioteka SPI
- Biblioteka RTC
Shënim: Sensori BME280 është një sensor shumë i saktë, i temperaturës, lagështisë relative dhe presionit nga Bosch. Në mënyrë të ngjashme, DS1307 është një orë e saktë në kohë reale nga Maxim dhe TSL2561 është një sensor i saktë i dritës. Ka alternativa më pak të shtrenjta dhe më pak të sakta për këto produkte, por ky tutorial kishte për qëllim njerëzit që ishin të interesuar në mbledhjen e të dhënave për vlerësimin e performancës së ndërtesës dhe aplikimet e monitorimit të ndërtesave që kërkojnë saktësi dhe saktësi të lartë. Kjo do të thotë që çdo konfigurim specifik i harduerit dhe konfigurimi i softuerit (bibliotekat, kodi i programit) ishte menduar rreptësisht vetëm për produktet e specifikuara.
Hapi 1: Asambleja
Mburoja e regjistruesit të të dhënave mund të vendoset lehtësisht në majë të bordit Arduino Uno. Ky mburojë siguron aftësitë e regjistrimit të të dhënave (ruajtja e kohës dhe ruajtja e të dhënave). Mburoja duhej bërë pirg. Një bateri e monedhës CR1220 duhej të futet në vendin e rrumbullakët të siguruar për të mbajtur orën në punë edhe kur Arduino është i fikur. Karta e kujtesës SD duhet të futet në folenë e dhënë të kartës në bord. Një mburojë unike e personalizuar u zhvillua duke përdorur kunjat femra të lidhësit RJ-9 dhe titujt e grumbullimit të mburojës Arduino. Kokat e duhura u ngjitën në vendet e duhura në mënyrë që mburoja të përshtatet në mënyrë të përkryer në tabelën Arduino. Arduino ka 18 kunja në njërën anë dhe 14 kunja në anën tjetër. Titujt me të njëjtin numër kunjash u përdorën në të njëjtën distancë (18 kunja larg) si në Arduino. Hapësira shtesë e mbetur ngjitur me titujt u përdor për vendosjen e lidhësit RJ-9.
Titujt ishin mënyra më e mirë për të përdorur kunjat e kërkuara, duke i bërë ato ende të disponueshme për përdorim për përbërësit e tjerë. Sensorët e përdorur ndjekin protokollin e komunikimit I2C, i cili kërkon 4 kunja nga Arduino, përkatësisht: SDA (gjithashtu në dispozicion si A4), SCL (gjithashtu në dispozicion si A5), 3.3V & GND. Katër telat që dalin nga lidhësi RJ-9 u ngjitën në këto katër kunja të kokës. Numri i lidhësve RJ-9 të kërkuar varet nga numri i sensorëve. Në këtë projekt, u përdorën 3 lidhje RJ-9 (dy për BME280 dhe një për TSL2561). Katër telat që dilnin nga lidhësi RJ-9 ishin të koduar me ngjyra, dhe secili tel me ngjyrë ishte caktuar një kunj specifik për të gjithë lidhësit RJ-9. Duhet të theksohet se kodi i ngjyrave mund të ndryshojë në copa të ndryshme RJ-9. Në një rast të tillë, vendndodhja e telit në lidhës duhet të shënohet. Lidhësi RJ-9, pas bashkimit, është bërë të ngjitet në tabelën vektoriale duke përdorur një Feviqwik, në mënyrë që të fiksohet në sipërfaqe. Këto lidhje mund të verifikohen duke përdorur mënyrën e vazhdimësisë në multimetër. Kur jeni në modalitetin e vazhdimësisë, multimetri duhet të tregojë rezistencë zero. Lidhni një nga sondat e multimetrit në kunjin e bashkuar dhe një sondë tjetër në kunjin brenda lidhësit RJ-9. Multimetri duhet të lëshojë një ton, që do të thotë se nyjet e saldimit janë të duhura, dhe lidhjet janë bërë siç duhet. Nëse toni nuk lëshohet, kontrolloni nyjet e saldimit. Në mënyrë të ngjashme, lidhni lidhësin RJ-9 me tela të njëjtë që lidhen me të njëjtat vrima në bordet e thyerjes së sensorit, domethënë A4, A5, 3.3V & GND. Sensori BME280 mbështet dy adresa I2C, që do të thotë se dy sensorë BME280 mund të lidhen me të njëjtin kontrollues menjëherë. Ndërsa e bëni këtë, adresa e njërit prej sensorëve duhet të ndryshohet duke kapërcyer jastëkët e saldimit në sensor. Një çip i lidhjes pa tel ESP-01 kërkonte lidhjet e mëposhtme me Arduino.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Shënim:- LED-të e shumta në Arduino Uno u hoqën për të përmirësuar jetën e baterisë. Treguesi i energjisë LED, RX dhe TX LED u hoqën duke ngrohur nyjet e saldimit dhe duke e shtyrë LED me pincë.
Hapi 2: Vendosni IDE dhe Bibliotekat
Para se të bëni ndonjë programim, Arduino IDE (Mjedisi i Zhvillimit të Integruar) duhet të shkarkohet. Programimi është bërë në këtë platformë. Bibliotekave të ndryshme iu kërkua të ndërveprojnë me përbërës të ndryshëm të OPENSDL. Bibliotekat e mëposhtme u përdorën për përbërësit e dhënë.
Komponenti ----------------------------------------------------- --------------Librari
Sensori i temperaturës & RH BME280 --------------------------------- Cactus_io_BME280_I2C.h
Sensori i dritës ---------------------------------------------------- ---------------- SparkFun TSL2561.h
Ora në kohë reale -------------------------------------------------- ------------- RTClib.h
Foleja e kartës SD -------------------------------------------------- ------------- SD.h
Lidhja I2C ---------------------------------------------------- ------------- Tela.h
Një bibliotekë e veçantë për komunikimin me ESP01 nuk kërkohet pasi kodi i ngarkuar në Arduino ka komanda AT, të cilat dërgohen në monitorin serik, nga ku ESP-01 merr udhëzimet. Pra, në thelb, komandat AT me të cilat funksionon ESP01, shtypen në Serial Monitor, të cilat merren si komandë hyrëse nga ESP-01. Për instalimin e këtyre bibliotekave, pasi t'i keni shkarkuar, hapni Arduino IDE, shkoni te Sketch -> Include Library -> Add. Zip bibliotekë dhe zgjidhni bibliotekat e shkarkuara.
Hapi 3: Programimi i sistemit
Para se të programoni OPENSDL, lidhni Arduino me një kompjuter portativ. Pasi të lidheni, shkoni te Tools -> Port dhe zgjidhni portën COM në të cilën është lidhur OPENSDL. Gjithashtu, sigurohuni që te Mjetet -> Bordet, të jetë zgjedhur Arduino Uno.
OPENSDL është zhvilluar për të punuar në 2 mënyra. Në modalitetin e parë, ai ruan të dhënat në kartën SD në mburojën e regjistruesit të të dhënave. Në modalitetin e dytë, ai dërgon të dhënat përmes internetit në një faqe në internet duke përdorur një çip Wi-Fi ESP-01. Programi për të dyja mënyrat është i ndryshëm. Këto rreshta të kodit mund të kopjohen dhe ngjiten drejtpërdrejt në redaktorin Arduino IDE dhe të përdoren drejtpërdrejt. Pasi të futemi në kod, ne duhet të bëjmë disa personalizime sipas nevojave tona:
- Ndryshoni manualisht vlerën e vonesës (1000) në fund të kodit për të ndryshuar intervalin e regjistrimit. Vlera 1000 përfaqëson intervalin në milisekonda.
- Ndryshoni rreshtin e kodit i cili thotë mySensorData = SD.open ("Logged01.csv", FILE_WRITE); dhe zëvendësoni Logged01 me emrin e skedarit me emrin e skedarit të dëshiruar. Zgjatja e skedarit gjithashtu mund të ndryshohet duke modifikuar shtesën.csv menjëherë pas emrit të skedarit.
- Ekuacioni i kalibrimit i arritur duke gjetur korrelacionin midis sensorit Master/referencë dhe BME280 do të ndryshojë me secilin sensor. Zëvendësoni këtë linjë të kodit me ekuacionin për kalibrimin e sensorëve: Serial.print ((1.0533*t2) -2.2374)-për sensorin me adresë të paracaktuar (0x77), ku t2 është vlera e lexuar nga sensori i temperaturës.
Një program i veçantë është siguruar për programimin e mënyrës së dytë të disponueshme të OPENSDL, e cila është sistemi pa tel. ESP-01 duhet të lidhet me OPENSDL sipas lidhjeve siç shpjegohet në Hapin #2. Pas përfundimit të lidhjeve, lidhni Arduino me laptopin dhe ngarkoni një skicë të zbrazët në Arduino. Vendoseni ESP-01 në modalitetin e përditësimit dhe përditësoni firmuerin në përditësimin më të fundit të disponueshëm. Pas azhurnimit, sigurohuni që të lidhni pinin e rivendosur të Arduino me pinin 3.3V, i cili anashkalon ngarkuesin Arduino
Hapi 4: Fabrikimi
Një rrethim për OPENSDL u krijua për mbrojtje dhe për të përmirësuar estetikën. Zorrat u zhvilluan me printim 3D duke përdorur materialin PLA, dhe shtresa për mikrokontrolluesin u zhvillua duke prerë lazer fletën e MDF dhe duke i ngjitur pjesët së bashku. Modelet e printuara 3D u zhvilluan duke përdorur softuerin SketchUp, dhe vizatimet 2D dxf për prerjen me lazer u krijuan duke përdorur AutoCAD.
Për printimin 3D, skedarët STL të prodhuar duke përdorur SketchUp u hapën dhe u kontrolluan në programin Ultimaker Cura 3.2.1. Sigurohuni që përdoret materiali PLA dhe hunda e printerit të përdorur është për printim 0.4 mm. Pllaka e ndërtimit të printerit 3D mund të kërkojë zam për të ngjitur objektin e printuar 3D. Por kur printimi është i plotë, zam krijon një ngjitje të fortë midis objektit të shtypur dhe pllakës së ndërtimit.
Hapi 5: Kodi
Kodi (skedarët.ino) është bërë për të punuar në programin Arduino IDE. Këtu është lidhja me faqen time në Github për kodin dhe detaje të tjera.
github.com/arihant93/OPENSDL
Ju lutemi mos hezitoni të bëni pyetje në lidhje me projektin.
Faleminderit.
Recommended:
Si të bëni lagështi dhe temperaturë Regjistruese të të dhënave në kohë reale me Arduino UNO dhe SD-Card - Simulimi DHT11 Regjistruesi i të dhënave në Proteus: 5 hapa
Si të bëni lagështi dhe temperaturë Regjistruese të të dhënave në kohë reale me Arduino UNO dhe SD-Card | Simulimi i regjistruesit të të dhënave DHT11 në Proteus: Hyrje: përshëndetje, ky është Liono Maker, këtu është lidhja në YouTube. Ne po bëjmë projekt krijues me Arduino dhe po punojmë në sisteme të ngulitura. Data-Logger: Një regjistrues i të dhënave (gjithashtu regjistrues i të dhënave ose regjistrues i të dhënave) është një pajisje elektronike që regjistron të dhëna me kalimin e kohës me
Q -Bot - Zgjidhësi i Kubit të Rubikut me Burim të Hapur: 7 hapa (me fotografi)
Q -Bot - Zgjidhësi i Kubit të Rubikut me Burim të Hapur: Imagjinoni që keni një Kub të Rubikut të përzier, ju e dini atë enigmë nga vitet '80 që të gjithë kanë, por askush nuk e di se si ta zgjidhë, dhe ju doni ta ktheni atë në modelin e tij origjinal. Fatmirësisht këto ditë është shumë e lehtë të gjesh udhëzime zgjidhëse
Arduino Learner Kit (Burim i Hapur): 7 hapa (me fotografi)
Arduino Learner Kit (Burimi i Hapur): Nëse jeni fillestar në Arduino World dhe do të mësoni Arduino duke pasur një përvojë praktike ky Instructables dhe ky Kit është për ju. Ky Kit është gjithashtu një zgjedhje e mirë për mësuesit që duan t'u mësojnë Arduino studentëve të tyre në një mënyrë të lehtë.
OpenLogger: Një rezolucion i lartë, i aktivizuar Wi-Fi, burim i hapur, regjistrues portativ i të dhënave: 7 hapa
OpenLogger: Një regjistrues i të dhënave portative me një rezolucion të lartë, Wi-Fi të aktivizuar, burim i hapur, portativ: OpenLogger është një regjistrues portativ, me burim të hapur, me kosto të ulët dhe me rezolucion të lartë i krijuar për të siguruar matje me cilësi të lartë pa kërkuar softuer të shtrenjtë ose softuer shkrimi nga e para. Nëse jeni inxhinier, shkencëtar ose entuziast që nuk
Joy Robot (Robô Da Alegria) - Robot i hapur 3D me burim të hapur, Robot i mundësuar nga Arduino !: 18 hapa (me fotografi)
Joy Robot (Robô Da Alegria) - Robot me burim të hapur 3D, i printuar, i pajisur me Arduino!: Çmimi i parë në Konkursin me Rrota Instructables, Çmimi i Dytë në Konkursin Instructables Arduino dhe Vrapues në Sfidën Dizajni për Fëmijë. Faleminderit të gjithëve që na votuan! Robotët po arrijnë kudo. Nga aplikimet industriale tek ju