Оглавление:

Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем: 7 шагов
Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем: 7 шагов

Видео: Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем: 7 шагов

Видео: Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем: 7 шагов
Видео: Кодовая сигнализация на двери и окна YL-353 магнитоконтакты 2024, Ноябрь
Anonim
Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем
Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем
Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем
Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем
Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем
Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем
Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем
Электронная система безопасности с RTC и PIN-кодом, определяемым пользователем

Привет, народ!

Это проект, который я сделал, используя микроконтроллер pic, это система безопасности электронного пин-кода с часами реального времени и функциями пин-кода, определяемыми пользователем, эта страница содержит все детали, которые можно сделать самостоятельно.

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

Что ж, включив систему безопасности, она запросит ПИН-КОД для открытия ворот (его 140595), если вы введете его правильно, дверь откроется. Дверь открывается только на 1 мин, затем снова закрывается. Если вы введете неправильный пин-код, система безопасности даст вам еще 3 шанса, если все шансы упущены, она включает зуммер и запрашивает альтернативный код для отключения зуммера, если этот альтернативный код (например, 1984) введен правильно, тогда:

1) Прекращает зуммер

2) Сбрасывает исходный код 140595

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

теперь ворота будут открыты этим новым кодом.

Предположим, введен неправильный альтернативный код, тогда система просит подождать обратного отсчета 1 мин, в течение которого все кнопки отключены, а зуммер продолжает звонить.

ВИДЕО:

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

Ладно, давайте сделаем одну…

Прежде чем мы начнем, я предполагаю, что у вас уже есть базовые знания языка C и вы уже работали с MikroC pro раньше, и что вы знаете, как зажигать светодиод, как взаимодействовать с ЖК-дисплеем с микроконтроллером PIC. Хорошо, приступим!

Шаг 1: Сбор компонентов

Сбор компонентов
Сбор компонентов

ДЛЯ ПРОЕКТА: S. No. | КОЛИЧЕСТВО | КОМПОНЕНТ | ИНФОРМАЦИЯ

1) 1 контакт 14 ЖК-дисплея 16x2 к контакту 1, затем контакты 15 и 16 контактов.

2) 1 микроконтроллер PIC18F4550

3) 1 микросхема часов реального времени (RTC) PCF8583

4) 14 кнопок сброса вместо клавиатуры я использовал кнопки сброса

5) Батарея 1 9 В Основной источник питания.

6) 1 потенциометр 10 кОм Для настройки контрастности ЖК-дисплея.

7) 2 аудиоразъема 3,5 мм для внешнего подключения зуммера и ворот

8) 1 керамический конденсатор емкостью 100 мкФ для использования с контактом 1 контроллера.

9) 1 кристалл 32,682 кГц для микросхемы PCF8583

10) 1 разъем питания постоянного тока При использовании проекта с адаптером постоянного тока

11) 1 IC7805 Для преобразования 9 В в 5 В

12) 1 резистор 1 кОм для использования с контактом 1 контроллера.

13) 3 резистора 10 кОм для использования с выводом 1 контроллера и микросхемой RTC

14) Резистор 13 220 Ом, каждая кнопка будет использовать 1 220 Ом, я объясню позже

15) 1 элемент 3 В для использования с микросхемой RTC IC

16) 1 переключатель TICK TICK

17) 1 плата PCB на ваш выбор, если вам удобно на Verro, все в порядке.

18) 1 8-контактный DIP для RTC IC

19) 1 40-контактный DIP для PIC184550 или вы можете установить гнездо на молнии, если хотите

20) 1 держатель кюветы 3 В

21) 1 Держатель батареи 9 В

22) 1 штекер для пайки с ЖК-дисплеем

23) 1 гнездовой разъем для пайки на печатной плате или верро, где будет размещаться ЖК-дисплей.

ДРУГИЕ ЧАСТИ:

20) Макет для тестирования

21) Паяльник

22) Паяльная проволока

23) PIC Programmer (или PICKIT2)

24) Раствор для травления (для печатной платы)

25) Сверло для печатных плат

26) Мультиметр

Думаю, вы заметите, что я не включил кристалл для микроконтроллера PIC, верно? Ну это потому, что я использовал внутренний осциллятор PIC18F4550

ЭТО ВСЕ…! ТЕПЕРЬ ДАВАЙТЕ ЭТО…!

Шаг 2: ТЕСТИРОВАНИЕ НА PROTEUS

ТЕСТИРОВАНИЕ НА PROTEUS
ТЕСТИРОВАНИЕ НА PROTEUS
ТЕСТИРОВАНИЕ НА PROTEUS
ТЕСТИРОВАНИЕ НА PROTEUS

Вы можете протестировать схему на Proteus, чтобы получить представление о проекте.

Для файла proteus потребуется шестнадцатеричный файл для микроконтроллера PIC.

Предоставляются оба файла.

Шаг 3: Изготовление печатной платы

Изготовление печатной платы
Изготовление печатной платы

Я рекомендую вам собрать этот проект на печатной плате, не используя верроборд.

Распечатайте эту печатную плату, она была разработана мной на Cadsoft Eagle. Если у вас установлен cadsoft eagle, откройте файл brd (загрузите ниже) и сгенерируйте файл в соответствии с вашими требованиями к размеру страницы.

В противном случае я прикрепил два файла формата A4, а другой - A5, распечатайте и проверьте компоненты, а затем распечатайте вашу печатную плату. Я спрашиваю об этом, потому что может быть фактор масштаба страницы.

ПРИМЕЧАНИЕ. Вы можете включить проект от батареи, которая должна быть подключена к разъему рядом с 7805, соблюдайте полярность. ИЛИ вы можете включить проект с помощью адаптера через разъем питания постоянного тока. Источники питания могут быть переключены с помощью кнопки с галочкой, когда кнопка находится внутри цепи, питание от внешнего источника через разъем, когда кнопка нажата за пределами схемы, питание от разъема постоянного тока.

Шаг 4: Пайка компонентов

Компоненты для пайки
Компоненты для пайки
Компоненты для пайки
Компоненты для пайки
Компоненты для пайки
Компоненты для пайки
Компоненты для пайки
Компоненты для пайки

Припаиваем все компоненты, см. Прилагаемые картинки.

Об этом я должен вам сказать, поскольку Proteus идеален, поэтому кнопки подключаются напрямую к выводу микроконтроллера без резистора.

Но в реальной жизни шумовой фактор существует.

Предположим, в этом проекте, если вы нажмете кнопку 4 один раз, на Proteus вы получите 4 на ЖК-дисплее, но если вы нажмете ее в реальной жизни, вы получите 44444444 на ЖК-дисплее из-за шума. Чтобы удалить это, плата содержит резистор 220 Ом с каждой кнопкой.

Шаг 5: Программирование RTC IC PCF8583

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

Хорошо, это немного сложная вещь, но поскольку код предоставляется, это не будет так сложно. Я не предоставил файл.hex для программирования RTC IC, так как вам нужно сгенерировать его, чтобы установить необходимое время, также год установлен на 2015, вам не нужно его устанавливать.

Откройте mikroC Pro для PIC и выберите PIC18F4550, скопируйте и вставьте код ниже:

// Подключение ЖК-модуляssbit LCD_RS at RB2_bit;

сбит LCD_EN при RB3_bit;

сбит LCD_D4 на RB4_bit;

сбит LCD_D5 на RB5_bit;

сбит LCD_D6 на RB6_bit;

сбит 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;

сбит LCD_D7_Direction на TRISB7_bit;

// Завершение подключений ЖК-модуля

пустая функция() {

ADCON1 = 0x0F;

CMCON | = 7; // Отключить компараторы

OSCCON = 0b01111111; // Использование внутреннего осциллятора на 8 МГц

TRISB = 0x00; // ПОРТБ для вывода (ЖК-дисплей)

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_Cmd (_LCD_CLEAR); // Очистить дисплей

Lcd_Cmd (_LCD_CURSOR_OFF); // Курсор выключен

Lcd_Out (1, 1, «Время установки…»);

Delay_ms (1000);

I2C1_Init (100000); // инициализируем полный мастер-режим

I2C1_Start (); // выдаем сигнал запуска

I2C1_Wr (0xA0); // адрес PCF8583

I2C1_Wr (0); // начинаем со слова по адресу 0 (конфигурационное слово)

I2C1_Wr (0x80); // записываем 80 долларов в config. (счетчик паузы…)

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, «Время установлено!»);

Delay_ms (500);

}

_END КОД _

Сгенерируйте шестнадцатеричный файл из Mikroc Pro для PIC после компиляции вышеуказанного кода, затем запишите его на микроконтроллер pic PIC18F4550

Поместите его на плату, припаянную со всеми компонентами, включите. На ЖК-дисплее должно появиться сообщение «Установка времени…», а затем - «Время установлено!». выключите питание. Удалите микроконтроллер PIC из DIP, если вы успешно запрограммировали PCF8583 RTC IC.:)

Шаг 6: Программирование PIC18F4550

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

Что ж, шестнадцатеричный файл уже предоставлен на шаге 2, вы можете записать его на свой PIC18F4550 через PIC Programmer.

Шаг 7: Последний шаг и ЗАКЛЮЧИТЕЛЬНЫЙ ТЕСТ…

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

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

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

Пожалуйста, поставьте лайк и подпишитесь на мою страницу в Facebook:

www.facebook.com/pg/ElectronicProjectsbySh…

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

epshahrukh.blogspot.com/

Рекомендуемые: