Բովանդակություն:
- Քայլ 1: Մասեր
- Քայլ 2: Միացրեք բոլոր մասերը միասին
- Քայլ 3: Կոդավորում
- Քայլ 4. Հետո օգտագործեք Arduino և SD քարտ
Video: Arduino- ն աշխատում է բազմաթիվ ֆայլերով (ԿԱՐԴԱԼ/ԳՐԵԼ). 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Բարև տղերք
Այսօր ձեզ եմ ներկայացնում Arduino նախագիծը, որն աշխատում է RTC վահանով, որը կարող է պահել տվյալներ: Այս նախագծի հիմնական խնդիրն է աշխատել բազմաթիվ ֆայլերի հետ, որոնք պահվում են sc քարտի վրա: Այս նախագիծը պարունակում է ծածկագիր, որն աշխատում է երեք ֆայլերի հետ, որոնք ուղղակիորեն պահվում են SD քարտի վրա `arduino- ով և RTC վահանով: Քանի որ այս նախագիծը աշխատում է DataLogger վահանի հետ, այդ տվյալները նույնպես կպահվեն ճիշտ այն ժամանակ, ինչ ձեր համակարգչում են:
Այս նախագիծը իմ վերջին նախագծի արդիականացված տարբերակն է: Այդ նախագիծը կարելի է գտնել հրահանգների կայքում ՝ Arduino Data Logger Shield Small Project անունով: Եթե որոշակի խնդիրներ ունեք այս նախագիծը հասկանալու համար, ես առաջարկում եմ ձեզ առաջինը տեսնել ավելի հեշտը:
Այդ երկու նախագծերի հիմնական տարբերությունն այն է, որ այս նախագիծը օգտագործում է 3 տեքստային ֆայլ, նաև այս անգամ մենք կարդում ենք դրանցից երկուսի տվյալները: Քանի որ մենք կարող ենք կարդալ տվյալները, մենք կարող ենք ստանալ խոնավության և ջերմաստիճանի միջին արժեքներ, որոնք պահվում են sd քարտի վրա: Սա կցուցադրվի նաև Arduino- ին միացված LCD- ով:
Եվս մեկ անգամ, եթե դուք նորեկ եք Arduino- ում և սա ձեր առաջին նախագիծն է, որն օգտագործում է DataLogger- ը, ես առաջարկում եմ գնալ և ստուգել այս հղումը https://www.instructables.com/id/Arduino-Data-Logg…, և երբ ամեն ինչ կստանաք դրա վրա, եկեք այստեղ և մի փոքր զվարճացեք: Եկ սկսենք.
Քայլ 1: Մասեր
Ինչպես ամեն անգամ, երբ գրում եմ նման նախագծեր, ես կսկսեմ բոլոր այն մասերից, որոնք օգտագործել եմ այս նախագծում: Ես նաև կառաջարկեմ որոշ սենսորներ, որոնք կարող են օգտագործվել և կարող են այս նախագիծը մի փոքր այլ կերպ դարձնել:
Մասեր:
- Arduino uno rev3
- Arduino Data logger վահան
- SD հիշողության քարտ
- LCD 1602 կանաչ էկրան I2C- ով (կարող եք օգտագործել ցանկացած այլ էկրան)
- DHT22 (DHT11- ը նույնպես լավ է աշխատում, բայց դրա ճշգրտությունը նույնը չէ, ինչ dht22- ը)
- Քիչ jumper մալուխներ
- Breadboard
- Մարտկոց 9 վ
Դուք կարող եք փոխել որոշ մասեր: Այս նախագծի լավ կողմն այն է, որ այն կարող է օգտագործվել ցանկացած այլ սենսորից տվյալները պահելու համար: Ես կփորձեի աշխատել ծխի սենսորով կամ ինֆրակարմիր տվիչով: Այն աշխատում է ցանկացած այլ սենսորի հետ: Կարող եք նաև փոխել ձեր Arduino- ն, բայց հիշեք, որ Arduino- ն ամենալավն է Data logger- ին համապատասխանելու համար:
Քայլ 2: Միացրեք բոլոր մասերը միասին
Այս մեկը հեշտ է միացնել: Նույնիսկ սխեմատիկը նույնն է, ինչ ավելի հեշտ նախագիծը: Բայց ես կասեի, որ պետք է հետևել, թե որ քորոցից եք պատրաստվում օգտվել: Ամեն անգամ ստուգեք Data logger- ի տվյալների թերթիկը `տեսնելու, թե որ կապերն են ամենալավն օգտագործելու համար, քանի որ, ինչպես հիշում եմ, որոշ կապումներն արդեն որոշված են, և երբ փորձում էի իմ տվիչը օգտագործել սահմանված կապերից մեկի վրա, այն չէր աշխատում:
Այս քայլի վերևում կարող եք տեսնել սխեմա ՝ պատրաստված սառեցմամբ: Հեշտ բանն այն է, որ դուք պետք է ձեր տվյալների գրանցիչը միացնեք ձեր arduino- ի վերևում: Միացրեք ձեր sd քարտը տվյալների գրանցիչին, և վերջին բանը, որ դուք պետք է անեք, միացրեք dht տվիչը և LCD- ը: Մենք օգտագործում ենք arduino- ի 5V- ը սեղանի վրա + մասի համար, GND- ը `մասի համար, և այդ տողին հետևելով ՝ դուք նաև միացնում եք սենսորների և LCD- ների գիծը հացի տախտակի + գծին: Նույնը վերաբերում է մասերին, դրանք պարզապես գնում են հաջորդ գծին: Dht սենսորն այս անգամ միացված է 7 -րդ կապին: LCD- ն միացված է A4- ին և A5- ին: Հեշտ է, այնպես չէ՞:
LCD:
- VCC մինչև 5V (+ մաս `տախտակի վրա)
- GND- ից gnd (-մաս հացահատիկի վրա)
- SDA- ն անալոգային A4 կապին
- SCL- ից անալոգային A5 կապին
DHT22:
Ես օգտագործեցի dht տախտակով, որի մեջ պետք է օգտագործել երեք կապում.
- + 5 Վ -ից
- - GND- ին
- դուրս գալ թվային փին 7
Քայլ 3: Կոդավորում
Այս ժամանակի կոդն ավելի բարդ է: Դրա մի լավ մասը մեկնաբանվում է, որպեսզի հեշտությամբ հասկանաք:
Այս ծածկագիրը կբացատրեմ մի քանի կարճ մասով:
1. Առաջին բանը, որ պետք է հիշել, որ այս ծածկագրին անհրաժեշտ կլինեն մի քանի գրադարաններ ձեր համակարգչում: Դրանք են ՝ Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib: Դուք հավանաբար կարող եք օգտագործել որոշ այլ գրադարաններ, բայց այս գրադարաններն աշխատել են ինձ համար: Դրանից հետո մենք սահմանում ենք այն ամենը, ինչ անհրաժեշտ է այս նախագծի համար: DHT սենսորը հեշտ է սահմանել, պարզապես անհրաժեշտ է ասել, թե որ քորոցն է միացված սենսորին և սենսորի տեսակը: Դրանից հետո դուք պետք է որոշեք մի քանի կապում, որոնք կօգտագործվեն SD քարտի և RTC քորոցների համար: Եվ դրանից հետո կարող եք տեսնել այս նախագծի համար օգտագործվող փոփոխականներ:
3. Նախագիծն օգտագործում է մի քանի մեթոդ, և բոլորը DHT սենսորով աշխատելու համար են: Եթե դուք աշխատում եք այս տեսակի սենսորներով նախագծի վրա, կարող եք օգտագործել այն: Այդ մեթոդներն են `getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ():
4. Կարգավորման մեջ կան մի քանի բաներ, որոնք անհրաժեշտ են ավարտին հասցնելու համար: Առաջին հերթին պետք է սահմանել ժամանակը: Քանի որ մենք այստեղ օգտագործում ենք RTC, մենք ցանկանում ենք ունենալ ճիշտ ժամանակ, երբ մեր Arduino- ն տվյալները պահում է սենսորից: Այդ հատվածը կմեկնաբանվի ծածկագրով: Եթե մեկնաբանություն չեք տալիս //RTC.adjust(DateTime(_DATE_, _TIME_)); տող, որը կարող եք ժամանակ սահմանել ձեր նախագծի վրա: Properիշտ ժամանակը սահմանելուց հետո կարող եք նորից մեկնաբանել այդ հատվածը, և կարող եք օգտագործել ձեր arduino- ն առանց համակարգչի: Սա հիանալի է, քանի որ կարող եք օգտագործել ձեր ջերմաստիճանի տվիչը մեկ այլ սենյակում և հետևել ջերմաստիճանին ՝ առանց ձեր համակարգչի կարիքի: Երկրորդ մասը, որը պետք է արվի, ձեր SD քարտի օգտագործումն է, որի վրա կպահվեն տվյալները: Shield- ը կփորձի տեսնել, թե արդյոք կա քարտ և նախաստորագրել այն: Եթե չկա, սխալի հաղորդագրությունը կցուցադրվի Arduino IDE- ի Սերիայի էկրանին:
Կարգավորման մեջ առաջին քայլն է, որտեղ մենք աշխատում ենք հիշողության քարտի վրա ֆայլեր գրելու հետ: Քարտի վրա առաջինը գրված է datalog.txt ֆայլում: Այս անգամ մենք գրում ենք մեր սարքը մուտք գործելու ժամանակը և ստեղծում ենք անունների մի փոքր շարք (փոփոխականներ, որոնք օգտագործվում են խնայելու համար, ինչպես նաև ժամանակը)
Կարգավորման վերջին մասը LCD- ի և dht տվիչի նախաստորագրումն է:
5. Օղակի հատվածը ծրագրի հիմնական մասն է: Այս անգամ սենսորի հետ աշխատելը շատ հեշտ է, քանի որ այն օգտագործում է միայն մեկ մեթոդ, որը կարդում է այն արժեքները, որոնք ստանում է սենսորը: LCD հատվածը նույնպես շատ հեշտ է: Հաջորդ մասը մեկն է, որը մենք պետք է բացատրենք այստեղ: Այս նախագիծը ամեն րոպե ինչ -որ բան է անում: Մեկ րոպե պահում է տվյալները datalog.txt- ում: Այս տվյալները կարող է կարդալ մեկը, ով նույնիսկ չգիտի, թե ինչպես ծրագրավորել arduinos- ն: Մյուս կողմից. Մեկ րոպե այն խնայում է ջերմաստիճանը datalogB.txt- ում, և մեկ րոպե ՝ խոնավություն datalogC.txt- ում: Մեզ պետք են datalogB.txt և dataLogC.txt, որպեսզի կարողանանք կարդալ մեր հիշողության քարտից: Այսպիսով, եթե մենք շարունակենք կարդալ մեր ծածկագիրը, կարող եք տեսնել նաև, որ այս կոդը կարդում է ջերմաստիճանի և խոնավության միջին արժեքները և պահում դրանք մեկ տողում: Ես ուզում էի սարք սարքել, որը ֆայլում պահում է ընդամենը վերջին տասը թվանշանը: Այսպիսով, այս նախագիծը միշտ անցնում է քարտի արժեքների միջով և պահպանում է վերջին տասը թվանշանը: Տողերում պահվող այս թվանշանները օգտագործվում են, որպեսզի մենք կարողանանք ստանալ ջերմաստիճանի միջին արժեք և խոնավության միջին արժեք: Որոնք նույնպես որոշ ժամանակ անց ցուցադրվում են մեր LCD- ով
Քայլ 4. Հետո օգտագործեք Arduino և SD քարտ
Այստեղ դուք կարող եք տեսնել, թե ինչ է ցուցադրվում LCD- ով և ինչպես է աշխատում նախագիծը: Նաև ես այստեղ եմ դնում իմ պահած տվյալների տատալոգների նկարները: Datalog.txt- ն այն է, որը կարող է օգտագործվել ՝ տեսնելու համար, թե ինչպես է սարքը պահում յուրաքանչյուր արժեք: DatalogB և datalogC կան, որպեսզի տեսնեք, թե ինչ տեսք ունեն դրանք: Նրանք գրված են այդպես, որպեսզի կարողանաք վերլուծել մեթոդը և կարդալ տվյալները առանց խնդիրների:
Այս նախագծի ամբողջ իմաստը sd քարտի վրա գտնվող ֆայլերի մանիպուլյացիան է: Երբեմն մեզ անհրաժեշտ են սարքեր, որոնք կարող են պահպանել հիշողությունը, և ընթերցման ջերմաստիճանը նույնպես մի անգամ է նման: Լավն այն է, որ այս սարքի վրա օգտագործվող վահանը ունի նաև RTC մոդուլ, որը լավագույնն է ժամանակի համար: Երբ մենք կարող ենք կարդալ իրական ժամանակում և տվյալներ պահել մեր սարքի հետ, դա նշանակում է, որ այն կարող է շարժական լինել:
Շնորհակալություն տղաներին այս նախագիծը կարդալու համար: Հուսով եմ, որ դա կօգնի ձեզ: Շնորհակալություն.
Բոլոր հարգանքներով Սեբաստիան
Խորհուրդ ենք տալիս:
Ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով մեկ անալոգային քորոց. 6 քայլ (նկարներով)
Ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով մեկ անալոգային քորոց: Այս ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով միայն մեկ անալոգային մուտքի քորոց:
Lyամանակակից ձայնագրող խաղողի բերքահավաք ձայնասկավառակներ ՝ MP3 ֆայլերով ՝ 8 քայլ (նկարներով)
Lyամանակակից ձայնագրվող խաղողի բերքահավաքի ժապավեններ ՝ MP3 ֆայլերով. Վինտաժային ժապավենների ժապավեններն այժմ ավելի քան երբևէ հայտնվում են փոփ-մշակույթում, շատերը ցանկանում են ստեղծել իրենց տարբերակները: Այս ձեռնարկում ես ձեզ կառաջնորդեմ, թե ինչպես (եթե ունեք մագնիտոֆոն) ձայնագրելու ձեր սեփական ձայներիզները ժամանակակից տեխնոլոգիայով
SD քարտի մոդուլ Arduino- ով. Ինչպես կարդալ/գրել տվյալներ. 14 քայլ
SD քարտի մոդուլ Arduino- ով. Ինչպես կարդալ/գրել տվյալներ. Ակնարկ տվյալների պահպանումը յուրաքանչյուր նախագծի ամենակարևոր մասերից մեկն է: Կա տվյալների պահպանման մի քանի եղանակ ՝ ըստ տվյալների տեսակի և չափի: SD և միկրո SD քարտերը ամենապրակտիկներից են պահեստավորման սարքերի մեջ, որոնք օգտագործվում են
Wemos- ի միջոցով Raspberry Pi- ով սերիական նավահանգստից կարդալ և գրել. 5 քայլ
Wemos- ի միջոցով Raspberry Pi- ով սերիական նավահանգստից կարդալ և գրել. Շփում Raspberry Pi- ի հետ `օգտագործելով Wemos D1 mini R2
Ինչպես կարդալ բազմաթիվ անջատիչներ մեկ MCU կապով `4 քայլ
Ինչպե՞ս կարդալ բազմաթիվ անջատիչներ մեկ MCU կապով: Վերջերս կատարված նախագծի վրա ես կառուցում էի հաճախականության հաշվիչ և ավելացնում հինգ ֆունկցիա