Mục lục:

Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định: 7 bước
Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định: 7 bước

Video: Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định: 7 bước

Video: Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định: 7 bước
Video: [Lập Trình Stm32] Bài 21: RTC 2024, Tháng bảy
Anonim
Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định
Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định
Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định
Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định
Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định
Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định
Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định
Hệ thống an ninh điện tử với RTC và mã pin do người dùng xác định

Chào các cậu!

Đây là một dự án mà tôi đã thực hiện bằng vi điều khiển pic của nó là Hệ thống bảo mật mã PIN điện tử với đồng hồ thời gian thực và người dùng xác định các tính năng mã pin, trang này chứa tất cả các chi tiết để bạn tự tạo.

CÔNG VIỆC VÀ KHÁI NIỆM CỦA NÓ:

Bằng cách bật Hệ thống bảo mật, nó sẽ yêu cầu mã PINCODE để mở cổng, (mã số 140595) nếu bạn nhập đúng, cửa sẽ mở. Cửa chỉ được mở trong 1 phút, sau đó đóng lại. Nếu bạn nhập sai mã pin Hệ thống bảo mật sẽ cho bạn thêm 3 cơ hội nữa, nếu tất cả cơ hội bị lãng phí thì nó sẽ bật còi và yêu cầu mã thay thế để dừng buzzer, nếu mã thay thế này (tức là 1984) được nhập chính xác thì:

1) Nó dừng buzzer

2) Đặt lại mã gốc là 140595

3) Yêu cầu mã mới để thay thế mã gốc là 140595 (không quá 6 chữ số)

bây giờ cánh cổng sẽ được mở bởi mã mới này.

Giả sử một mã thay thế sai được chèn thì Hệ thống yêu cầu đợi đếm ngược 1 phút, trong đó tất cả các nút bị tắt và bộ rung tiếp tục đổ chuông.

BĂNG HÌNH:

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

ĐƯỢC HÃY LÀM MỘT… !

Trước khi chúng ta bắt đầu, tôi giả sử rằng bạn đã có kiến thức cơ bản về ngôn ngữ C và đã làm việc trên MikroC pro trước đó và bạn biết cách phát sáng đèn LED, cách giao diện màn hình LCD với Vi điều khiển PIC. Được rồi, hãy bắt đầu!

Bước 1: Thu thập các thành phần

Thu thập các thành phần
Thu thập các thành phần

ĐỐI VỚI DỰ ÁN: S. No. | SỐ LƯỢNG CÓ HẠN | LINH KIỆN | THÔNG TIN

1) 1 LCD 16x2 Pin 14 đến Pin 1 rồi đến Pin 15 và Pin 16 chân gói.

2) 1 Vi điều khiển PIC18F4550

3) 1 IC đồng hồ thời gian thực PCF8583 (RTC)

4) 14 Nút Đặt lại Thay vì Bàn phím, tôi đã sử dụng các nút Đặt lại

5) 1 Pin 9v Nguồn điện chính.

6) 1 Nồi 10K Ohm Để cài đặt độ tương phản của màn hình LCD

7) 2 giắc cắm âm thanh 3,5 mm để kết nối bên ngoài bộ rung và cổng

8) 1 nắp Ceremic tụ điện 100uF để sử dụng với chân 1 của bộ điều khiển.

9) 1 Tinh thể 32,682kHz cho vi mạch PCF8583

10) 1 Jack nguồn DC Nếu sử dụng dự án với bộ chuyển đổi DC

11) 1 IC7805 để chuyển đổi 9V sang 5V

12) 1 điện trở 1K Ohm để sử dụng với chân 1 của bộ điều khiển.

13) 3 điện trở 10K Ohm để sử dụng với chân 1 của bộ điều khiển và IC RTC

14) Điện trở 13 220 Ohm mỗi nút sẽ sử dụng 1 220 Ohm Tôi sẽ giải thích sau

15) 1 tế bào 3V để sử dụng với IC RTC

16) 1 công tắc TICK TICK

17) 1 PCB Board sự lựa chọn của bạn nếu bạn cảm thấy thoải mái về độ tốt của nó.

18) 1 DIP 8 chân cho IC RTC

19) 1 DIP 40 chân cho PIC184550 hoặc bạn có thể Zip socket nếu bạn muốn

20) 1 giá đỡ 3V di động

21) 1 giá đỡ pin 9V

22) 1 đầu đực để hàn với LCD

23) 1 tiêu đề cái để hàn trên PCB hoặc verro nơi LCD sẽ được đặt.

NHỮNG KHU VỰC KHÁC:

20) Bảng mạch để thử nghiệm

21) Sắt hàn

22) Dây hàn

23) Lập trình viên PIC (hoặc PICKIT2)

24) Giải pháp khắc (cho PCB)

25) Máy khoan PCB

26) Đồng hồ vạn năng

Một người nghĩ rằng bạn sẽ nhận thấy rằng tôi đã không bao gồm một tinh thể cho Vi điều khiển PIC phải không? Đó là vì tôi đã sử dụng Bộ tạo dao động nội bộ của PIC18F4550

ĐÓ LÀ TẤT CẢ…! BÂY GIỜ HÃY LÀM NÓ…!

Bước 2: KIỂM TRA PROTEUS

KIỂM TRA VỀ PROTEUS
KIỂM TRA VỀ PROTEUS
KIỂM TRA VỀ PROTEUS
KIỂM TRA VỀ PROTEUS

Bạn có thể kiểm tra mạch trên proteus, vì vậy bạn có thể có được ý tưởng về dự án.

Tệp proteus sẽ yêu cầu tệp hex cho vi điều khiển PIC.

Cả hai tệp đều được cung cấp.

Bước 3: Làm PCB

Làm PCB
Làm PCB

Tôi sẽ khuyên bạn nên xây dựng dự án này trên PCB không sử dụng verroboard.

In PCB này, nó được thiết kế trên Cadsoft Eagle bởi tôi. Nếu bạn đã cài đặt cadsoft Eagle, hãy mở tệp brd (tải xuống bên dưới) và tạo tệp theo yêu cầu của bạn về kích thước trang.

Nếu không, tôi đã đính kèm hai tệp trên là A4 và tệp kia là A5, hãy in và kiểm tra các thành phần sau đó in PCB của bạn. Tôi đang hỏi điều này vì có thể có một yếu tố tỷ lệ trang.

LƯU Ý: Bạn có thể cấp nguồn cho dự án bằng pin được kết nối với đầu nối gần 7805, hãy chú ý đến cực tính. HOẶC bạn có thể cấp nguồn cho dự án bằng bộ chuyển đổi thông qua giắc cắm Nguồn DC. Các nguồn điện có thể được chuyển đổi bằng nút đánh dấu đánh dấu, khi nút được lắp bên trong mạch cấp nguồn từ nguồn bên ngoài thông qua đầu nối, khi nút được đẩy bên ngoài mạch cấp nguồn từ giắc cắm nguồn DC.

Bước 4: Hàn các thành phần

Các thành phần hàn
Các thành phần hàn
Các thành phần hàn
Các thành phần hàn
Các thành phần hàn
Các thành phần hàn
Các thành phần hàn
Các thành phần hàn

Hàn tất cả các thành phần, xem hình ảnh đính kèm.

Điều tôi phải nói với bạn, vì proteus là lý tưởng, đó là lý do tại sao các nút được kết nối trực tiếp với chân vi điều khiển mà không có điện trở.

Nhưng trong cuộc sống thực, một yếu tố tiếng ồn tồn tại.

Giống như giả sử, trong dự án này nếu bạn nhấn nút 4 một lần, trên proteus bạn sẽ nhận được 4 trên màn hình LCD, nhưng nếu bạn nhấn nó trong cuộc sống thực, bạn sẽ nhận được 44444444 trên màn hình LCD do nhiễu. Để loại bỏ điều này, pcb chứa điện trở 220 Ohm với mọi nút.

Bước 5: Lập trình IC RTC PCF8583

Lập trình IC RTC PCF8583
Lập trình IC RTC PCF8583

Được rồi, đây là một điều hơi phức tạp nhưng vì mã được cung cấp nên sẽ không khó như vậy. Tôi đã không cung cấp tệp.hex để lập trình IC RTC vì bạn phải tạo nó để đặt thời gian cần thiết cho bạn, cũng như năm được đặt là 2015 bạn không phải đặt nó.

Mở mikroC Pro fro PIC và chọn PIC18F4550, sao chép và dán mã bên dưới:

// Các kết nối mô-đun LCD LCD_RS bit tại RB2_bit;

sbit LCD_EN tại RB3_bit;

sbit LCD_D4 tại RB4_bit;

sbit LCD_D5 tại RB5_bit;

sbit LCD_D6 tại RB6_bit;

sbit LCD_D7 tại RB7_bit;

sbit LCD_RS_Direction tại TRISB2_bit;

sbit LCD_EN_chuyển hướng tại TRISB3_bit;

sbit LCD_D4_Direction tại TRISB4_bit;

sbit LCD_D5_Direction tại TRISB5_bit;

sbit LCD_D6_Direction tại TRISB6_bit;

sbit LCD_D7_Direction tại TRISB7_bit;

// Kết thúc kết nối mô-đun LCD

void main () {

ADCON1 = 0x0F;

CMCON | = 7; // Tắt bộ so sánh

OSCCON = 0b01111111; // Sử dụng Oscilator nội bộ @ 8MHz

TRISB = 0x00; // PORTB cho đầu ra (LCD)

LATB = 0xFF; // PORTC cho đầu vào

LATC = 0xFF; // PORTD cho đầu vào

TRISA. RA2 = 0; // RA2 cho đầu ra

TRISA. RA3 = 0; // RA3 cho đầu ra

UCON. USBEN = 0; // Tắt usb UCFG. UTRDIS = 1;

TRISD = 0xF9; // Đầu ra PORTD

Lcd_Init (); // Khởi tạo LCD

Lcd_Cmd (_LCD_CLEAR); // Xóa màn hình

Lcd_Cmd (_LCD_CURSOR_OFF); // Con trỏ tắt

Lcd_Out (1, 1, "Cài đặt thời gian…");

Delay_ms (1000);

I2C1_Init (100000); // khởi tạo chế độ chính đầy đủ

I2C1_Start (); // phát tín hiệu bắt đầu

I2C1_Wr (0xA0); // địa chỉ PCF8583

I2C1_Wr (0); // bắt đầu từ từ tại địa chỉ 0 (từ cấu hình)

I2C1_Wr (0x80); // ghi $ 80 vào cấu hình. (tạm dừng bộ đếm…)

I2C1_Wr (0); // viết từ 0 thành xu

I2C1_Wr (0); // ghi từ 0 đến giây

I2C1_Wr (0x10); // THAY ĐỔI 10 phút này thành bất kỳ phút nào bạn muốn đặt

I2C1_Wr (0x17); // THAY ĐỔI 17 NÀY thành bất kỳ giờ nào bạn muốn đặt

I2C1_Wr (0x23); // THAY ĐỔI ngày 23 NÀY thành bất kỳ ngày nào bạn muốn đặt

I2C1_Wr (0x2); // THAY ĐỔI 2 NÀY thành bất kỳ tháng nào bạn muốn đặt

I2C1_Stop (); // phát tín hiệu dừng

I2C1_Start (); // phát tín hiệu bắt đầu

I2C1_Wr (0xA0); // địa chỉ PCF8530

I2C1_Wr (0); // bắt đầu từ từ ở địa chỉ 0

I2C1_Wr (0); // ghi 0 vào từ cấu hình (cho phép đếm)

I2C1_Stop (); // phát tín hiệu dừng

Lcd_Cmd (_LCD_CLEAR);

Lcd_Out (1, 1, "Tập hợp thời gian.!");

Delay_ms (500);

}

_END MÃ _

Tạo một tệp hex từ Mikroc Pro cho PIC sau khi biên dịch mã trên rồi ghi nó vào pic vi điều khiển PIC18F4550

Đặt nó trên pcb đã được hàn với tất cả các thành phần, bật nó lên. Màn hình LCD sẽ hiển thị "Cài đặt thời gian…" sau đó khi nó hiển thị "Đặt thời gian!" Tắt nguồn. Xóa vi điều khiển PIC khỏi DIP của bạn đã lập trình thành công IC RTC PCF8583.:)

Bước 6: Lập trình PIC18F4550

Lập trình PIC18F4550
Lập trình PIC18F4550

Tệp hex đã được cung cấp ở Bước 2, bạn có thể ghi nó vào PIC18F4550 của mình thông qua PIC Programmer.

Bước 7: Bước cuối cùng & KIỂM TRA CUỐI CÙNG… !

Gắn đèn LED vào giắc âm thanh 3,5 mm phía dưới bên phải và một còi vào giắc 3,5 mm phía trên bên phải. Đặt PIC18F4550 đã lập trình của bạn trên pcb và bật nguồn.

Khi mã chính xác được nhập, nó đưa ra mức logic 1 cho dẫn thấp hơn, tôi đã giả định khi đưa mức logic 1 vào dẫn nó sẽ mở ra cổng.

Hệ thống bảo mật điện tử của bạn đã sẵn sàng ngay bây giờ…! Và nếu bạn đã làm đúng mọi điều, nó sẽ hoạt động tốt.

Hãy like và theo dõi trang Facebook của tôi:

www.facebook.com/pg/ElectronicProjectsbySh…

Trang blog của tôi:

epshahrukh.blogspot.com/

Đề xuất: