Arduino- ի օգնությամբ դուք կարող եք 15 րոպեում տանը պատրաստել ինտերկոմի ստեղնաշարի պատճենը, եթե, օրինակ, արհեստանոցը փակ է, և բանալին շտապ անհրաժեշտ է: Տեսնենք, թե ինչպես է դա արվում:
Դա անհրաժեշտ է
- - Arduino;
- - համակարգիչ;
- - iButton կամ 1-լար տիպի ինտերկոմի բանալին;
- - կեղծ բանալին ՝ բնօրինակ բանալու «կլոն» ստեղծելու համար;
- - 1 դիմադրություն 2, 2 կՕմ դիմադրությամբ;
- - լարերը միացնող:
Հրահանգներ
Քայլ 1
Ինտերկոմի յուրաքանչյուր բանալին ունի իր համարը. Հենց այս համարն է, որ ծառայում է որպես բանալին նույնացուցիչ: Դա հիմնական համարով է, որ որոշում է ինտերկոմը `ձեր կամ ուրիշի: Հետեւաբար, պատճենահանման ալգորիթմը հետևյալն է. Նախ պետք է պարզել «թույլատրված» ստեղնի համարը, այնուհետև այս համարը նշանակել մեկ այլ բանալիի `կլոն: Ինտերկոմի համար տարբերություն չկա `բնօրինակ բանալին կամ դրա պատճենը կցված է եղել: Համարը իր համարների լիազոր շտեմարանով ստուգելուց հետո նա կբացի դուռը:
Ինտերկոմի ստեղները, որոնք մենք միացնելու ենք Arduino- ին (երբեմն անվանում են iButton կամ Touch Memory), կարդում և գրվում են 1-մետաղալար 1-լար միջերեսի վրա: Հետեւաբար, էլեկտրագծերի դիագրամը շատ պարզ է: Մեզ պետք է ընդամենը մի զույգ լարեր և 2.2K քաշիչ դիմադրություն: Դիագրամը ներկայացված է նկարում:
Քայլ 2
1-մետաղալար ինտերֆեյսի հետ աշխատելու համար Arduino- ի համար կան պատրաստի գրադարաններ: Կարող եք օգտագործել, օրինակ, այս մեկը ՝ https://www.pjrc.com/teensy/arduino_libraries/OneWire.zip: Ներբեռնեք արխիվը և փաթեթավորեք այն «գրադարաններ» պանակում, որը գտնվում է Arduino IDE գրացուցակում: Այժմ մենք շատ հեշտությամբ կարող ենք աշխատել այս արձանագրության հետ:
Պատկերում ցույց տրված ուրվագիծը բեռնեք ստանդարտ ձևով Arduino:
Քայլ 3
Այս ուրվագիծը ցույց է տալիս ինտերկոմի առանցքային համարը, որը միացված է շղթային: Սա է մեզ անհրաժեշտ հիմա. Մենք պետք է պարզենք այն բանալին, որի համար ցանկանում ենք պատճենել: Միացրեք Arduino- ն ձեր համակարգչին: Եկեք սկսենք սերիական պորտի մոնիտորը. Գործիքներ -> Սերիական պորտի մոնիտոր (կամ ստեղնաշարի դյուրանցում Ctrl + Shift + M):
Հիմա եկեք բանալին միացնենք շղթային: Պորտի մոնիտորը ցույց կտա հիմնական համարը: Հիշենք այս թիվը:
Քայլ 4
Այժմ եկեք վերաշարադրենք ուրվագիծը, որպեսզի այն կարողանա տվյալներ գրել ստեղնային հիշողության մեջ: Կոդը ներկայացված է նկարում: Մանրամասն մեկնաբանությունները տրված են ծածկագրում: Ամենակարևորը, մի մոռացեք ձեր բուն բանալու համարը դնել key_to_write զանգվածում, որը դուք սովորել եք մի փոքր շուտ:
Քայլ 5
Վերբեռնեք այս ուրվագիծը Arduino- ում: Եկեք բացենք սերիական նավահանգստի մոնիտորը: Եկեք մի ստեղ միացնենք շղթային, որը կլինի սկզբնական բանալու կլոն: Սերիայի պորտի մոնիտորը կցուցադրի հաղորդագրություն ծրագրավորման արդյունքի վերաբերյալ:
Քայլ 6
1) Եթե ուրվագիծը կազմելիս սխալ է տեղի ունեցել [WConstants.h. Ոչ մի այդպիսի ֆայլ կամ գրացուցակ # չի ներառում «WConstants.h»], ապա «OneWire.cpp» ֆայլում մեկնաբանություններից հետո առաջին բլոկը փոխարինեք հետևյալով.:
# ներառել «OneWire.h» - ը
# ներառել «Arduino.h»
արտաքին «C» {
# ներառել «avr / io.h»
# ներառել «կապում_արդուինո.հ»
}
2) Եթե կազմման ընթացքում «OneWire դասը չունի read_bytes անունով անդամ» կամ նմանատիպ սխալ է առաջացել, ապա գտեք մեկ այլ OneWire գրադարան, դրանցից շատերը կան Ինտերնետում: