สารบัญ:

ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน: 7 ขั้นตอน
ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน: 7 ขั้นตอน

วีดีโอ: ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน: 7 ขั้นตอน

วีดีโอ: ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน: 7 ขั้นตอน
วีดีโอ: ปลดล็อค FRP VIVO 2022 เทคนิคปลดใน 2 นาที 2024, กรกฎาคม
Anonim
ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน
ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน
ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน
ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน
ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน
ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน
ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน
ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ด้วย RTC และผู้ใช้กำหนดรหัสพิน

สวัสดีพวก!

นี่เป็นโครงการที่ฉันสร้างโดยใช้ไมโครคอนโทรลเลอร์ pic ซึ่งเป็นระบบรักษาความปลอดภัยรหัส 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: รวบรวมส่วนประกอบ

รวบรวมส่วนประกอบ
รวบรวมส่วนประกอบ

สำหรับโครงการ: ส.น. | ปริมาณ | ส่วนประกอบ | ข้อมูล

1) 1 16x2 LCD Pin 14 ถึง Pin 1 จากนั้น Pin 15 และ Pin 16 pins package

2) ไมโครคอนโทรลเลอร์ PIC18F4550 1 ตัว

3) 1 PCF8583 นาฬิกาเวลาจริง (RTC) IC

4) 14 ปุ่มรีเซ็ตแทนปุ่มกด ฉันใช้ปุ่มรีเซ็ต

5) 1 9v แบตเตอรี่ แหล่งจ่ายไฟหลัก

6) 1 10K Ohm Pot สำหรับตั้งค่าคอนทราสต์ของ LCD

7) 2 แจ็คเสียง 3.5 มม. สำหรับเชื่อมต่อออดและเกตจากภายนอก

8) 1 100uF Capacitor Ceremic cap สำหรับใช้กับ pin1 ของคอนโทรลเลอร์

9) 1 32.682kHz คริสตัลสำหรับ PCF8583 IC

10) 1 DC Power Jack หากใช้โปรเจ็กต์กับอะแดปเตอร์ DC

11) 1 IC7805 สำหรับแปลง 9V เป็น 5V

12) ตัวต้านทาน 1 1K Ohm สำหรับใช้กับพิน1 ของคอนโทรลเลอร์

13) ตัวต้านทาน 10K Ohm 3 ตัวสำหรับใช้กับพิน 1 ของคอนโทรลเลอร์และ RTC IC

14) 13 ตัวต้านทาน 220 โอห์ม แต่ละปุ่มจะใช้ 1 220 โอห์ม ผมจะอธิบายทีหลัง

15) 1 3V Cell สำหรับใช้กับ RTC IC

16) 1 TICK TICK สวิตช์

17) 1 บอร์ด PCB ที่คุณเลือกถ้าคุณชอบ verro ก็โอเค

18) 1 8 พิน DIP สำหรับ RTC IC

19) 1 40 pin DIP สำหรับ PIC184550 หรือคุณสามารถ Zip socket ได้หากต้องการ

20) 1 3V ที่วางเซลล์

21) 1 ที่ใส่แบตเตอรี่ 9V

22) หัวต่อตัวผู้ 1 หัวสำหรับบัดกรีด้วย LCD

23) หัวต่อตัวเมีย 1 หัวสำหรับบัดกรีบน PCB หรือ Verro ที่จะวาง LCD

ส่วนอื่นๆ:

20) เขียงหั่นขนมสำหรับการทดสอบ

21) หัวแร้ง

22) ลวดบัดกรี

23) โปรแกรมเมอร์ PIC (หรือ PICKIT2)

24) สารละลายกัด (สำหรับ PCB)

25) สว่าน PCB

26) มัลติมิเตอร์

คิดว่าคุณจะสังเกตเห็นว่าฉันยังไม่ได้รวมคริสตัลสำหรับไมโครคอนโทรลเลอร์ PIC ใช่ไหม นั่นเป็นเพราะฉันใช้ Oscillator ภายในของ PIC18F4550

นั่นคือทั้งหมด…! มาลงมือทำกันเลย…!

ขั้นตอนที่ 2: การทดสอบกับ PROTEUS

การทดสอบกับโปรเตอุส
การทดสอบกับโปรเตอุส
การทดสอบกับโปรเตอุส
การทดสอบกับโปรเตอุส

คุณสามารถทดสอบวงจรบนโพรทูส เพื่อให้คุณได้แนวคิดเกี่ยวกับโครงการ

ไฟล์ proteus จะต้องมีไฟล์ hex สำหรับไมโครคอนโทรลเลอร์ PIC

ทั้งสองไฟล์มีให้

ขั้นตอนที่ 3: การสร้าง PCB

ทำ PCB
ทำ PCB

ฉันจะแนะนำให้คุณสร้างโครงการนี้บน PCB ไม่ใช้ verroboard

พิมพ์ PCB นี้ ซึ่งฉันออกแบบโดย Cadsoft Eagle หากคุณมี cadsoft eagle ติดตั้งไว้ เปิดไฟล์ brd (ดาวน์โหลดด้านล่าง) และสร้างไฟล์ตามความต้องการของขนาดหน้า

มิฉะนั้นฉันได้แนบไฟล์สองไฟล์ที่เป็น A4 และอีกไฟล์หนึ่งคือ A5 พิมพ์และตรวจสอบส่วนประกอบจากนั้นพิมพ์ PCB ของคุณ ฉันถามสิ่งนี้เพราะอาจมีปัจจัยมาตราส่วนหน้า

หมายเหตุ: คุณสามารถเปิดเครื่องโครงการโดยใช้แบตเตอรี่ที่จะเชื่อมต่อกับขั้วต่อใกล้กับ 7805 ระวังขั้ว หรือคุณสามารถเพิ่มพลังให้กับโปรเจ็กต์โดยใช้อะแดปเตอร์ผ่านแจ็ค DC Power แหล่งพลังงานสามารถเปลี่ยนได้ด้วยปุ่มติ๊ก เมื่อปุ่มถูกบุอยู่ภายในวงจรจ่ายไฟจากแหล่งภายนอกผ่านขั้วต่อ เมื่อปุ่มถูกผลักออกไปนอกวงจรจะจ่ายไฟจากแจ็คไฟ DC

ขั้นตอนที่ 4: ส่วนประกอบบัดกรี

ส่วนประกอบบัดกรี
ส่วนประกอบบัดกรี
ส่วนประกอบบัดกรี
ส่วนประกอบบัดกรี
ส่วนประกอบบัดกรี
ส่วนประกอบบัดกรี
ส่วนประกอบบัดกรี
ส่วนประกอบบัดกรี

ประสานส่วนประกอบทั้งหมดดูภาพที่แนบมา

สิ่งที่ฉันต้องบอกคุณ เนื่องจากโพรทูสเป็นอุดมคติ นั่นคือสาเหตุที่ปุ่มเชื่อมต่อโดยตรงกับพินไมโครคอนโทรลเลอร์โดยไม่มีตัวต้านทาน

แต่ในชีวิตจริงมีปัจจัยด้านเสียงอยู่

อย่างสมมติ ในโปรเจ็กต์นี้ หากคุณกดปุ่ม 4 หนึ่งครั้ง บน proteus คุณจะได้ 4 บน LCD แต่ถ้าคุณกดในชีวิตจริง คุณจะได้ 44444444 บน LCD เนื่องจากสัญญาณรบกวน Iหากต้องการลบสิ่งนี้ pcb มีตัวต้านทาน 220 โอห์มพร้อมทุกปุ่ม

ขั้นตอนที่ 5: การเขียนโปรแกรม RTC IC PCF8583

การเขียนโปรแกรม RTC IC PCF8583
การเขียนโปรแกรม RTC IC PCF8583

โอเค นี่เป็นเรื่องยุ่งยากเล็กน้อย แต่เนื่องจากรหัสที่ให้ไว้จะไม่ยุ่งยากขนาดนั้น ฉันไม่ได้ให้ไฟล์.hex สำหรับการเขียนโปรแกรม RTC IC เนื่องจากคุณต้องสร้างมันขึ้นมาเพื่อกำหนดเวลาที่คุณต้องการ และปีที่ตั้งไว้เป็นปี 2015 คุณไม่จำเป็นต้องตั้งค่า

เปิด mikroC Pro จาก PIC และเลือก PIC18F4550 คัดลอกและวางโค้ดด้านล่าง:

// การเชื่อมต่อโมดูล LCDsbit 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 ที่ TRISB2_bit;

sbit LCD_EN_Direction ที่ TRISB3_bit;

sbit LCD_D4_Direction ที่ TRISB4_bit;

sbit LCD_D5_Direction ที่ TRISB5_bit;

sbit LCD_D6_Direction ที่ TRISB6_bit;

sbit LCD_D7_Direction ที่ TRISB7_bit;

// สิ้นสุดการเชื่อมต่อโมดูล LCD

เป็นโมฆะหลัก () {

ADCON1 = 0x0F;

CMCON |= 7; //ปิดการใช้งานตัวเปรียบเทียบ

OSCCON = 0b01111111; //ใช้ Oscilator ภายใน @ 8MHz

ทริสบี = 0x00; //PORTB สำหรับเอาต์พุต (LCD)

LATB = 0xFF; //PORTC สำหรับอินพุต

LATC = 0xFF; //PORTD สำหรับอินพุต

ทริศา. RA2 = 0; //RA2 สำหรับเอาต์พุต

ทริศา. RA3 = 0; //RA3 สำหรับเอาต์พุต

UCON. USBEN = 0; //ปิดการใช้งาน usb UCFG. UTRDIS = 1;

ทริส = 0xF9; // PORTD เอาต์พุต

Lcd_Init(); // เริ่มต้น LCD

Lcd_Cmd(_LCD_CLEAR); // ล้างหน้าจอ

Lcd_Cmd(_LCD_CURSOR_OFF); // ปิดเคอร์เซอร์

Lcd_Out(1, 1, "ตั้งเวลา…");

ดีเลย์_ms(1000);

I2C1_Init(100000); // เริ่มต้นโหมดมาสเตอร์แบบเต็ม

I2C1_Start(); // ออกสัญญาณเริ่มต้น

I2C1_Wr(0xA0); // ที่อยู่ PCF8583

I2C1_Wr(0); // เริ่มจาก word ที่ address 0 (configuration word)

I2C1_Wr(0x80); // เขียน $80 เพื่อกำหนดค่า (หยุดเคาน์เตอร์…)

I2C1_Wr(0); // เขียน 0 ถึงเซ็นต์คำ

I2C1_Wr(0); // เขียน 0 ถึงวินาที word

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 ถึง config word (เปิดใช้งานการนับ)

I2C1_Stop(); // ออกสัญญาณหยุด

Lcd_Cmd(_LCD_CLEAR);

Lcd_Out(1, 1, "ตั้งเวลา!");

ดีเลย์_ms(500);

}

_END รหัส_

สร้างไฟล์ hex จาก Mikroc Pro สำหรับ PIC หลังจากรวบรวมโค้ดด้านบนแล้วเบิร์นไปที่ pic microcontroller PIC18F4550

วางบน PCB ที่บัดกรีด้วยส่วนประกอบทั้งหมดแล้วเปิดเครื่อง LCD ควรแสดง "Setting Time…" จากนั้นเมื่อแสดง "Time Set!" ปิดไฟ ลบไมโครคอนโทรลเลอร์ PIC ออกจากกรมทรัพย์สินทางปัญญาที่คุณตั้งโปรแกรม PCF8583 RTC IC สำเร็จ:)

ขั้นตอนที่ 6: การเขียนโปรแกรม PIC18F4550

การเขียนโปรแกรม PIC18F4550
การเขียนโปรแกรม PIC18F4550

ไฟล์ hex นั้นมีอยู่แล้วในขั้นตอนที่ 2 คุณสามารถเบิร์นมันไปยัง PIC18F4550 ของคุณผ่าน PIC Programmer

ขั้นตอนที่ 7: ขั้นตอนสุดท้าย & การทดสอบขั้นสุดท้าย…!

ติดไฟ LED เข้ากับแจ็คเสียง 3.5 มม. ด้านล่างขวา และสัญญาณเสียงเตือนที่แจ็ค 3.5 มม. ด้านขวาบน วาง PIC18F4550 ที่ตั้งโปรแกรมไว้บน pcb แล้วเปิดเครื่อง

เมื่อป้อนรหัสที่ถูกต้องจะทำให้ลอจิก 1 ไปที่ led ที่ต่ำกว่า ฉันถือว่าเมื่อให้ลอจิก 1 เพื่อนำไปสู่มันจะเปิดประตู

ระบบรักษาความปลอดภัยอิเล็กทรอนิกส์ของคุณควรพร้อมแล้วตอนนี้…! และถ้าคุณทำทุกอย่างถูกต้องแล้ว มันก็ควรจะใช้ได้ดี

กรุณาชอบและติดตามหน้า Facebook ของฉัน:

www.facebook.com/pg/ElectronicProjectsbySh…

เว็บไซต์บล็อกของฉัน:

epshahrukh.blogspot.com/

แนะนำ: