Բովանդակություն:
- Քայլ 1: Վերանայում:
- Քայլ 2. Ինչու՞ AnalogRead () - ը վերադարձնում է արժեքը 0 -ից 1023 -ի միջև:
- Քայլ 3: Այսպիսով, ինչ է AREF- ը:
- Քայլ 4. Արտաքին AREF
- Քայլ 5: Ներքին AREF
Video: Arduino AREF քորոց. 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Այս ձեռնարկում մենք կանդրադառնանք, թե ինչպես կարող եք չափել ավելի փոքր լարման ավելի մեծ ճշգրտությամբ ՝ օգտագործելով ձեր Arduino- ի կամ համատեղելի տախտակի անալոգային մուտքային կապերը ՝ AREF կապի հետ միասին: Այնուամենայնիվ, նախ մենք որոշակի վերանայում կանենք ՝ ձեզ արագացնելու համար: Խնդրում ենք ամբողջությամբ կարդալ այս գրառումը AREF- ի հետ առաջին անգամ աշխատելուց առաջ:
Քայլ 1: Վերանայում:
Դուք կարող եք հիշել, որ դուք կարող եք օգտագործել Arduino analogRead () գործառույթը ՝ սենսորներից էլեկտրական հոսանքի լարումը չափելու և այլն ՝ օգտագործելով անալոգային մուտքային կապումներից մեկը: AnalogRead- ից () վերադարձված արժեքը կլինի զրոյի և 1023 -ի միջև, զրոը ներկայացնում է զրո վոլտ, իսկ 1023 -ը `օգտագործվող Arduino տախտակի աշխատանքային լարումը:
Իսկ երբ ասում ենք աշխատանքային լարումը, սա այն հոսանքն է, որը հասանելի է Arduino- ին էներգիայի մատակարարման սխեմայից հետո: Օրինակ, եթե դուք ունեք սովորական Arduino Uno տախտակ և այն աշխատում եք USB վարդակից, իհարկե, ձեր համակարգչի կամ հանգույցի USB վարդակից տախտակին հասանելի է 5 Վ, բայց լարումը փոքր -ինչ նվազում է, քանի որ ընթացիկ քամիները պտտվում են միացում միկրոկառավարիչին, կամ USB աղբյուրը պարզապես քերծվածք չէ:
Դա կարելի է հեշտությամբ ցույց տալ ՝ Arduino Uno- ն USB- ին միացնելով և 5V և GND կապում լարումը չափելու բազմաչափ տեղադրելու միջոցով: Որոշ տախտակներ կվերադառնան 4.8 Վ -ից ցածր, ոմանք ավելի բարձր, բայց դեռ 5 Վ -ից ցածր: Այսպիսով, եթե դուք կրակում եք ճշգրտության համար, սնուցեք ձեր տախտակը արտաքին սնուցման աղբյուրից ՝ DC վարդակից կամ Vin քորոցով, օրինակ ՝ 9V DC- ով: Այնուհետև էներգիայի կարգավորիչի սխեմայով անցնելուց հետո կունենաք գեղեցիկ 5 Վ, օրինակ ՝ պատկերը:
Սա կարևոր է, քանի որ ցանկացած analogRead () արժեքների ճշգրտությունը կազդի 5 Վ իրական չունենալու պատճառով: Եթե որևէ տարբերակ չունեք, կարող եք օգտագործել ձեր ուրվագծի որոշ մաթեմատիկա ՝ փոխհատուցելու լարման անկումը: Օրինակ, եթե ձեր լարումը 4.8V է, ապա analogRead () միջակայքը 0 ~ 1023 -ին վերաբերելու է 0 ~ 4.8V- ին և ոչ թե 0 ~ 5V: Սա կարող է չնչին թվալ, սակայն, եթե օգտագործում եք տվիչ, որը արժեք է վերադարձնում որպես լարում (օրինակ ՝ TMP36 ջերմաստիճանի տվիչ) - հաշվարկված արժեքը սխալ կլինի: Այսպիսով, ճշգրտության շահերից ելնելով, օգտագործեք արտաքին սնուցման աղբյուր:
Քայլ 2. Ինչու՞ AnalogRead () - ը վերադարձնում է արժեքը 0 -ից 1023 -ի միջև:
Դա պայմանավորված է ADC- ի որոշմամբ: Բանաձևը (այս հոդվածի համար) այն աստիճանն է, որով ինչ -որ բան կարող է թվայինորեն ներկայացվել: Որքան բարձր է բանաձևը, այնքան մեծ ճշգրտություն, որով ինչ -որ բան կարող է ներկայացվել: Մենք որոշում ենք բանաձևը լուծման բիթերի քանակի առումով:
Օրինակ, 1-բիթ թույլատրելիությունը թույլ կտա միայն երկու (երկուսը մեկի հզորության) արժեքներ `զրո և մեկ: 2-բիթանոց լուծումը թույլ կտա չորս (երկուսը երկու հզորության) արժեքներ `զրո, մեկ, երկու և երեք: Եթե մենք փորձեինք չափել հինգ վոլտ տիրույթ երկբիթ թույլատրելիությամբ, և չափված լարումը չորս վոլտ էր, մեր ADC- ն կվերադարձներ 3-ի թվային արժեքը, քանի որ չորս վոլտը ընկնում է 3.75-ից մինչև 5V- ի միջև: Սա ավելի հեշտ է պատկերացնել պատկերով:
Այսպիսով, 2-բիթ թույլատրությամբ ADC- ի մեր օրինակով այն կարող է ներկայացնել լարման միայն հնարավոր չորս ստացված արժեքներով: Եթե մուտքային լարումը ընկնում է 0 -ից 1.25 -ի սահմաններում, ADC- ն վերադարձնում է թվային 0; եթե լարումը ընկնում է 1.25 -ից 2.5 -ի սահմաններում, ADC- ն վերադարձնում է 1. թվային արժեք: Եվ այսպես շարունակ: Մեր Arduino- ի ADC տիրույթով `0 ~ 1023-մենք ունենք 1024 հնարավոր արժեք, կամ 2` 10-ի հզորությամբ: Այսպիսով, մեր Arduinos- ն ունի 10-բիթանոց լուծաչափով ADC:
Քայլ 3: Այսպիսով, ինչ է AREF- ը:
Երկար պատմություն ասելու համար, երբ ձեր Arduino- ն անալոգային ընթերցում է կատարում, այն համեմատում է անալոգային քորոցում չափվող լարումը այն բանի հետ, ինչ հայտնի է որպես հղման լարման: Սովորական analogRead օգտագործման դեպքում հղման լարումը տախտակի աշխատանքային լարվածությունն է:
Առավել հայտնի Arduino տախտակների համար, ինչպիսիք են Uno, Mega, Duemilanove և Leonardo/Yún տախտակները, աշխատանքային լարումը 5 Վ է: Եթե ունեք Arduino Due տախտակ, աշխատանքային լարումը 3.3 Վ է: Եթե այլ բան ունեք - ստուգեք Arduino- ի արտադրանքի էջը կամ հարցրեք ձեր տախտակի մատակարարին:
Այսպիսով, եթե ունեք 5 Վ հղումային լարման, analogRead () - ով վերադարձված յուրաքանչյուր միավորը գնահատվում է 0.00488 Վ (սա հաշվարկվում է 1024 -ը 5 Վ -ի բաժանելով): Ի՞նչ անել, եթե մենք ուզում ենք չափել լարումները 0 -ից 2 -ի կամ 0 -ի և 4.6 -ի միջև: Ինչպե՞ս ADC- ն իմանա, թե որն է մեր լարման տիրույթի 100% -ը:
Եվ դրանում է գտնվում AREF քորոցի պատճառը: AREF նշանակում է անալոգային հղում: Այն թույլ է տալիս մեզ Arduino- ին սնուցել արտաքին էներգիայի աղբյուրից տեղեկատու լարման: Օրինակ, եթե մենք ցանկանում ենք չափել 3.3 Վ առավելագույն տիրույթով լարման չափերը, մենք մի լավ հարթ 3.3 Վ լարում ենք AREF կապում `գուցե լարման կարգավորիչ IC- ից:
Այնուհետև ADC- ի յուրաքանչյուր քայլը կներկայացնի մոտ 3.22 միլիվոլտ (1024 -ը բաժանել 3.3 -ի): Նկատի ունեցեք, որ ամենացածր հղման լարումը, որը կարող եք ունենալ, 1.1 Վ է: AREF- ի երկու ձև կա `ներքին և արտաքին, ուստի եկեք դրանք ստուգենք:
Քայլ 4. Արտաքին AREF
Արտաքին AREF- ն այն է, որտեղ դուք մատակարարում եք արտաքին հղման լարումը Arduino- ի տախտակին: Սա կարող է գալ կարգավորվող սնուցման աղբյուրից, կամ եթե Ձեզ անհրաժեշտ է 3.3 Վ, ապա այն կարող եք ստանալ Arduino- ի 3.3 Վ կապիկից: Եթե դուք օգտագործում եք արտաքին սնուցման աղբյուր, համոզվեք, որ GND- ը միացրեք Arduino- ի GND քորոցին: Կամ, եթե դուք օգտագործում եք Արդունոյի 3.3 Վ աղբյուրը, պարզապես 3.3 Վ -ի պինից ցատկեք դեպի AREF կապը:
Արտաքին AREF- ն ակտիվացնելու համար void setup () - ում օգտագործեք հետևյալը.
analogReference (EXTERNAL); // օգտագործեք AREF- ը հղման լարման համար
Սա սահմանում է հղման լարումը այն ամենի վրա, ինչ դուք միացրել եք AREF կապին, որը, իհարկե, կունենա լարում 1.1V- ի և տախտակի աշխատանքի լարման միջև: Շատ կարևոր նշում. Արտաքին լարման հղում օգտագործելիս պետք է անալոգային հղումը սահմանել EXTERNAL analogRead () օգտագործելուց առաջ: Սա թույլ չի տա կարճացնել ակտիվ ներքին տեղեկատուի լարումը և AREF կապը, ինչը կարող է վնասել տախտակի վրա գտնվող միկրոկոնտրոլերը: Ձեր դիմումի համար անհրաժեշտության դեպքում կարող եք վերադառնալ AREF- ի տախտակի աշխատանքային լարմանը (այսինքն `վերադառնալ նորմալ) հետևյալով.
analogReference (ՊԱՇՏՊԱՆՈԹՅՈՆ);
Հիմա աշխատավայրում արտաքին AREF ցուցադրելու համար: Օգտագործելով 3.3V AREF ՝ հետևյալ ուրվագիծը չափում է A0- ի լարումը և ցուցադրում է ընդհանուր AREF- ի և հաշվարկված լարման տոկոսը.
#ներառել «LiquidCrystal.h»
LiquidCrystal LCD (8, 9, 4, 5, 6, 7);
int անալոգային մուտքագրում = 0; // մեր անալոգային քորոցը
int analogamount = 0; // պահում է մուտքային արժեքի բոց տոկոս = 0; // օգտագործվում է մեր լողացող լարման տոկոսային արժեքը = 0 պահելու համար; // օգտագործվում է լարման արժեքը պահելու համար
դատարկ կարգավորում ()
{lcd.begin (16, 2); analogReference (EXTERNAL); // օգտագործել AREF- ը հղման լարման համար}
դատարկ շրջան ()
{lcd.clear (); analogamount = analogRead (անալոգային մուտքագրում); տոկոս = (անալոգային քանակ/1024.00)*100; լարման = անալոգային քանակ*3.222; // միլիվոլտերում lcd.setCursor (0, 0); lcd.print ("% AREF:"); lcd.print (տոկոս, 2); lcd.setCursor (0, 1); lcd.print ("A0 (mV):"); lcd.println (լարման, 2); ուշացում (250); }
Վերոնշյալ ուրվագծի արդյունքները ցուցադրվում են տեսանյութում:
Քայլ 5: Ներքին AREF
Մեր Arduino- ի տախտակների վրա գտնվող միկրոկոնտրոլերները կարող են նաև առաջացնել 1.1 Վ ներքին լարման լարում, և մենք կարող ենք դա օգտագործել AREF- ի աշխատանքի համար: Պարզապես օգտագործեք տողը.
analogReference (INTERNAL);
Arduino Mega տախտակների համար օգտագործեք.
analogReference (INTERNAL1V1);
in void setup () և դու անջատված ես: Եթե դուք ունեք Arduino Mega, կա նաև 2.56 Վ հղման լարման առկայություն, որն ակտիվացված է.
analogReference (INTERNAL2V56);
Վերջապես, նախքան ձեր AREF քորոցի արդյունքները լուծելը, միշտ չափեք ընթերցումները հայտնի լավ մուլտիմետրի համեմատ:
Եզրակացություն
AREF գործառույթը ձեզ տալիս է ավելի մեծ ճկունություն անալոգային ազդանշանների չափման հետ:
Այս գրառումը ձեզ է բերել pmdway.com- ը `ամեն ինչ արտադրողների և էլեկտրոնիկայի սիրահարների համար` անվճար առաքում ամբողջ աշխարհով:
Խորհուրդ ենք տալիս:
Ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով մեկ անալոգային քորոց. 6 քայլ (նկարներով)
Ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով մեկ անալոգային քորոց: Այս ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով միայն մեկ անալոգային մուտքի քորոց:
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)
Միացված անջատիչ միացում UC- ով: Մեկ սեղմիչ կոճակ: Մեկ քորոց: Դիսկրետ բաղադրիչ. 5 քայլ
Միացված անջատիչ միացում UC- ով: Մեկ սեղմիչ կոճակ: Մեկ քորոց: Դիսկրետ բաղադրիչ. Բարև բոլորին, ցանցում փնտրում էի միացման/անջատման միացում: Այն, ինչ գտա, այն չէր, ինչ ես փնտրում էի: Ես խոսում էի ինքս ինձ հետ, անպայման դրա ճանապարհը կա: Դա այն էր, ինչ ինձ պետք էր: -Միակ մեկ կոճակ միացնելու և անջատելու համար: -Պետք է օգտագործել միայն
Լուսավորված անիմացիոն տոնական քորոց. 9 քայլ (նկարներով)
Lighted Animated Holiday Pin. Երբ ես առաջին անգամ նախագծեցի այս նախագիծը, ես չէի սպասում, որ այն կհրապարակեմ բաց աղբյուրներով: Ես մտածեցի, որ դա հիանալի գաղափար է և ունի առևտրային ներուժ, որպես իր, որը կարող եմ վաճառել արհեստների ցուցահանդեսում: Դա թերևս պայմանավորված է որոշակի բնածին փորձի բացակայությամբ կամ գուցե
Էլեկտրական շուշան կամ անվտանգության քորոց. Ինչպես լինել անվտանգ և լավ տեսք ունենալ դա անելիս. 9 քայլ (նկարներով)
Էլեկտրական շուշան կամ անվտանգության քորոց. Ինչպե՞ս լինել անվտանգ և լավ տեսք ունենալ: Դա արվում է: Սա ուսանելի է ինչպես զբոսնողների, այնպես էլ հեծանվորդների համար: Ով ուզում է, որ իրեն տեսնեն գիշերը և դեռ լավ տեսք ունենան: Տվեք այն ձեր ընկերուհուն, ձեր քրոջը, ձեր եղբորը, տնային տղային կամ նույնիսկ ձեր մայրիկին: Oneանկացած մարդ, ով ոճային է և քայլում է, վազում է կամ հեծանիվ է գիշերը