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

Ինտերֆեյս պտտվող հեռախոսահամար Arduino- ին. 6 քայլ (նկարներով)
Ինտերֆեյս պտտվող հեռախոսահամար Arduino- ին. 6 քայլ (նկարներով)

Video: Ինտերֆեյս պտտվող հեռախոսահամար Arduino- ին. 6 քայլ (նկարներով)

Video: Ինտերֆեյս պտտվող հեռախոսահամար Arduino- ին. 6 քայլ (նկարներով)
Video: RAMPS 1.6 - Basics 2024, Նոյեմբեր
Anonim
Միացրեք պտտվող հեռախոսահամարը Arduino- ին
Միացրեք պտտվող հեռախոսահամարը Arduino- ին
Միացրեք պտտվող հեռախոսահամարը Arduino- ին
Միացրեք պտտվող հեռախոսահամարը Arduino- ին

Հին պտտվող հեռախոսը կարող է օգտագործվել մի շարք նպատակների համար ձեր Arduino նախագծերում. Օգտագործել այն որպես նոր մուտքագրման սարք, կամ օգտագործել Arduino- ն պտտվող հեռախոսը ձեր համակարգչին միացնելու համար: Սա շատ հիմնական ուղեցույց է, որը նկարագրում է, թե ինչպես միացնել միջերեսի հավաքիչը Arduino- ին և ստացեք, որ հավաքված համարը փոխանցվի համակարգչին Arduino- ի սերիական հղումով:

Քայլ 1: Հեռախոսահամարը հեռացրեք հեռախոսից

Հեռացրեք հավաքիչը հեռախոսից
Հեռացրեք հավաքիչը հեռախոսից
Հեռացրեք հավաքիչը հեռախոսից
Հեռացրեք հավաքիչը հեռախոսից
Հեռացրեք հավաքիչը հեռախոսից
Հեռացրեք հավաքիչը հեռախոսից

Առաջին քայլը հեռախոսի հեռախոսի հեռացումն է: Ես օգտագործում եմ 1970 -ականների GPO հեռախոս: Այս հեռախոսի վրա հավաքված հեռախոսն անմիջապես դուրս եկավ, ես պարզապես պետք է քաշքշել այն: Եթե դա այդպես չէ, գուցե ստիպված լինեք բացել հեռախոսը և պարզել, թե ինչպես կարելի է այն անջատել: Հավաքման միավորի հետևի մասում միացված էր հինգ մալուխ: Իմ հեռախոսում դրանք կանոնավոր բահի միացումներ էին, այնպես որ ես թուլացրեցի պտուտակները և հանեցի դրանք: Եթե ցանկանում եք նորից հավաքել ձեր հեռախոսը, հիշեք, որ գրանցեք, թե որ գույնի մետաղալարն է միանում:

Քայլ 2: Բացահայտեք անջատիչը

Բացահայտեք անջատիչը
Բացահայտեք անջատիչը

Հավաքիչի դուրս գալուց հետո պետք է համեմատաբար հեշտ լինի տեսնել, թե ինչպես է հավաքիչը պտտվող շարժումը փոխակերպում իմպուլսների: Փորձեք ձեռքով պտտել թվատախտակը և հետևել հետևի շարժմանը: Դուք պետք է տեսնեք մի անջատիչ, որն արագորեն միացնում և անջատում է մի շղթա, այնպես որ, եթե դուք հավաքեք «9», անջատիչը պետք է միանա ինը անգամ: Ձեզանից նրանց համար, ովքեր նախկինում երբեք չեն օգտագործել պտտվող հավաքիչ, հիշեք, որ հավաքելը տեղի է ունենում միայն այն ժամանակ, երբ թույլ եք տալիս գնացեք համարը և թողեք, որ այն վերադառնա:

Քայլ 3: Կատարեք շրջանը

Կատարեք շրջանը
Կատարեք շրջանը
Կատարեք շրջանը
Կատարեք շրջանը

Երբ դուք գտնում եք անջատիչը, որը պատրաստվում և կոտրվում է, դուք պետք է կարողանաք նույնականացնել միացումները ՝ հետևելով լարերին դեպի միացման տերմինալներ: Իմ դեպքում, անջատիչի երկու կողմերը միացված են երկու ամենա ձախ տերմինալներին: Միացրեք այս տերմինալները մի քանի ցատկող լարերի հետ և նախատիպավորեք: Հավաքիչիս անջատիչը միշտ միացված է և հավաքելիս կոտրված է յուրաքանչյուր զարկերակի համար, ուստի ես օգտագործեցի ստորև բերված շատ պարզ միացումը: Պին 2 -ը բարձրանալու է յուրաքանչյուր զարկերակի համար, երբ հավաքիչը պտտվում է: Երբ հեռախոսը չի հավաքվում, հավաքման միավորի անջատիչը փակ է (այսպես կոչված ՝ ՆՈՐՄԱԼԱԿԱՆ ՓԱԿ անջատիչ, ակնհայտ պատճառներով), ուստի միացումը միացնում է 2-րդ կապը գետնին (որը Arduino- ին OWԱOWՐ Է): Դա պայմանավորված է նրանով, որ 470 օմ դիմադրության միջոցով շատ ավելի քիչ դիմադրություն կա, քան 10K դիմադրիչը: Երբ հեռախոսը հավաքվում է, անջատիչը արագ բացվում և փակվում է (9 -ի դեպքում այն ինը անգամ կբացվի և կփակվի, հիշեք): Երբ անջատիչը բաց է, 2 -րդ կապը միացված չէ գետնին, փոխարենը այն միացված է 5 Վ լարման `10470 օմ դիմադրության միջոցով: Սա Arduino- ի կողմից մեկնաբանվում է որպես ԲԱՐՁՐ: Եթե ձեր հավաքիչն ունի ՆՈՐՄԱԼ ԲԱEN անջատիչ, ապա 10K ռեզիստորի դիրքերը փոխելով, իսկ հավաքիչը պետք է կատարի հնարքը:

Քայլ 4: Մշակեք ծածկագիրը

Մշակել օրենսգիրքը
Մշակել օրենսգիրքը

Այժմ մեզ Arduino- ի համար անհրաժեշտ է մի քանի կոդ ՝ իմպուլսները հաշվելու և սերիական պորտի միջոցով հետ ուղարկված հավաքված թվաքանակի ընդհանուր թիվը: Իմ կոդը ստորև: Քանի որ մենք գործ ունենք մեխանիկական գործերի հետ այստեղ, ձերն էլ կարող է տարբերվել: Փորձեք խաղալ դեբունսի հաստատունի և «որքան ենք սպասում, մինչև ենթադրենք, որ հավաքիչն ավարտել է պտտվելը» հաստատունի հետ: Ես փորձել եմ դա մեկնաբանել հնարավորինս կոկիկ: Հուսով եմ, որ այն բավականին պարզ է: void setup () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int reading = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// հավաքիչը չի հավաքվում, կամ նոր է ավարտվել: if (needToPrint) {// եթե այն պարզապես հավաքված է, մենք պետք է համարը ուղարկենք սերիական // տողից ներքև և վերականգնենք հաշվարկը: Մենք հաշվում ենք 10 -ով, քանի որ «0» -ը կուղարկի 10 իմպուլս: Serial.print (հաշվիչ % 10, DEC); needToPrint = 0; հաշվել = 0; մաքրված = 0; }} if (ընթերցում! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - դա տեղի է ունենում այն ժամանակ, երբ այն կայունանում է, եթե (ընթերցում է = trueState) {// սա նշանակում է, որ անջատիչը կամ պարզապես փակ-> բաց է, կամ հակառակը. trueState = ընթերցում; if (trueState == HIGH) {// ավելացրեք իմպուլսների քանակը, եթե այն բարձրացել է: հաշվել ++; needToPrint = 1; // մենք պետք է տպենք այս համարը (երբ հավաքիչի պտույտն ավարտվի)}}} lastState = ընթերցում;}

Քայլ 5: Ստուգեք, որ այն աշխատում է:

Ստուգեք, որ այն աշխատում է ՝ բացելով սերիական պատուհան (ես օգտագործում եմ էկրան unix մեքենայի վրա, գուցե ցանկանաք օգտագործել Hyperterm կամ նման Windows- ում) և փորձեք հավաքել որոշ թվեր: Համոզվեք, որ սերիալային ծրագիրը կարգավորված է USB- ից կարդալ- > սերիական ադապտեր ձեր Arduino- ում (ստուգեք Գործիքներ-> Serial Port ընտրացանկը Arduino ծրագրաշարում, եթե մոռանում եք, թե որն է դա) և 9600 բիթ / վրկ արագություն: Դուք պետք է տեսնեք, որ հավաքված համարի ճիշտ թիվը հայտնվի:

Քայլ 6: Կցեք այն օգտակար բանի մեջ:

Կցեք այն օգտակար բանի մեջ
Կցեք այն օգտակար բանի մեջ

Ես եկա Quartz Composer ֆայլով իմ Mac- ում ՝ ներածումը վերցնելու և այն գեղեցիկ մատուցելու էկրանին: Երբ այն հայտնվի մեքենայի մեջ որպես սերիական տվյալներ, դրա հետ կարող եք ամեն ինչ անել: Սպասելով ձեր մտքերը լսելուն: Ես հանդես կգամ դրա տեսահոլովակով «գործողության մեջ» և թվերը տպելու էկրանին, հենց որ ինչ -որ մեկին ձեռք բերեմ պահել տեսախցիկը ինձ համար - երանի ես երեք ձեռք ունենայի:

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