Სარჩევი:

ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრის პინ კოდი: 7 ნაბიჯი
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრის პინ კოდი: 7 ნაბიჯი

ვიდეო: ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრის პინ კოდი: 7 ნაბიჯი

ვიდეო: ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრის პინ კოდი: 7 ნაბიჯი
ვიდეო: ESPN GLOBAL 2.0 | ROADMAP - PEYWEY / ECN COIN | EXPLAINED BY MR KARAN DEWEDI | RAHUL- +917204321080 2024, ივლისი
Anonim
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრეთ პინ კოდი
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრეთ პინ კოდი
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრეთ პინ კოდი
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრეთ პინ კოდი
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრეთ პინ კოდი
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრეთ პინ კოდი
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრეთ პინ კოდი
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრეთ პინ კოდი

Გამარჯობა ბიჭებო!

ეს არის პროექტი, რომელიც მე გავაკეთე სურათის მიკროკონტროლის გამოყენებით, მისი ელექტრონული PIN კოდის უსაფრთხოების სისტემა რეალურ დროში და მომხმარებლის მიერ განსაზღვრულია პინ კოდის მახასიათებლები, ეს გვერდი შეიცავს ყველა დეტალს, რომ თავად შექმნათ იგი.

მისი სამუშაო და კონცეფცია:

უსაფრთხოების სისტემის ჩართვით, ის ითხოვს PINCODE- ს კარიბჭის გასახსნელად, (მისი 140595) თუ სწორად შეიყვანთ, კარი გაიხსნება. კარი იხსნება მხოლოდ 1 წუთის განმავლობაში, შემდეგ კვლავ იხურება. თუ არასწორად შეიყვანთ პინ კოდს უსაფრთხოების სისტემა მოგცემთ კიდევ 3 შანსს, თუ ყველა შანსი დაიკარგება მაშინ ის ჩნდება ზარი და ითხოვს ალტერნატიულ კოდს ზუზუნის შესაჩერებლად, თუ ეს ალტერნატიული კოდი (ანუ 1984 წ.) სწორად არის შეყვანილი მაშინ:

1) აჩერებს ზუზუნს

2) აღადგენს თავდაპირველ კოდს, რომელიც იყო 140595

3) ითხოვს ახალ კოდს შეცვალოს ორიგინალური კოდი, რომელიც იყო 140595 (არაუმეტეს 6 ციფრი)

ახლა კარიბჭე გაიხსნება ამ ახალი კოდით.

დავუშვათ, არასწორი ალტერნატიული კოდია ჩასმული, შემდეგ სისტემა ითხოვს დაელოდოს დათვლას 1 წუთის განმავლობაში, რომლის დროსაც ყველა ღილაკი გამორთულია და ზარი კვლავ რეკავს.

ვიდეო:

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

კარგი, გავხადოთ ერთი …

სანამ დავიწყებდით, ვივარაუდებ, რომ თქვენ უკვე გაქვთ C ენის ძირითადი ცოდნა და ადრე მუშაობდით MikroC pro– ზე და რომ თქვენ იცით როგორ აენთოთ LED, როგორ დააკავშიროთ LCD– ს PIC მიკროკონტროლერთან. კარგი, დავიწყოთ!

ნაბიჯი 1: კომპონენტების შეგროვება

კომპონენტების შეგროვება
კომპონენტების შეგროვება

პროექტისათვის: S. No. | რაოდენობა | კომპონენტი | ინფორმაცია

1) 1 16x2 LCD პინი 14 პინზე 1 შემდეგ პინ 15 და პინ 16 ქინძისთავების პაკეტი.

2) 1 PIC18F4550 მიკროკონტროლერი

3) 1 PCF8583 რეალურ დროში საათი (RTC) IC

4) 14 გადატვირთვის ღილაკი კლავიატურის ნაცვლად ვიყენებ გადატვირთვის ღილაკებს

5) 1 9 ვ ბატარეის ძირითადი კვების წყარო.

6) 1 10K Ohm Pot LCD კონტრასტის დასადგენად

7) 2 3.5 მმ აუდიო ჯეკი გარე ზონდისა და ჭიშკრის გარე დასაკავშირებლად

8) 1 100uF კონდენსატორი Ceremic cap for pin1 კონტროლერის გამოყენებით.

9) 1 32.682 კჰც კრისტალი PCF8583 IC

10) 1 DC დენის ჯეკი თუ იყენებთ პროექტს DC ადაპტერთან

11) 1 IC7805 9V 5V– ზე გადასაყვანად

12) 1 1K Ohm რეზისტორი კონტროლერის pin1– ით გამოყენებისათვის.

13) 3 10K Ohm რეზისტორი გამოყენებისათვის pin1 კონტროლერის და RTC IC

14) 13 220 Ohm რეზისტორი თითოეული ღილაკი გამოიყენებს 1 220 Ohm მე განვმარტავ მოგვიანებით

15) 1 3V უჯრედი RTC IC– ით გამოყენებისათვის

16) 1 TICK TICK გადამრთველი

17) 1 PCB დაფა თქვენი არჩევანით, თუ კომფორტულად იქნებით ვერროში ჯარიმაა.

18) 1 8 პინიანი DIP RTC IC– სთვის

19) 1 40 პინიანი DIP PIC184550– სთვის, ან შეგიძლიათ Zip სოკეტი, თუ გსურთ

20) 1 3V უჯრედის დამჭერი

21) 1 9V ბატარეის დამჭერი

22) 1 მამრობითი სათაური LCD– ით შედუღებისთვის

23) 1 ქალი სათაური PCB– ზე ან ვერროზე შესადუღებლად, სადაც მოთავსებულია LCD.

სხვა ნაწილები:

20) პურის დაფა ტესტირებისათვის

21) შესადუღებელი რკინა

22) შედუღების მავთული

23) PIC პროგრამისტი (ან PICKIT2)

24) გრავირების ხსნარი (PCB– სთვის)

25) PCB საბურღი

26) მულტიმეტრი

ერთი იფიქრეთ, შეამჩნევთ, რომ მე არ ჩავრთე ბროლი PIC მიკროკონტროლერისთვის, არა? ეს იმიტომ, რომ მე გამოვიყენე PIC18F4550 შიდა ოსცილატორი

ᲡᲣᲚ ᲔᲡ ᲐᲠᲘᲡ…! ახლავე გავაკეთოთ …!

ნაბიჯი 2: ტესტირება PROTEUS– ზე

ტესტირება პროტეუსზე
ტესტირება პროტეუსზე
ტესტირება პროტეუსზე
ტესტირება პროტეუსზე

თქვენ შეგიძლიათ შეამოწმოთ წრე პროტეუსზე, ასე რომ თქვენ შეგიძლიათ მიიღოთ იდეა პროექტის შესახებ.

პროტეუსის ფაილს დასჭირდება ექვსკუთხა ფაილი PIC მიკროკონტროლისთვის.

ორივე ფაილი მოცემულია.

ნაბიჯი 3: PCB– ის დამზადება

PCB- ის დამზადება
PCB- ის დამზადება

მე გირჩევთ, რომ ააწყოთ ეს პროექტი PCB– ზე, არ გამოიყენოთ verroboard.

დაბეჭდე ეს PCB, ის შექმნილია ჩემ მიერ Cadsoft Eagle– ზე. თუ თქვენ გაქვთ დაყენებული cadsoft eagle გახსენით brd ფაილი (გადმოწერეთ ქვემოთ) და შექმენით ფაილი გვერდის ზომის მოთხოვნის შესაბამისად.

წინააღმდეგ შემთხვევაში მე დავამატე ორი ფაილი არის A4 და მეორე არის A5, დაბეჭდეთ და შეამოწმეთ ადგილის კომპონენტები, შემდეგ დაბეჭდეთ თქვენი PCB. მე ამას ვიკითხავ, რადგან შეიძლება იყოს გვერდის მასშტაბის ფაქტორი.

შენიშვნა: თქვენ შეგიძლიათ ჩართოთ პროექტი ბატარეის საშუალებით, რომელიც უნდა იყოს დაკავშირებული კონექტორთან 7805 -თან ახლოს, ფრთხილად იყავით პოლარობისთვის. ან შეგიძლიათ ჩართოთ პროექტი ადაპტერის საშუალებით DC დენის ჯეკის საშუალებით. დენის წყაროების შეცვლა შესაძლებელია ტკიპის მონიშვნის ღილაკით, როდესაც ღილაკი ჩართულია მიკროსქემის შიგნით, იკვებება გარე წყაროდან კონექტორის საშუალებით, როდესაც ღილაკს უბიძგებს მიკროსქემის გარეთ, დენის ბუდედან.

ნაბიჯი 4: შედუღების კომპონენტები

შედუღების კომპონენტები
შედუღების კომპონენტები
შედუღების კომპონენტები
შედუღების კომპონენტები
შედუღების კომპონენტები
შედუღების კომპონენტები
შედუღების კომპონენტები
შედუღების კომპონენტები

შეაერთეთ ყველა კომპონენტი, იხილეთ თანდართული სურათები.

რაც უნდა გითხრათ, რადგან პროტეუსი იდეალურია, ამიტომ ღილაკები პირდაპირ მიკროკონტროლერის პინთან არის დაკავშირებული რეზისტორის გარეშე.

მაგრამ რეალურ ცხოვრებაში არსებობს ხმაურის ფაქტორი.

ვივარაუდოთ, რომ ამ პროექტში, თუ ერთჯერ დააჭერთ ღილაკს 4, პროტეუსზე თქვენ მიიღებთ 4 -ს LCD ეკრანზე, მაგრამ თუ რეალურ ცხოვრებაში დააჭერთ, ხმაურის გამო LCD– ზე მიიღებთ 44444444. ამის ამოსაღებად pcb შეიცავს 220 Ohm რეზისტორს ყოველ ღილაკზე.

ნაბიჯი 5: პროგრამირება RTC IC PCF8583

პროგრამირება RTC IC PCF8583
პროგრამირება RTC IC PCF8583

კარგი, ეს ცოტა სახიფათო რამ არის, მაგრამ ვინაიდან კოდი მოცემულია, ეს არც ისე სახიფათო იქნება. მე არ მივეცი.hex ფაილი RTC IC– ის დასაპროგრამებლად, რადგან თქვენ უნდა გამოიმუშაოთ იგი თქვენთვის საჭირო დროის დასადგენად, ასევე წელიწადია 2015, თქვენ არ გჭირდებათ მისი დაყენება.

გახსენით mikroC Pro PIC– დან და აირჩიეთ PIC18F4550, დააკოპირეთ და ჩასვით კოდი ქვემოთ:

// LCD მოდულის კავშირები LCD_RSbit 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 at RB7_bit;

sbit LCD_RS_ მიმართულება 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_ მიმართულება TRISB7_bit;

// LCD მოდულის კავშირების დასრულება

ბათილი მთავარი () {

ADCON1 = 0x0F;

CMCON | = 7; // შედარების გამორთვა

OSCCON = 0b01111111; // შიდა ოსცილატორის @ 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, "დროის დაყენება …");

Delay_ms (1000);

I2C1_Init (100000); // ინიციალიზაცია სრული სამაგისტრო რეჟიმში

I2C1_ დაწყება (); // გამოსცემს დაწყების სიგნალს

I2C1_Wr (0xA0); // მისამართი PCF8583

I2C1_Wr (0); // სიტყვიდან დაწყება 0 მისამართიდან (კონფიგურაციის სიტყვა)

I2C1_Wr (0x80); // ჩაწერეთ $ 80 კონფიგურაციისთვის. (პაუზის მრიცხველი …)

I2C1_Wr (0); // ჩაწერეთ 0 ცენტი სიტყვა

I2C1_Wr (0); // დაწერე 0 წამი სიტყვა

I2C1_Wr (0x10); // შეცვალე ეს ათი წუთი იმ წუთებში, რომლის დაყენებაც გინდა

I2C1_Wr (0x17); // შეცვალე ეს 17 საათზე, რომლის დაყენებაც გინდა

I2C1_Wr (0x23); // შეცვალე ეს 23 თარიღი, რომლის დადგენაც გსურთ

I2C1_Wr (0x2); // შეცვალე ეს 2 თვე, რომლის დადგენაც გსურთ

I2C1_ გაჩერება (); // გაშვების სიგნალის გაცემა

I2C1_ დაწყება (); // გამოსცემს დაწყების სიგნალს

I2C1_Wr (0xA0); // მისამართი PCF8530

I2C1_Wr (0); // დაიწყეთ სიტყვიდან 0 მისამართზე

I2C1_Wr (0); // ჩაწერეთ 0 კონფიგურაციის სიტყვა (ჩართეთ დათვლა)

I2C1_ გაჩერება (); // გაშვების სიგნალის გაცემა

Lcd_Cmd (_LCD_CLEAR);

Lcd_Out (1, 1, "დრო მითითებულია.!");

Delay_ms (500);

}

_END კოდი _

შექმენით ექვსკუთხა ფაილი Mikroc Pro– დან PIC– ზე ზემოთ კოდის შედგენის შემდეგ და დაწვით იგი pic მიკროკონტროლერზე PIC18F4550

მოათავსეთ იგი ყველა კომპონენტთან შედუღებული კომპიუტერზე, ჩართეთ იგი. LCD- მა უნდა აჩვენოს "დროის დაყენება …" შემდეგ როდესაც აჩვენებს "დროის დაყენება!" გამორთეთ დენი. ამოიღეთ PIC მიკროკონტროლი DIP– დან, თქვენ წარმატებით დაპროგრამეთ PCF8583 RTC IC.:)

ნაბიჯი 6: პროგრამირება PIC18F4550

პროგრამირება PIC18F4550
პროგრამირება PIC18F4550

ჰექსექს ფაილი უკვე მოცემულია Step2– ში, შეგიძლიათ ჩაწეროთ იგი თქვენს PIC18F4550– ზე PIC პროგრამისტის საშუალებით.

ნაბიჯი 7: ბოლო ნაბიჯი და დასკვნითი ტესტი…

მიამაგრეთ LED ქვედა მარჯვენა 3.5 მმ აუდიო ჯეკზე და ზუზერი ზედა მარჯვენა 3.5 მმ ჯეკზე. განათავსეთ თქვენი დაპროგრამებული PIC18F4550 კომპიუტერზე და ჩართეთ დენი.

სწორი კოდის შეყვანისას იგი ლოგიკას 1 აძლევს ქვედა led– ს, ვივარაუდე, რომ ლოგიკა 1 – ის მიცემისას ის ხსნის კარიბჭეს.

თქვენ ელექტრონული უსაფრთხოების სისტემა მზად უნდა იყოთ …! და თუ თქვენ ყველაფერი სწორად გააკეთეთ, ის კარგად უნდა იმუშაოს.

გთხოვთ მოიწონეთ და მიყევით ჩემს ფეისბუქ გვერდს:

www.facebook.com/pg/ElectronicProjectsbySh…

ჩემი ბლოგის საიტი:

epshahrukh.blogspot.com/

გირჩევთ: