Բովանդակություն:
- Քայլ 1: Հավաքում
- Քայլ 2: Կարգավորեք IDE- ները և գրադարանները
- Քայլ 3: Համակարգի ծրագրավորում
- Քայլ 4: Պատրաստում
- Քայլ 5: Կոդ
Video: Բաց կոդով տվյալների գրանցիչ (OPENSDL) ՝ 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս նախագծի նպատակն է նախագծել, կառուցել և փորձարկել շենքերի գործունեության գնահատման ցածր ծախսերի չափման համակարգ, որը ներառում է առնվազն ջերմաստիճան, հարաբերական խոնավություն, լուսավորություն և ընդարձակելի լրացուցիչ սենսորների համար, և մշակել այդ սարքերի նախատիպը:.
Սա հանգեցնում է անհատականացված և մատչելի համակարգի, որը շահագրգիռ կողմերին հնարավորություն է տալիս արդյունավետ և մատչելի կերպով իրականացնել շենքերի կատարողականի գնահատման համար անհրաժեշտ չափումները `միանգամից մի քանի բնապահպանական պարամետրեր մուտքագրելով: Բաց կոդով տվյալների անտառահատը (OPENSDL) համեմատվել է HOBO U12-012 տվյալների անտառահատիչի հետ: Առևտրային հասանելի նմանատիպ համակարգը կարող է չափել 3 պարամետր, այն է `ջերմաստիճան, RH և լուսավորություն, և մեկ արտաքին ալիք սենսորների այլ տեսակների համար: Otherանկացած այլ պարամետրի չափման համար կպահանջվեր այլ զգայարան: Չափման ենթակա պարամետրերի բնութագրերը սահմանափակվում են սեփական սարքավորումներով և ծրագրերով, ինչը սահմանափակում է համակարգը որոշակի պարամետրերի չափումը հատուկ ճշգրտությամբ: HOBO U12-012- ի արժեքը մոտ 13 000 ֆունտ ստեռլինգ է (185 ԱՄՆ դոլար), մինչդեռ OPENSDL- ն արժե 4 605 ֆունտ ստեռլինգ (66 դոլար), ինչը առևտրային գործընկերոջ գրեթե մեկ երրորդն է:
Arduino Uno- ի օգնությամբ ջերմաստիճանի, RH- ի և լուսավորության մակարդակի (լուսավորության) մոնիտորինգի համար բաց կոդով տվյալների գրանցիչ Սա DIY է OPENSDL տվյալների անտառահատիչը մշակելու համար:
Պահանջվող ժամանակը ՝ 2-3 ժամ զոդման, 5 ժամ փաթեթավորման համար (4 ժամ ՝ 3D տպագրություն և 1 ժամ լազերային կտրման համար) Պահանջվող հմտություններ.
Պահանջվող մասեր.
- Arduino Uno մալուխով
- Տվյալների գրանցման վահան
- CR1220 մետաղադրամ բջջային մարտկոց
- BME280 ջերմաստիճանի խոնավության ճնշման տվիչի ճեղքման տախտակ
- TSL2561 լուսային սենսորների ճեղքման տախտակ
- ESP01-8266 Wi-Fi մոդուլ
- RJ-9 արական և իգական միակցիչ
- Վահանը հավաքում է վերնագրեր Arduino- ի համար
- SD հիշողության քարտ (ցանկացած հզորություն)
- Վեկտորային տախտակ (26 x 18 անցք)
- 8 AA մարտկոց Մարտկոցի սեփականատեր
Պահանջվող գործիքներ.
- Sոդման երկաթ (35 Վտ)
- Sոդման մետաղալար
- Մետաղալար կտրիչ
- Rimալքավոր գործիք
- Բազմաչափ
Պահանջվում է ծրագրակազմ ՝ Arduino IDE (1.0.5 կամ ավելի բարձր)
Arduino գրադարաններն օգտագործել են.
- Մետաղալար գրադարան
- SparkFun TSL2561 գրադարան
- Cactus BME280 բազմազգ գրադարան
- SD քարտերի գրադարան
- SPI գրադարան
- RTC գրադարան
Նշում. BME280 սենսորը Bosch- ի շատ ճշգրիտ, ջերմաստիճանի, հարաբերական խոնավության և ճնշման ցուցիչ է: Նմանապես, DS1307- ը Maxim- ի իրական ժամանակի ճշգրիտ ժամացույցն է, իսկ TSL2561- ը ճշգրիտ լույսի ցուցիչ է: Այս ապրանքների համար կան ավելի թանկ և ավելի քիչ ճշգրիտ այլընտրանքներ, բայց այս ձեռնարկը ուղղված էր այն մարդկանց, ովքեր հետաքրքրված էին շենքերի կատարման գնահատման և շենքերի մոնիտորինգի տվյալների հավաքագրմամբ, որոնք պահանջում են բարձր ճշգրտություն և ճշգրտություն: Սա նշանակում է, որ ցանկացած հատուկ սարքավորման և ծրագրակազմի տեղադրում (գրադարաններ, ծրագրի ծածկագիր) խստորեն նախատեսված էր միայն նշված ապրանքների համար:
Քայլ 1: Հավաքում
Տվյալների գրանցման վահանը կարելի է հեշտությամբ դնել Arduino Uno տախտակի վերևում: Այս վահանը ապահովում է տվյալների մուտքագրման հնարավորությունները (ժամանակի պահպանում և տվյալների պահպանում): Վահանը պետք է կուտակվեր: CR1220 մետաղադրամի մարտկոցը պետք է տեղադրվեր կլոր անցքի մեջ, որը նախատեսված էր ժամացույցը աշխատեցնելու համար, նույնիսկ երբ Arduino- ն անջատված է: SD հիշողության քարտը պետք է տեղադրվի տրամադրված բորտ քարտի անցքի մեջ: RJ-9 միակցիչ իգական կապում և Arduino վահանի վերնագրեր օգտագործելով ՝ ստեղծվել է յուրահատուկ հարմարեցված վահան: Համապատասխան վերնագրերը զոդվեցին համապատասխան վայրերում, որպեսզի վահանը հիանալի տեղավորվի Arduino- ի տախտակի վրա: Arduino- ն մի կողմում ունի 18 կապում, իսկ մյուս կողմում `14 կապում: Նույն թվով կապում վերնագրերն օգտագործվել են նույն հեռավորության վրա (18 կապում իրարից), ինչպես Arduino- ում: Վերնագրերին կից մնացած լրացուցիչ տարածքը օգտագործվել է RJ-9 միակցիչը տեղադրելու համար:
Վերնագրերը պահանջվող կապումներն օգտագործելու լավագույն միջոցն էին, մինչդեռ դրանք դեռ հասանելի դարձնելու համար այլ բաղադրիչներին: Օգտագործված սենսորները հետևում են I2C հաղորդակցության արձանագրությանը, որը պահանջում է 4 կապում Arduino- ից, այն է ՝ SDA (մատչելի է նաև որպես A4), SCL (մատչելի է նաև A5), 3.3V և GND: RJ-9 միակցիչից դուրս եկող չորս լարերը զոդվեցին այս վերնագրի չորս քորոցների մեջ: Պահանջվող RJ-9 միակցիչների թիվը կախված է սենսորների քանակից: Այս նախագծում օգտագործվել է 3 RJ-9 միակցիչ (երկուսը BME280- ի և մեկը TSL2561- ի համար): RJ-9 միակցիչից դուրս եկող չորս լարերը գունավոր ծածկագրված էին, և յուրաքանչյուր գունավոր մետաղալար նշանակված էր հատուկ կապում RJ-9 միակցիչների համար: Պետք է նշել, որ RJ-9 տարբեր կտորների վրա գունային ծածկագիրը կարող է տարբեր լինել: Նման դեպքում միակցիչի վրա պետք է նշվի լարերի գտնվելու վայրը: RJ-9 միակցիչը, զոդումից հետո, կատարվել է Feviqwik- ի միջոցով վեկտորային տախտակի վրա կպչելու համար, որպեսզի այն ամրագրվի մակերեսի վրա: Այս կապերը կարող են հաստատվել `օգտագործելով բազմաչափի անընդհատության ռեժիմը: Շարունակականության ռեժիմում մուլտիմետրը պետք է ցույց տա զրո դիմադրություն: Մուլտիմետրի զոնդերից մեկը միացրեք եռակցված քորոցին, իսկ մյուսը ՝ RJ-9 միակցիչի ներսում գտնվող քորոցին: Մուլտիմետրը պետք է հնչերանգ տա, ինչը նշանակում է, որ զոդման հոդերը ճիշտ են, իսկ միացումները կատարվել են ճիշտ: Եթե տոնը չի արտանետվում, ստուգեք զոդման հոդերը: Նմանապես, RJ-9 միակցիչը միացրեք նույն լարերով, որոնք միանում են միևնույն անցքերին սենսորների ճեղքման տախտակների վրա, այսինքն ՝ A4, A5, 3.3V և GND: BME280 սենսորն ապահովում է երկու I2C հասցե, ինչը նշանակում է, որ երկու BME280 տվիչ կարող են միանգամից միացվել նույն կարգավորիչին: Մինչդեռ դա անում է, սենսորներից մեկի հասցեն պետք է փոխվի `սենսորի վրա ամրացնող բարձիկները կամրջելով: ESP-01 անլար կապի չիպը պահանջում էր Arduino- ի հետ հետևյալ կապերը:
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Նշում.- Arduino Uno- ի բազմաթիվ LED- ները հանվեցին մարտկոցի կյանքը բարելավելու համար: Էլեկտրաէներգիայի ցուցիչ LED, RX և TX LED- ները հանվել են ՝ ամրացնելով զոդման հոդերը և LED- ը բռնակով մղելով:
Քայլ 2: Կարգավորեք IDE- ները և գրադարանները
Նախքան որևէ ծրագրավորում կատարելը, պետք է ներբեռնել Arduino IDE- ն (Ինտեգրված զարգացման միջավայր): Mingրագրավորումը կատարվել է այս հարթակում: Տարբեր գրադարաններ պահանջվեցին փոխգործակցել OPENSDL- ի տարբեր բաղադրիչների հետ: Տրված բաղադրիչների համար օգտագործվել են հետևյալ գրադարանները:
Բաղադրիչ ----------------------------------------------------- -------------- Գրադարան
BME280 ջերմաստիճանի և RH տվիչ --------------------------------- Cactus_io_BME280_I2C.h
Լույսի ցուցիչ ---------------------------------------------------- ---------------- SparkFun TSL2561.h
Իրական ժամանակի ժամացույց -------------------------------------------------- ------------- RTClib.h
SD քարտի վարդակից --------------------------------------------------- ------------- SD.h
I2C միացում ---------------------------------------------------- ------------- Wire.h
ESP01- ի հետ հաղորդակցվելու համար առանձին գրադարան չի պահանջվում, քանի որ Arduino- ում բեռնված կոդը ունի AT հրամաններ, որոնք ուղարկվում են սերիական մոնիտորին, որտեղից ESP-01- ը վերցնում է հրահանգները: Այսպիսով, հիմնականում, AT հրամանները, որոնցով աշխատում է ESP01- ը, տպվում են Սերիայի մոնիտորի մեջ, որոնք ընդունվում են որպես մուտքագրման հրաման ESP-01- ի կողմից: Այս գրադարանները տեղադրելու համար դրանք ներբեռնելուց հետո բացեք Arduino IDE- ն, գնացեք Sketch -> Include Library -> Add. Zip գրադարան և ընտրեք ներբեռնված գրադարանները:
Քայլ 3: Համակարգի ծրագրավորում
Նախքան OPENSDL- ի ծրագրավորումը, Arduino- ն միացրեք նոութբուքի հետ: Միանալուց հետո գնացեք Գործիքներ -> Պորտ և ընտրեք COM նավահանգիստը, որին միացված է OPENSDL- ը: Բացի այդ, համոզվեք, որ Գործիքներ -> Տախտակներ ընտրված է Arduino Uno- ն:
OPENSDL- ը մշակվել է 2 ռեժիմով աշխատելու համար: Առաջին ռեժիմում այն SD քարտի տվյալները պահում է տվյալների գրանցման վահանի վրա: Երկրորդ ռեժիմում այն տվյալները ինտերնետով ուղարկում է կայք ՝ օգտագործելով ESP-01 Wi-Fi չիպը: Երկու ռեժիմների համար էլ ծրագիրը տարբեր է: Այս կոդի տողերը կարող են ուղղակի պատճենվել և տեղադրվել Arduino IDE խմբագրիչում և ուղղակիորեն օգտագործվել: Կոդի մեջ մտնելուց հետո մենք պետք է մի քանի հարմարեցում կատարենք ՝ ըստ մեր կարիքների.
- Ձեռքով փոխեք հետաձգման արժեքը (1000) ծածկագրի վերջում `անտառահատումների միջակայքը փոխելու համար: 1000 արժեքը ներկայացնում է ընդմիջում միլիվայրկյաններում:
- Խմբագրել կոդի տողը, որն ասում է mySensorData = SD.open ("Logged01.csv", FILE_WRITE); և Logged01- ը փոխարինեք ցանկալի ֆայլի անվան ֆայլի անունով: Ֆայլի ընդլայնումը կարող է փոխվել նաև.csv ընդլայնումը փոփոխելով ֆայլի անունից անմիջապես հետո:
- Գլխավոր/տեղեկատու սենսորի և BME280- ի միջև հարաբերակցությունը գտնելու միջոցով ձեռք բերված ճշգրտման հավասարումը կտարբերվի յուրաքանչյուր սենսորի հետ: Կոդի այս տողը փոխարինեք սենսորների ճշգրտման հավասարմամբ. Serial.print ((1.0533*t2) -2.2374)-կանխադրված հասցեով (0x77) սենսորի համար, որտեղ t2- ը ջերմաստիճանի տվիչից կարդացված արժեքն է:
Առանձին ծրագիր է տրամադրվել OPENSDL- ի երկրորդ հասանելի ռեժիմի ծրագրավորման համար, որը անլար համակարգն է: ESP-01- ը պետք է միացված լինի OPENSDL- ին `ըստ կապերի, ինչպես բացատրված է Քայլ 2-ում: Միացումներն ավարտելուց հետո միացրեք Arduino- ն նոութբուքին և տեղադրեք դատարկ ուրվագիծ Arduino- ում: Տեղադրեք ESP-01- ը թարմացման ռեժիմում և թարմացրեք որոնվածը վերջին հասանելի թարմացմանը: Թարմացնելուց հետո համոզվեք, որ Arduino- ի զրոյական կապը միացրեք 3.3V պինին, որը շրջանցում է Arduino բեռնիչը
Քայլ 4: Պատրաստում
OPENSDL- ի պարիսպը ստեղծվել է պաշտպանության և գեղագիտության բարելավման համար: Պատյանները մշակվել են 3D տպագրությամբ ՝ օգտագործելով PLA նյութ, իսկ միկրոկառավարիչի պատյանը ՝ MDF թերթիկը լազերային կտրելով և կտորները սոսնձելով: 3D տպագիր մոդելները մշակվել են SketchUp ծրագրաշարի միջոցով, իսկ լազերային կտրման համար 2D dxf գծագրերը ՝ AutoCAD- ի միջոցով:
3D տպագրության համար SketchUp- ի միջոցով ստեղծված STL ֆայլերը բացվել և ստուգվել են Ultimaker Cura 3.2.1 ծրագրաշարում: Համոզվեք, որ օգտագործվում է PLA նյութ, և օգտագործված տպիչի վարդակը նախատեսված է 0.4 մմ տպագրության համար: Եռաչափ տպիչի կառուցման ափսեի համար կարող է պահանջվել սոսինձ `3D տպված առարկան կպցնելու համար: Բայց երբ տպագրությունն ավարտված է, սոսինձը ուժեղ կպչունություն է ստեղծում տպված առարկայի և շինության ափսեի միջև:
Քայլ 5: Կոդ
Կոդը (.ino ֆայլեր) ստեղծված է Arduino IDE ծրագրաշարում աշխատելու համար: Ահա իմ Github էջի հղումը ՝ ծածկագրի և այլ մանրամասների համար:
github.com/arihant93/OPENSDL
Խնդրում ենք մի հապաղեք հարցեր տալ նախագծի վերաբերյալ:
Շնորհակալություն
Խորհուրդ ենք տալիս:
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. Ներածություն. Բարև, սա Liono Maker- ն է, ահա YouTube- ի հղումը: Մենք ստեղծում ենք ստեղծագործական նախագիծ Arduino- ի հետ և աշխատում ներկառուցված համակարգերի վրա: Data-Logger: Տվյալների գրանցիչ (նաև տվյալների գրանցիչ կամ տվյալների գրանցիչ) էլեկտրոնային սարք է, որը ժամանակի ընթացքում գրանցում է տվյալները
Q -Bot - բաց կոդով Ռուբիկի խորանարդի լուծիչը. 7 քայլ (նկարներով)
Q -Bot - բաց կոդով Rubik's Cube Solver. Պատկերացրեք, որ դուք ունեք խառնված Rubik's Cube, դուք գիտեք, որ այդ հանելուկը կազմում է 80 -ականները, որոնք բոլորն ունեն, բայց ոչ ոք իրականում չգիտի, թե ինչպես լուծել այն, և դուք ցանկանում եք այն վերադարձնել իր սկզբնական օրինաչափությանը: Բարեբախտաբար, այս օրերին շատ հեշտ է գտնել լուծման հրահանգ
OpenLogger: Բարձրորակ, Wi-Fi- ով միացված, բաց կոդով, շարժական տվյալների գրանցիչ ՝ 7 քայլ
OpenLogger: Բարձրորակ, Wi-Fi- ով միացված, բաց կոդով, դյուրակիր տվյալների գրանցիչ. OpenLogger- ը դյուրակիր, բաց կոդով, էժան, բարձրորակ տվյալների անտառահատ է, որը նախատեսված է ապահովելու բարձրորակ չափումներ ՝ առանց թանկարժեք ծրագրակազմ կամ գրելու ծրագրակազմ զրոյից. Եթե դուք ինժեներ եք, գիտնական կամ էնտուզիաստ, ով
AC ընթացիկ մոնիտորինգի տվյալների գրանցիչ. 9 քայլ (նկարներով)
AC ընթացիկ մոնիտորինգի տվյալների գրանցիչ. Բարև բոլորին, բարի գալուստ իմ առաջին ուսանելի: Dayերեկը ես ինժեներ -փորձարկող եմ մի ընկերության համար, որը մատակարարում է արդյունաբերական ջեռուցման սարքավորումներ, իսկ գիշերը ես տեխնոլոգիայի եռանդուն հոբբիստ եմ և DIY'er: Իմ աշխատանքի մի մասը ներառում է ջեռուցիչների աշխատանքի փորձարկումը, o
Ինչպես կատարել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. 11 քայլ (նկարներով)
Ինչպես պատրաստել տվյալների գրանցիչ ջերմաստիճանի, PH- ի և լուծված թթվածնի համար. Նպատակներ. Ստեղծեք տվյալների գրանցիչ ≤ 500 դոլարով: Այն պահում է ջերմաստիճանի, pH- ի և DO- ի տվյալները ժամանակային կնիքով և I2C հաղորդակցության միջոցով: Ինչու՞ I2C (ինտեգրված սխեմա): Կարելի է միևնույն տողում հավաքել նույնքան տվիչ ՝ հաշվի առնելով, որ դրանցից յուրաքանչյուրն ունի