Բովանդակություն:

Arduino- ն աշխատում է բազմաթիվ ֆայլերով (ԿԱՐԴԱԼ/ԳՐԵԼ). 4 քայլ
Arduino- ն աշխատում է բազմաթիվ ֆայլերով (ԿԱՐԴԱԼ/ԳՐԵԼ). 4 քայլ

Video: Arduino- ն աշխատում է բազմաթիվ ֆայլերով (ԿԱՐԴԱԼ/ԳՐԵԼ). 4 քայլ

Video: Arduino- ն աշխատում է բազմաթիվ ֆայլերով (ԿԱՐԴԱԼ/ԳՐԵԼ). 4 քայլ
Video: ESP32 Tutorial 15 - DC Motor Speed Control with ESP32 L293D | SunFounder's ESP32 IoT Learnig kit 2024, Հուլիսի
Anonim
Arduino- ն աշխատում է բազմաթիվ ֆայլերի հետ (ԿԱՐԴԱԼ/ԳՐԵԼ)
Arduino- ն աշխատում է բազմաթիվ ֆայլերի հետ (ԿԱՐԴԱԼ/ԳՐԵԼ)

Բարև տղերք

Այսօր ձեզ եմ ներկայացնում 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 քարտ

Հետո օգտագործելով Arduino և SD քարտ
Հետո օգտագործելով Arduino և SD քարտ
Հետո օգտագործելով Arduino և SD քարտ
Հետո օգտագործելով Arduino և SD քարտ
Հետո օգտագործելով Arduino և SD քարտ
Հետո օգտագործելով Arduino և SD քարտ
Հետո օգտագործելով Arduino և SD քարտ
Հետո օգտագործելով Arduino և SD քարտ

Այստեղ դուք կարող եք տեսնել, թե ինչ է ցուցադրվում LCD- ով և ինչպես է աշխատում նախագիծը: Նաև ես այստեղ եմ դնում իմ պահած տվյալների տատալոգների նկարները: Datalog.txt- ն այն է, որը կարող է օգտագործվել ՝ տեսնելու համար, թե ինչպես է սարքը պահում յուրաքանչյուր արժեք: DatalogB և datalogC կան, որպեսզի տեսնեք, թե ինչ տեսք ունեն դրանք: Նրանք գրված են այդպես, որպեսզի կարողանաք վերլուծել մեթոդը և կարդալ տվյալները առանց խնդիրների:

Այս նախագծի ամբողջ իմաստը sd քարտի վրա գտնվող ֆայլերի մանիպուլյացիան է: Երբեմն մեզ անհրաժեշտ են սարքեր, որոնք կարող են պահպանել հիշողությունը, և ընթերցման ջերմաստիճանը նույնպես մի անգամ է նման: Լավն այն է, որ այս սարքի վրա օգտագործվող վահանը ունի նաև RTC մոդուլ, որը լավագույնն է ժամանակի համար: Երբ մենք կարող ենք կարդալ իրական ժամանակում և տվյալներ պահել մեր սարքի հետ, դա նշանակում է, որ այն կարող է շարժական լինել:

Շնորհակալություն տղաներին այս նախագիծը կարդալու համար: Հուսով եմ, որ դա կօգնի ձեզ: Շնորհակալություն.

Բոլոր հարգանքներով Սեբաստիան

Խորհուրդ ենք տալիս: