Съдържание:

Електронна система за сигурност с RTC и дефиниран от потребителя пин код: 7 стъпки
Електронна система за сигурност с RTC и дефиниран от потребителя пин код: 7 стъпки

Видео: Електронна система за сигурност с RTC и дефиниран от потребителя пин код: 7 стъпки

Видео: Електронна система за сигурност с RTC и дефиниран от потребителя пин код: 7 стъпки
Видео: Scantronic i-on intruder system demonstration 2024, Юли
Anonim
Електронна система за сигурност с RTC и дефиниран от потребителя пин код
Електронна система за сигурност с RTC и дефиниран от потребителя пин код
Електронна система за сигурност с RTC и дефиниран от потребителя пин код
Електронна система за сигурност с RTC и дефиниран от потребителя пин код
Електронна система за сигурност с RTC и дефиниран от потребителя пин код
Електронна система за сигурност с RTC и дефиниран от потребителя пин код
Електронна система за сигурност с RTC и дефиниран от потребителя пин код
Електронна система за сигурност с RTC и дефиниран от потребителя пин код

Здравейте, момчета!

Това е проект, който направих с помощта на микроконтролер pic, неговата електронна система за защита на PIN кода с часовник в реално време и потребителски функции за дефиниране на пин код, тази страница съдържа всички подробности, за да си направите сами.

НЕГОВАТА РАБОТА И КОНЦЕПЦИЯ:

Е, като включите системата за сигурност, тя ще поиска PINKODE за отваряне на портата (140595), ако я въведете правилно, вратата ще се отвори. Вратата се отваря само за 1 минута, след което се затваря отново. Ако въведете неправилен пин код, Системата за сигурност ще ви даде още 3 шанса, ако всички шансове бъдат пропилени, тя включва зумера и иска алтернативен код, за да спре зумера, ако този алтернативен код (т.е. 1984 г.) е въведен правилно:

1) Спира зумера

2) Нулира първоначалния код, който беше 140595

3) Иска нов код да замени оригиналния код, който беше 140595 (не повече от 6 цифри)

сега портата ще бъде отворена с този нов код.

Да предположим, че е вмъкнат грешен алтернативен код, след което системата иска да изчака отброяването от 1 минута, през което всички бутони са деактивирани и зумерът продължава да звъни.

ВИДЕО:

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

Добре, нека да направим едно …

Преди да започнем, предполагам, че вече имате основни познания по език C и преди сте работили по MikroC pro и че знаете как да светите светодиод, как да взаимодействате с 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 9v батерия Основно захранване.

6) 1 10K Ohm Pot За настройка на контраста на LCD

7) 2 3,5 мм аудио жака за външно свързване на зумера и портата

8) 1 100uF кондензатор Церемична капачка за използване с щифт 1 на контролера.

9) 1 32,682kHz кристал за PCF8583 IC

10) 1 DC DC жак Ако използвате проект с DC адаптер

11) 1 IC7805 За преобразуване на 9V в 5V

12) 1 1K 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 платка за печатни платки по ваш избор, ако ви е удобно във верро е добре.

18) 1 8 -пинов DIP за RTC IC

19) 1 40 пинов DIP за PIC184550 или можете да закопчаете гнездо с цип, ако желаете

20) 1 3V клетъчен държач

21) 1 9V държач за батерия

22) 1 мъжка глава за запояване с LCD

23) 1 женска глава за запояване на печатна платка или verro, където ще бъде поставен LCD.

ДРУГИ ЧАСТИ:

20) Платформа за тестване

21) Поялник

22) Тел за запояване

23) PIC програмист (или PICKIT2)

24) Разтвор за офорт (за печатни платки)

25) Свредло за печатни платки

26) Мултицет

Човек си мисли, че ще забележите, че не съм включил кристал за PIC микроконтролер, нали? Е, това е така, защото използвах вътрешен осцилатор на PIC18F4550

ТОВА Е ВСИЧКО…! СЕГА ДА ГО НАПРАВИМ …!

Стъпка 2: ИЗПИТВАНЕ НА ПРОТЕЙ

ИЗПИТВАНЕ НА ПРОТЕЙ
ИЗПИТВАНЕ НА ПРОТЕЙ
ИЗПИТВАНЕ НА ПРОТЕЙ
ИЗПИТВАНЕ НА ПРОТЕЙ

Можете да тествате веригата на протеус, за да получите представа за проекта.

Защитният файл ще изисква шестнадесетичен файл за микроконтролер PIC.

И двата файла са предоставени.

Стъпка 3: Изработка на печатни платки

Изработка на печатни платки
Изработка на печатни платки

Ще ви препоръчам да изградите този проект на печатни платки, не използвайте verroboard.

Отпечатайте тази печатна платка, тя е проектирана на Cadsoft Eagle от мен. Ако имате инсталиран cadsoft eagle, отворете brd файл (изтеглете по -долу) и генерирайте файл според вашите изисквания за размера на страницата.

Иначе съм прикачил два файла на А4, а другият е А5, отпечатайте и проверете компонентите на мястото, след което отпечатайте вашата печатна платка. Питам това, защото може да има фактор за мащабиране на страницата.

ЗАБЕЛЕЖКА: Можете да захранвате проекта чрез батерия, която трябва да бъде свързана към конектора близо до 7805, внимавайте за полярността. ИЛИ можете да включите проекта чрез адаптер през жака за DC захранване. Източниците на захранване могат да се превключват с бутона за отметка, когато бутонът е вкаран във вътрешността на веригата, която се захранва от външен източник чрез конектор, когато бутонът е натиснат извън захранването на веригата от жака за постоянен ток.

Стъпка 4: Запояване на компоненти

Компоненти за запояване
Компоненти за запояване
Компоненти за запояване
Компоненти за запояване
Компоненти за запояване
Компоненти за запояване
Компоненти за запояване
Компоненти за запояване

Запояйте всички компоненти, вижте приложените снимки.

Нещо, което трябва да ви кажа, тъй като proteus е идеален, затова бутоните са свързани директно към щифта на микроконтролера без резистор.

Но в реалния живот съществува фактор на шума.

Подобно да предположим, че в този проект, ако натиснете един път бутон 4, на proteus ще получите 4 на LCD, но ако го натиснете в реалния живот, ще получите 44444444 на LCD поради шум. За да премахнете това, печатната платка съдържа 220 ома резистор с всеки бутон.

Стъпка 5: Програмиране на RTC IC PCF8583

Програмиране на RTC IC PCF8583
Програмиране на RTC IC PCF8583

Добре, това е малко сложно нещо, но тъй като кодът е предоставен, няма да е толкова сложен. Не съм дал.hex файл за програмиране на RTC IC, тъй като трябва да го генерирате, за да зададете необходимото време, а годината е зададена на 2015, не е нужно да го настройвате.

Отворете mikroC Pro от PIC и изберете PIC18F4550, копирайте и поставете кода по -долу:

// Връзки с LCD модулssbit 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_Посока при TRISB3_bit;

sbit LCD_D4_Direction при TRISB4_bit;

sbit LCD_D5_Direction при TRISB5_bit;

sbit LCD_D6_Посока при TRISB6_bit;

sbit LCD_D7_Посока при TRISB7_bit;

// Прекратяване на връзките на LCD модула

void main () {

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, "Настройване на времето …");

Забавяне_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, "Време зададено.!");

Забавяне_ms (500);

}

_END КОД _

Генерирайте шестнадесетичен файл от Mikroc Pro за PIC след компилиране на горния код, след което го запишете на снимка микроконтролер PIC18F4550

Поставете го върху печатната платка, запоена с всички компоненти, включете го. LCD дисплеят трябва да показва "Setting Time …", след това когато показва "Time Set!" изключете захранването. Премахнете PIC микроконтролера от DIP, успешно сте програмирали PCF8583 RTC IC.:)

Стъпка 6: Програмиране на PIC18F4550

Програмиране PIC18F4550
Програмиране PIC18F4550

Е, шестнадесетичният файл вече е предоставен в Стъпка 2, можете да го запишете на вашия PIC18F4550 чрез PIC програмист.

Стъпка 7: Последна стъпка и ОКОНЧАТЕЛЕН ТЕСТ …

Прикрепете светодиод към долния десен 3,5 мм аудио жак и зумер към горния десен 3,5 мм жак. Поставете програмирания си PIC18F4550 на печатна платка и включете захранването.

Когато е въведен правилен код, той дава логика 1 на долния светодиод, предположих, че когато давам логика 1 на светодиода, той отваря портата.

Вашата електронна система за сигурност трябва да е готова сега …! И ако сте направили всичко правилно, трябва да работи добре.

Моля, харесайте и следвайте страницата ми във Facebook:

www.facebook.com/pg/ElectronicProjectsbySh…

Моят блог сайт:

epshahrukh.blogspot.com/

Препоръчано: