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

Arduino RFID դռան կողպեք. 5 քայլ (նկարներով)
Arduino RFID դռան կողպեք. 5 քայլ (նկարներով)

Video: Arduino RFID դռան կողպեք. 5 քայլ (նկարներով)

Video: Arduino RFID դռան կողպեք. 5 քայլ (նկարներով)
Video: TonUINO - Arduino-RFID-MP3-Player 2024, Նոյեմբեր
Anonim
Arduino RFID դռան կողպեք
Arduino RFID դռան կողպեք
Arduino RFID դռան կողպեք
Arduino RFID դռան կողպեք
Arduino RFID դռան կողպեք
Arduino RFID դռան կողպեք
Arduino RFID դռան կողպեք
Arduino RFID դռան կողպեք

*** Թարմացվել է 8/9/2010 *** Ես ցանկանում էի իմ ավտոտնակ մուտք գործելու հեշտ և ապահով միջոց: RFID- ը դուռը բացելու լավագույն միջոցն էր, նույնիսկ լիքը ձեռքերով ես կարող եմ բացել դուռը և բացել այն: Ես կառուցեցի մի պարզ միացում հիմնական ATMega 168 arduino չիպով և ID-20 RFID ընթերցողով ՝ դռան էլեկտրոնային կողպեքը վերահսկելու համար: Շղթան բաղկացած է 3 առանձին մասերից, RFID պիտակներ կարդացող ընթերցողից, ընթերցողից տվյալներ ընդունող վերահսկիչից և վերահսկելու RGB LED- ի և Էլեկտրական դռան կողպեքի ելքը: Դռան կողպեքը նախ տեղադրվում է դռան մեջ և փորձարկվում է 9 վ մարտկոցով `ճիշտ տեղադրումն ապահովելու համար: Շատ դեպքերում դու սովորաբար ցանկանում ես միացում դռան կողպեքի վրա կամ ձախողել անվտանգ: Սա նշանակում է, որ դուռը կողպված է մնում, երբ դրա միջով հոսանք չի անցնում: Երբ 12vDC- ն անցնում է դռան կողպեքի էլեկտրամագնիսով, կողպեքի ափսեը տեղի է տալիս և թույլ է տալիս դուռն ազատորեն բացել: Ընթերցողը տեղադրված է դռան արտաքին մասում և ներսից անջատված է վերահսկիչից, որպեսզի ոչ ոք չկարողանա շրջանցել անվտանգությունը `բացելով Ընթերցողը և փորձելով կարճ միացնել ընթերցողին: Վերահսկիչը սերիական տվյալներ է ստանում Reader- ից և վերահսկում է RGB լուսարձակը և Դռան կողպեքը: Այս դեպքում ես երկուսն էլ դրել եմ առանձին հացի տախտակների վրա `փորձարկման համար: Ահա գործող համակարգի համակարգի տեսագրություն: Կարդացեք ՝ տեսնելու համար, թե ինչպես կարող եք կառուցել մեկը ձեր անձի համար: ** Թարմացում ** Բոլոր ծածկագրերը, սխեմաները և PCB նախագծերը փորձարկվել և կատարելագործվել են: Նրանք բոլորը տեղադրված են այստեղ 8/9/2010 դրությամբ տեղադրված և աշխատող վերջնական համակարգի թարմացված տեսանյութը:

Քայլ 1: Անհրաժեշտ մասեր

Պահանջվող մասեր
Պահանջվող մասեր

Ահա SparkFun.com- ի մասերի և հղումների ցանկ, որտեղից ես դրանք գնել եմ: Սա մասերի հիմնական հավաքածուն է, որը ձեզ հարկավոր է կառուցել և arduino- ն, և միացում `arduino- ում RFID պիտակներ կարդալու համար: Ենթադրում եմ, որ դուք արդեն ունեք տախտակ, էլեկտրամատակարարում և միացման լարեր:

Arduino Stuff

ATmega168- ը Arduino Bootloader- ով 4.95 դոլար

Բյուրեղյա 16 ՄՀց 1,50 դոլար

Կերամիկական կոնդենսատոր 22pF $ 0.25 (x2)

Ռեզիստոր 10k Օմ 1/6 -րդ Վտ PTH 0.25 դոլար

Mini Push Button Switch 0.35 դոլար

Եռակի ելքային LED RGB - ցրված 1,95 դոլար

RFID իրեր

Սրանցից որևէ մեկին, 20-ն ավելի լավ տիրույթ ունի, 12-ը ՝ ավելի փոքր: RFID Reader ID-12 29.95 $ RFID Reader ID-20 34.95 $

RFID Reader Breakout 0.95 դոլար

Break Away Headers - Ուղիղ $ 2.50

RFID պիտակ - 125kHz 1.95 դոլար

Այլ

TIP31A տրանզիստոր (ռադիո տնակ/էլեկտրոնիկայի խանութ 1,50 $)

Door Lock- ը ebay- ից է: Դռան ձախողում Անվտանգ մուտքի հսկողություն Electric Strike v5 17,50 ԱՄՆ դոլար (kawamall, bay)

Քայլ 2: Կառուցեք Arduino վերահսկիչ

Կառուցեք Arduino վերահսկիչ
Կառուցեք Arduino վերահսկիչ
Կառուցեք Arduino վերահսկիչ
Կառուցեք Arduino վերահսկիչ
Կառուցեք Arduino վերահսկիչ
Կառուցեք Arduino վերահսկիչ

Հիմնական Arduino- ով RFID դռան կողպեք կառուցելու առաջին քայլը հիմնական աշխատանքային արդուինոյի հացաթխումն է: Arduino- ի նախապես առկայծված ATMega 168 չիպերի մեծ մասը գալիս է նախապես տեղադրված թարթման կանխադրված ծրագրով: Միացրեք LED- ը թվային ելքին 13 և ստուգեք, որ ամեն ինչ աշխատում է:

Այս RFID ընթերցողի ապարատային մասը չափազանց պարզ կլիներ, եթե օգտագործեինք սովորական arduino- ն `ներկառուցված USB ծրագրավորմամբ: Քանի որ ես մտադիր եմ սա դնել պատի մեջ և նորից չդիպչել նրան, ես չեմ ուզում օգտագործել մեծ $ 30 arduino տախտակ, երբ կարող եմ գնել $ 5 ATMega 168 և պատրաստել շատ ավելի փոքր անհատական PCB:

Քանի որ ես որոշեցի ինքս պատրաստել հիմնական Arduino միացում, ինձ պետք է արտաքին USB-> Serial FDIT ծրագրավորող: Ես ներառել եմ վերահսկիչի Eagle սխեմաները ՝ հոսանքի աղբյուրով, որը կառուցված է 7805 լարման կարգավորիչից: Փորձարկման ժամանակ ես օգտագործեցի հացի տախտակի էլեկտրամատակարարում:

Արդուինոն գործարկելու համար անհրաժեշտ է միայն ATMega168- ը, որի վրա առկայծել է arduino ծրագրակազմը, 2x 22pF կոնդենսատորներ, 16 մՀց բյուրեղյա, 10k օհմ ռեզիստոր, սեղմիչ կոճակ և տախտակ: Դրա կապը լավ հայտնի է, բայց ես ներառել եմ սխեմայի ամբողջ սխեման:

Արդուինոն պատրաստվում է գործարկել 4 ելք ՝ 1 -ական կարմիր/կանաչ/կապույտ LED- ների համար, իսկ 1 -ը ՝ TIP31A- ի դռան կողպեքին 12vDC ուղարկելու համար: Արդուինոն սերիական տվյալներ է ստանում իր Rx տողում ID-20 RFID ընթերցողից:

Քայլ 3: Կառուցեք RFID ընթերցող

Կառուցեք RFID ընթերցող
Կառուցեք RFID ընթերցող
Կառուցեք RFID ընթերցող
Կառուցեք RFID ընթերցող
Կառուցեք RFID ընթերցող
Կառուցեք RFID ընթերցող

Այժմ, երբ ձեր arduino հացը նստած եք և աշխատում եք, կարող եք միավորել միացման RFID ընթերցողի այն հատվածը, որը կպարունակի ID-10 կամ ID-20 և RGB LED- ը ՝ միացման կարգավիճակը նշելու համար: Հիշեք, որ ընթերցողը կլինի դրսում և անջատված կլինի վերահսկիչից ներսում, որպեսզի ինչ -որ մեկը հեշտությամբ չկարողանա ներխուժել:

Սա կառուցելու համար մենք պատրաստվում ենք 5v/Ground- ը ուղարկել հիմնական հացի տախտակից դեպի երկրորդական հացի տախտակ, որի վրա մենք կառուցում ենք Reader- ը: Նաև ուղարկեք ավելի քան 3 լար arduino ելքային 3 կապիչներից ՝ RGB LED- ը վերահսկելու համար, յուրաքանչյուրը յուրաքանչյուր գույնի համար: Եվս մեկ մետաղալար ՝ նկարներում պատկերված Բրաունը, սերիական կապ կլինի ID-20- ի համար, որպեսզի խոսի arduino- ի Rx սերիական մուտքի հետ: Սա միացման շատ պարզ միացում է: LED- ները ստանում են ռեզիստորներ և ID-20- ի մի քանի միավոր կապված են գետնին/5 վ ՝ ճիշտ կարգավիճակը սահմանելու համար:

ID-10/ID-20 Sparkfun- ը հացաթխելն ավելի դյուրին դարձնելու համար վաճառում է Breakout տախտակ, որը թույլ է տալիս կցել ավելի երկար կապող վերնագրեր, որոնք տեղակայված են հացի տախտակին համապատասխան: Այս մասը և մատնահետքերը և նշված են մասերի ցանկում:

Սխեման պետք է լինի նեղ առաջ և հեշտ հետևել:

Քայլ 4: !րագիր:

Arամանակն է ծրագրավորել ձեր arduino- ն: Սա կարող է մի փոքր բարդ լինել հիմնական arduino- ի միջոցով, գուցե ստիպված լինեք մի քանի անգամ սեղմել վերակայման կոճակը բեռնման առաջին մասից առաջ և ընթացքում: Շատ կարևոր բան, որը պետք է հիշել, դուք կստանաք վերբեռնման սխալ, եթե ժամանակավորապես չջատվեք ID-20 սերիական գիծը arduino- ի Rx գծին: ATMega168- ն ունի միայն 1 Rx մուտք և այն օգտագործում է ծրագրավորողի հետ խոսելու համար կոդը վերբեռնելու համար: Անջատեք ID-20- ը ծրագրավորման ընթացքում, այնուհետև միացրեք այն միացնելուց հետո: Ես օգտագործել եմ FTDI ծրագրավորող, որը թույլ է տալիս arduino- ն USB- ով ծրագրավորել ընդամենը 4 լարով: Controller- ի սխեման ցույց է տալիս կապի վերնագրի միացում, որը թույլ է տալիս ուղղակիորեն միացնել այն: Sparkfun- ը նույնպես վաճառում է այս հատվածը, բայց շատերը կարող են այն արդեն ունենալ:

Դուք կարող եք հեշտությամբ վերբեռնել իմ կոդը ձեր arduino- ում և երբեք հետ չնայել, բայց ո՞րն է դրա զվարճանքը: Թույլ տվեք բացատրել այն հիմնական գաղափարը, թե ինչպես է այն աշխատում:

Նախևառաջ, ես չէի ուզում որևէ արտաքին կոճակ/անջատիչ/և այլն, և չէի ցանկանում վերադասավորել arduino- ն ամեն անգամ, երբ ուզում էի նոր քարտ ավելացնել: Հետևաբար, ես ուզում էի օգտագործել միայն RFID- ը `շղթայի աշխատանքը վերահսկելու, ինչպես նաև դռան կողպեքը վերահսկելու համար:

Turnsրագիրը միացնում է Կապույտ LED- ը `նշելու, որ պատրաստ է կարդալ նոր քարտ: Երբ քարտը կարդացվում է, այն որոշում է `դա վավեր քարտ է, թե ոչ` համեմատելով կարդացածը վավեր քարտերի ցանկի հետ: Եթե օգտագործողը վավեր է, arduino- ն անջատում է կապույտ LED- ն և միացնում կանաչ LED- ը 5 վայրկյան: Այն նաև միացնում է մեկ այլ բարձր թողունակություն 5 վայրկյանով: Այս ելքը միացված է TIP31A տրանզիստորին և թույլ է տալիս փոքրիկ arduino- ին կառավարել շատ ավելի մեծ 12v 300mA դռան կողպեք ՝ առանց վնասվելու: 5 վայրկյան անց դռան կողպեքը նորից կողպվում է, և LED- ը կրկին դառնում է կապույտ, որպեսզի սպասի մեկ այլ քարտի ընթերցմանը: Եթե քարտը անվավեր է, ապա LED- ը մի քանի վայրկյան փոխվում է RED- ի և կրկին դառնում է Կապույտ `սպասելու մեկ այլ քարտի:

Կարևոր է, որ դռան կողպեքը դեռ աշխատի, նույնիսկ եթե arduino- ն մեկ գիշերվա ընթացքում կորցնի էներգիան կամ վերականգնվի: Հետևաբար, բոլոր վավեր քարտերի ID- ները պահվում են EEPROM հիշողության մեջ: ATMega168- ն ունի 512 բայթ EEPROM հիշողություն: Յուրաքանչյուր RFID քարտ ունի 5 Hex Byte սերիական համար և 1 Hex Byte Check գումար, որը մենք կարող ենք օգտագործել `հաստատելու համար, որ ID-20- ի և arduino- ի միջև փոխանցման մեջ սխալներ չեն եղել:

Վավեր քարտերը պահվում են EEPROM- ում ՝ օգտագործելով առաջին բայթը որպես հաշվիչ: Օրինակ, եթե պահվեն 3 վավեր քարտեր, առաջին բայթը EEPROM- ում կլինի 3. EEPROM.read (0); = 3. Սա իմանալով, և այն փաստը, որ յուրաքանչյուր ID- ի երկարությունը 5 բայթ է, մենք գիտենք, որ 1-5-ը առաջին քարտն է, 6-10-ը `քարտ 2-ը, իսկ 11-15-ը` քարտ 3-ը: Մենք կարող ենք հանգույց կազմել, որը նայում է EEPROM- ին: Միաժամանակ 5 բայթ և փորձում է գտնել ընթերցողի կողմից կարդացած քարտը:

Բայց ինչպես կարող ենք նոր քարտեր ավելացնել EEPROM- ին `միացումը տեղադրվելուց հետո: Ես կարդացել եմ իմ ունեցած RFID քարտերից մեկում և դժվարությամբ այն ծածկագրել եմ որպես հիմնական RFID քարտ: Այսպիսով, նույնիսկ եթե ամբողջ EEPROM- ը ջնջվի, գլխավոր քարտը դեռ կաշխատի: Ամեն անգամ, երբ քարտը կարդում են, այն նախ ստուգում է ՝ արդյոք դա Master քարտն է, եթե ոչ, ապա այն շարունակում է տեսնել ՝ արդյոք դա վավեր քարտ է, թե ոչ: Եթե քարտը գլխավոր քարտն է, մենք պետք է arduino- ն անցնենք «ծրագրավորման ռեժիմի», որտեղ այն թարթում է RGB- ով և սպասում է մեկ այլ վավեր պիտակի ընթերցմանը: Հաջորդ պիտակը, որը կարդացվում է, ավելացվում է EEPROM- ի հաջորդ անվճար տեղում և հաշվիչը ավելանում է 1 -ով, եթե քարտը դեռ գոյություն չունի EEPROM հիշողության մեջ: Դրանից հետո ընթերցողը վերադառնում է նորմալ ռեժիմի և սպասում նոր քարտի ընթերցմանը:

Ներկայումս ես չեմ ծրագրել քարտը ջնջելու միջոց, քանի որ, ամենայն հավանականությամբ, քարտը ջնջելու պատճառը կորած կամ գողացված լինելն է: Քանի որ սա, ամենայն հավանականությամբ, կօգտագործվի 1-10 հոգու դեպքում, ամենահեշտ բանը կլինի ծրագրավորել Master Erase քարտ, որը կջնջի EEPROM- ից բոլոր քարտերը, այնուհետև դրանք նորից կավելացնի, ինչը տևում է ընդամենը մի քանի վայրկյան: Ես ավելացրել եմ ծածկագիրը EEPROM- ը մաքրելու համար, բայց դեռ չեմ կիրառել այս հնարավորությունը:.

Կոդը կցվում է տեքստային ֆայլում `մասերի ցանկի պատճենի հետ միասին:

Քայլ 5: Ընդլայնել

Սա միայն այն հիանալի բաներից է, որ կարող եք անել RFID- ով: Դուք կարող եք դա շատ ավելի ընդլայնել LCD ելքով, մուտքագրելով ով և երբ է մտնում, ցանց/թվիթեր կապ և այլն: Ես նախկինում երբեք PCB չեմ պատրաստել, ուստի դեռ աշխատում եմ մասերի նախագծման և դասավորության վրա: Երբ դրանք ամբողջական լինեն, դրանք նույնպես կտեղադրեմ: Ես խրախուսում եմ որևէ մեկին վերցնել իմ գրած ծածկագիրը և փոփոխել այն ՝ էլ ավելի հիանալի բաներ անելու համար:

Արդուինոյի մրցույթի եզրափակիչ մասնակից

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