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

Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող փին կոդը ՝ 7 քայլ
Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող փին կոդը ՝ 7 քայլ

Video: Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող փին կոդը ՝ 7 քայլ

Video: Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող փին կոդը ՝ 7 քայլ
Video: Zigbee լույսի, ջերմաստիճանի և խոնավության սենսոր Moes էլեկտրոնային թանաքի էկրանով 2024, Նոյեմբեր
Anonim
Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող PIN կոդով
Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող PIN կոդով
Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող PIN կոդով
Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող PIN կոդով
Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող PIN կոդով
Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող PIN կոդով
Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող PIN կոդով
Էլեկտրոնային անվտանգության համակարգ RTC- ով և օգտագործողի կողմից սահմանվող PIN կոդով

Ողջույն տղաներ!

Սա այն նախագիծն է, որը ես արել եմ ՝ օգտագործելով միկրոկոնտրոլերը ՝ դա Էլեկտրոնային PIN կոդի անվտանգության համակարգ է ՝ իրական ժամանակի ժամացույցով և օգտվողի կողմից սահմանվող փին -կոդի գործառույթներով: Այս էջը պարունակում է բոլոր մանրամասները ՝ ինքներդ մեկը պատրաստելու համար:

ԻՐ ԱՇԽԱՏԱՆՔԸ ԵՎ ՀԱՍԿԱՈԹՅՈՆԸ.

Դե, անվտանգության համակարգը միացնելով, այն կպահանջի PINCODE դարպասը բացելու համար (այն 140595 է), եթե այն ճիշտ մուտքագրեք, դուռը կբացվի: Դուռը բացվում է ընդամենը 1 րոպե, այնուհետև կրկին փակվում է: Եթե սխալ մուտքագրեք PIN կոդը, Անվտանգության համակարգը ձեզ կտա ևս 3 հնարավորություն, եթե բոլոր հնարավորությունները վատնվեն, այն միանում է բզզոցին և խնդրում է այլընտրանքային կոդ ՝ ազդանշանը դադարեցնելու համար, եթե այս այլընտրանքային ծածկագիրը (այսինքն ՝ 1984 թ.) Ճիշտ է մուտքագրված, ապա.

1) Այն դադարում է բզզոցը

2) Վերականգնում է սկզբնական կոդը, որը 140595 էր

3) խնդրում է նոր ծածկագիր փոխարինել սկզբնական կոդը, որը 140595 էր (ոչ ավելի, քան 6 թվանշան)

այժմ դարպասը կբացվի այս նոր ծածկագրով:

Ենթադրենք, սխալ այլընտրանքային կոդ է տեղադրված, ապա Համակարգը խնդրում է սպասել հետհաշվարկի 1 րոպե, որի ընթացքում բոլոր կոճակներն անջատված են, և ահազանգը շարունակում է զանգել:

ՏԵՍԱՆՅՈԹ

www.youtube.com/watch?v=O0lYVIN-CJY&t=5s

ԼԱՎ, ԹՈՆՈ ONEՄ ԵՆՔ ՄԵԿ …

Նախքան սկսելը, ես ենթադրում եմ, որ դուք արդեն ունեք C լեզվի հիմնական իմացություն և նախկինում աշխատել եք MikroC pro- ում, և որ դուք գիտեք, թե ինչպես փայլել LED- ը, ինչպես միացնել LCD- ը PIC միկրոկառավարիչի հետ: Լավ, եկեք սկսենք:

Քայլ 1: Բաղադրիչների հավաքում

Բաղադրիչների հավաքում
Բաղադրիչների հավաքում

PROՐԱԳԻՐ. S. No. | ՔԱՆԱԿԸ | ՄԱՍՆԱԿՈԹՅՈՆ | ԻՆՖՈ

1) 1 16x2 LCD Pin 14 դեպի Pin 1, ապա Pin 15 և Pin 16 կապում փաթեթ:

2) 1 PIC18F4550 միկրոկոնտրոլեր

3) 1 PCF8583 Իրական ժամանակի ժամացույց (RTC) IC

4) 14 վերակայման կոճակ Ստեղնաշարի փոխարեն ես օգտագործել եմ վերակայման կոճակներ

5) 1 9 վ մարտկոցի հիմնական սնուցման աղբյուր:

6) 1 10K Օմ կաթսա LCD- ի հակադրություն սահմանելու համար

7) 2 3.5 մմ աուդիո խցիկ `ազդանշանի և դարպասի արտաքին միացման համար

8) 1 100uF կոնդենսատոր Ceremic կափարիչ `pin1 վերահսկիչով օգտագործելու համար:

9) 1 32.682kHz բյուրեղ PCF8583 IC- ի համար

10) 1 DC Power Jack Եթե օգտագործում եք նախագիծ DC ադապտերով

11) 1 IC7805 9V- ը 5V- ի փոխակերպելու համար

12) 1 1 Օմ Ohm ռեզիստոր `վերահսկիչ PIN1- ով օգտագործելու համար:

13) 3 10K Ohm ռեզիստոր `վերահսկիչի pin1- ով և RTC IC- ով օգտագործելու համար

14) 13 220 Օմ դիմադրության յուրաքանչյուր կոճակ կօգտագործի 1 220 Օմ, ես ավելի ուշ կբացատրեմ

15) 1 3V բջիջ `RTC IC- ով օգտագործելու համար

16) 1 TICK TICK անջատիչ

17) 1 PCB տախտակ `ձեր ընտրությամբ, եթե verro- ում հարմարավետ եք, լավ է:

18) 1 8 փին DIP RTC IC- ի համար

19) PIC184550- ի համար 1 40 փին DIP կամ, եթե ցանկանում եք, կարող եք Zip վարդակից

20) 1 3V բջջի ամրակ

21) 1 9V մարտկոցի կրիչ

22) 1 արական վերնագիր `LCD- ով զոդման համար

23) 1 կին վերնագիր `PCB- ի կամ verro- ի վրա զոդման համար, որտեղ տեղադրվելու է LCD- ը:

ԱՅԼ ՄԱՍՆԵՐ.

20) փորձարկման համար նախատեսված գրատախտակ

21) Sոդման երկաթ

22) Sոդման մետաղալար

23) PIC ծրագրավորող (կամ PICKIT2)

24) փորագրման լուծույթ (PCB- ի համար)

25) PCB փորվածք

26) բազմաչափ

Մտածեք, որ կնկատեք, որ ես բյուրեղ չեմ ներառել PIC միկրոկոնտրոլերի համար: Դե, որովհետև ես օգտագործել եմ PIC18F4550- ի ներքին տատանումները

ԱՅՍ ԲՈԼՈՐԸ…! ՀԻՄԱ ԹՈET ԱՆԵՆՔ…

Քայլ 2. ԹԵՍՈ PROՄ PROTEUS- ի վրա

ԹԵՍՏ PROTEUS- ի վրա
ԹԵՍՏ PROTEUS- ի վրա
ԹԵՍՏ PROTEUS- ի վրա
ԹԵՍՏ PROTEUS- ի վրա

Դուք կարող եք փորձարկել միացումը proteus- ի վրա, այնպես որ կարող եք պատկերացում կազմել նախագծի մասին:

Proteus ֆայլը կպահանջի վեցանկյուն ֆայլ PIC միկրոկառավարիչի համար:

Երկու ֆայլերն էլ տրամադրված են:

Քայլ 3: PCB- ի պատրաստում

PCB- ի պատրաստում
PCB- ի պատրաստում

Ես ձեզ խորհուրդ կտամ այս նախագիծը կառուցել PCB- ի վրա, մի օգտագործեք verroboard:

Տպեք այս PCB- ն, այն նախագծվել է Cadsoft Eagle- ի վրա իմ կողմից: Եթե ունեք cadsoft eagle տեղադրված, բացեք brd ֆայլը (ներբեռնեք ստորև) և ստեղծեք ֆայլ ՝ ըստ ձեր էջի չափի պահանջի:

Հակառակ դեպքում ես կցել եմ երկու ֆայլ A4- ի վրա, իսկ մյուսը `A5, տպել և ստուգել տեղի բաղադրիչները, այնուհետև տպել ձեր PCB- ն: Ես դա խնդրում եմ, քանի որ կարող է լինել էջի մասշտաբի գործոն:

EԱՆՈԹՈԹՅՈՆ. Դուք կարող եք նախագիծը միացնել կամ մարտկոցով, որը պետք է միացված լինի միակցիչին 7805 -ի մոտակայքում, զգուշացեք բևեռականությունից: ԿԱՄ Դուք կարող եք նախագիծը միացնել ադապտորի միջոցով DC Power վարդակից: Էլեկտրաէներգիայի աղբյուրները կարող են փոխվել տիզ նշման կոճակի միջոցով, երբ կոճակը տեղադրված է շրջանի ներսում, սնուցվում է արտաքին աղբյուրից միակցիչի միջոցով, երբ կոճակը դուրս է մղվում հոսանքի հոսանքից դուրս ՝ DC հոսանքի վարդակից:

Քայլ 4: oldոդման բաղադրիչներ

Sոդման բաղադրիչներ
Sոդման բաղադրիչներ
Sոդման բաղադրիչներ
Sոդման բաղադրիչներ
Sոդման բաղադրիչներ
Sոդման բաղադրիչներ
Sոդման բաղադրիչներ
Sոդման բաղադրիչներ

Componentsոդեք բոլոր բաղադրիչները, տես կցված նկարները:

Ինչ -որ բան պետք է ասեմ ձեզ, քանի որ proteus- ը իդեալական է, այդ իսկ պատճառով կոճակները միացված են անմիջապես միկրոկոնտրոլերի պինին ՝ առանց դիմադրության:

Բայց իրական կյանքում աղմուկի գործոն գոյություն ունի:

Ինչպես ենթադրենք, այս նախագծում, եթե մեկ անգամ սեղմեք 4 կոճակը, proteus- ով LCD- ով կստանաք 4, իսկ եթե իրական կյանքում սեղմեք, աղմուկի պատճառով LCD- ով կստանաք 44444444: Դա հանելու համար pcb- ն պարունակում է 220 Օմ դիմադրություն յուրաքանչյուր կոճակով:

Քայլ 5. mingրագրավորում RTC IC PCF8583

TCրագրավորում RTC IC PCF8583
TCրագրավորում RTC IC PCF8583

Լավ, սա մի փոքր բարդ բան է, բայց քանի որ ծածկագիրը տրամադրված է, այնքան էլ բարդ չի լինի: Ես չեմ տվել. Hex ֆայլ RTC IC- ի ծրագրավորման համար, քանի որ այն պետք է գեներացնեք `պահանջվող ժամանակը սահմանելու համար, ինչպես նաև տարին նշանակված է 2015 -ին, այն պետք չէ սահմանել:

Բացեք mikroC Pro- ն PIC- ից և ընտրեք PIC18F4550, պատճենեք և տեղադրեք ստորև նշված ծածկագիրը.

// LCD մոդուլի միացումներ Sbit LCD_RS ժամը RB2_bit;

sbit LCD_EN ժամը RB3_bit;

sbit LCD_D4 ժամը RB4_bit;

sbit LCD_D5 ժամը RB5_bit;

sbit LCD_D6 ժամը RB6_bit;

sbit LCD_D7 ժամը RB7_bit;

sbit LCD_RS_Direction at TRISB2_bit;

sbit LCD_EN_ Ուղղություն TRISB3_bit;

sbit LCD_D4_ Ուղղություն TRISB4_bit;

sbit LCD_D5_ Ուղղություն TRISB5_bit;

sbit LCD_D6_ Ուղղություն TRISB6_bit;

sbit LCD_D7_Direction at TRISB7_bit;

// Վերջ LCD մոդուլի միացումներին

դատարկ հիմնական () {

ADCON1 = 0x0F;

CMCON | = 7; // Անջատել համեմատողներին

OSCCON = 0b01111111; // Ներքին Oscilator @ 8MHz օգտագործմամբ

TRISB = 0x00; // PORTB ելքի համար (LCD)

LATB = 0xFF; // PORTC մուտքագրման համար

LATC = 0xFF; // PORTD մուտքագրման համար

TRISA. RA2 = 0; // RA2 ելքի համար

TRISA. RA3 = 0; // RA3 ելքի համար

UCON. USBEN = 0; // Անջատել usb UCFG. UTRDIS = 1;

TRISD = 0xF9; // PORTD արտադրանք

Lcd_Init (); // LCD- ի սկզբնականացում

Lcd_Cmd (_LCD_CLEAR); // Մաքրել ցուցադրումը

Lcd_Cmd (_LCD_CURSOR_OFF); // Կուրսորը անջատված է

Lcd_Out (1, 1, «tingամանակը կարգավորելը …»);

Delay_ms (1000);

I2C1_Init (100000); // սկզբնականացնել ամբողջական վարպետության ռեժիմը

I2C1_Start (); // թողարկման մեկնարկի ազդանշան

I2C1_Wr (0xA0); // հասցե PCF8583

I2C1_Wr (0); // սկսել բառից 0 հասցեում (կազմաձևման բառ)

I2C1_Wr (0x80); // կազմաձևելու համար գրեք $ 80: (դադար հաշվիչ…)

I2C1_Wr (0); // գրել 0 ցենտ բառին

I2C1_Wr (0); // գրել 0 վայրկյան բառ

I2C1_Wr (0x10); // ՓՈԽԵԼ ԱՅՍ 10 -ը ցանկացած րոպեի վրա, որը ցանկանում եք սահմանել

I2C1_Wr (0x17); // ՓՈԽԵԼ ԱՅՍ 17 -ը ցանկացած ժամի, որը ցանկանում եք սահմանել

I2C1_Wr (0x23); // ՓՈՓՈԽԵԼ ԱՅՍ 23 -ը ցանկացած ամսաթվի, որը ցանկանում եք սահմանել

I2C1_Wr (0x2); // ՓՈԽԵԼ ԱՅՍ 2 -ը ցանկացած ամսվա, որը ցանկանում եք սահմանել

I2C1_Stop (); // թողարկել կանգառի ազդանշան

I2C1_Start (); // թողարկման մեկնարկի ազդանշան

I2C1_Wr (0xA0); // հասցե PCF8530

I2C1_Wr (0); // սկսել բառից 0 հասցեով

I2C1_Wr (0); // գրել 0 ՝ բառը կազմաձևելու համար (միացնել հաշվելը)

I2C1_Stop (); // թողարկել կանգառի ազդանշան

Lcd_Cmd (_LCD_CLEAR);

Lcd_Out (1, 1, «Setամանակը սահմանված է!»);

Delay_ms (500);

}

_END Կոդ _

Ստեղծեք վեցանկյուն ֆայլ Mikroc Pro- ից PIC- ի համար ՝ վերը նշված կոդը կազմելուց հետո, այն այրեք PIC18F4550- ի միկրոկոնտրոլերի վրա:

Տեղադրեք այն բոլոր բաղադրիչներով զոդված pcb- ի վրա, միացրեք այն: LCD- ը պետք է ցուցադրի «Setting Time…», այնուհետև, երբ ցուցադրի «Time Set!»: անջատել հոսանքը. Հեռացրեք PIC միկրոկառավարիչը DIP- ից, որը հաջողությամբ ծրագրավորել է PCF8583 RTC IC- ն::)

Քայլ 6. mingրագրավորում PIC18F4550

Mingրագրավորում PIC18F4550
Mingրագրավորում PIC18F4550

Դե, վեցանկյուն ֆայլն արդեն տրամադրված է Step2- ում: Դուք կարող եք այն այրել ձեր PIC18F4550- ում `PIC ծրագրավորողի միջոցով:

Քայլ 7: Վերջին քայլ և վերջնական թեստ…

Ստորին աջ 3.5 մմ աուդիո խցիկին ամրացրեք լուսադիոդ, իսկ վերևի աջ 3.5 մմ խցիկին ՝ ազդանշան: Տեղադրեք ծրագրավորված PIC18F4550- ը pcb- ի վրա և միացրեք էներգիան:

Երբ ճիշտ կոդը մուտքագրվում է, տրամաբանությունը 1 -ը ցածր led- ին է տալիս, ես ենթադրեցի, որ տրամաբանություն 1 -ին led- ին տալով այն բացում է դարպասը:

Դուք Էլեկտրոնային անվտանգության համակարգը պետք է պատրաստ լինեք հիմա…! Եվ եթե ամեն ինչ ճիշտ եք արել, ապա այն պետք է լավ աշխատի:

Խնդրում եմ հավանել և հետևել իմ ֆեյսբուքյան էջին ՝

www.facebook.com/pg/ElectronicProjectsbySh…

Իմ բլոգի կայքը.

epshahrukh.blogspot.com/

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