""

Необычный кодовый замок на arduino

Кодовый замок на Arduino

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

Техническое задание

Разработать кодовый замок на Arduino, который управляет электромагнитным реле. При правильном вводе 5-значного кода, срабатывает реле и загорается зеленый светодиод. Через 5 секунд реле приходит в изначальное состояние и зеленый светодиод гаснет. Если код введен неверно, то загорается красный светодиод в течение 5 секунд. Код можно вводить бесконечное количество раз.

Разработка

Давайте для начала смоделируем схему в Proteus

На схеме мы видим матрицу из кнопок, два светодиода и вместо катушки реле для удобства взят спикер, который при эмуляции начинает трещать. При правильном наборе кода загорается светодиод L_1 и трещит спикер LS1 в течение 5 секунд.

Описание кода

Для того чтобы мы могли обрабатывать, нажатия клавиш на нашей клавиатуре, мы могли бы написать сами с нуля, библиотеку обработки, но это заняло бы много времени, и в данном случае, программируя на Ардуино, на языке высокого уровня, в этом нет необходимости. Достаточно только подключить готовую библиотеку, которая идет в комплекте библиотек с нашей Arduino IDE.

В данном проекте, нам потребуется использовать три значения, которые мы будем использовать при написании нашего кода. Мы могли бы пойти стандартным путем и создать три переменные, присвоить им имена и значения, и затем просто использовать их. Но мы решили пойти немножко дальше, и показать, как можно еще более удобным способом решить данную задачу. Мы создаем 4 директивы, LED1, LED2 и RELAY, NUM_KEYS и присваиваем им постоянное значение, которое идет после названия директивы. После значения, точку с запятой, как мы привыкли, закрывать нашу строку, ставить не требуется.

Здесь мы знакомимся с новым типом массивов и переменных char, в котором помимо цифровых значений, могут храниться символьные, например буквы, и различные знаки. Итак, мы создаем массив myarraw, который содержит 5 знаков, (не забываем про создание директивы). В данный массив мы записываем 5 значений, которые содержатся в фигурных скобках. Они будут являться кодом, по которому будет открываться наш замок, их вы впоследствии сможете поменять на любые другие. Затем нам нужно создать еще один массив, также 5 знаков, в котором будут храниться значения, наших нажатых кнопок.

Здесь мы объявляем две переменные, к и s, и присваиваем им значение 0. В первой из них у нас будет храниться количество нажатий, а во второй количество совпадений, кода для открытия замка, который мы задали ранее в массиве, с кодом набранным на клавиатуре.

Здесь же, мы задаем 2 константы формата byte, в целях экономии памяти, нашего контроллера мы пользуемся форматом для хранения переменных byte, а не привычный многим формат int. В данном случае он будет избыточен, для наших задач.

Теперь же, нам нужно будет создать, таблицу соответствия, кнопок клавиатуры символам, которые будут сохраняться в наших массивах. Как мы видим, их расположение, совпадает с нанесенными значками на клавиатуре.

Ну а здесь, нам требуется создать два массива, по 4 знака каждый, соответственно по количеству строк и столбцов, и задать, к каким пинам ардуино они у нас будут подключены. Формат переменной, как и в прошлом случае, у нас выбран byte.

Здесь нужно остановиться подробнее: Библиотека Keypad, описывает класс работы с клавиатурой. Т.е. создает тип данных “клавиатура”, у этого типа данных свои параметры, которые мы указываем в скобках. Типа то, что клавиатура 4*4, к каким пинам подключены строки, к каким столбцы, и таблицу соответствия кнопок нашим символам. Т.е. Keypad это тип данных, наподобие int или char. Затем мы пишем имя своей переменной (создаваемого объекта) keypad с параметрами этой переменной в скобках. Как будто присваиваем значение этой переменной. И дальше работаем как с переменной, у которой можно менять параметры.

Мир микроконтроллеров

Популярное

  • Устройство и программирование микроконтроллеров AVR для начинающих – 143
  • Трехканальный термостат, терморегулятор, таймер на ATmega8 – 71
  • Двухканальный термостат, терморегулятор на ATmega8 – 67

Цифровой кодовый замок на Arduino

Безопасность играет важную роль в жизни современного общества, а цифровые кодовые замки являются важным элементом различных систем безопасности. Один из примеров реализации подобного цифрового кодового замка на плате Arduino и матричной клавишной панели мы рассмотрим в этой статье.

Необходимые компоненты

Плата Arduino Uno
Модуль клавиатуры (матричная клавишная панель)
Буззер (звонок)
ЖК дисплей 16х2
Резистор 1 кОм
Транзистор BC547
Макетная плата
Источник питания
Соединительные провода

В представленном проекте мы будем использовать технологию мультиплексирования для подключения клавиатуры (с помощью которой и будет вводиться пароль) к плате Arduino Uno. Мы будем использовать клавиатуру 4х4 которая содержит 16 кнопок (клавиш). В обычном режиме для подключения 16 кнопок к плате Arduino нам бы понадобилось 16 контактов, но с использованием технологии мультиплексирования нам будет достаточно 8 контактов для подключения 16 кнопок. Более подробно об этом можно прочитать в статье про подключение клавишной панели к Arduino.

Технология мультиплексирования является простым и эффективным способом уменьшения числа используемых контактов микроконтроллера при взаимодействии с большим числом кнопок (клавиш). В основном в этой технологии используется два простых приема: сначала сканируются строки, а потом сканируются столбцы. Но поскольку в Arduino мы используем специальную библиотеку для работы с клавиатурой, используя технологию мультиплексирования, нам нет необходимости писать специальный код для реализации этой технологии, по сравнению, например, с подключением клавишной панели к микроконтроллеру AVR.

Читайте также:  Четыре схемы на к157уд2

Схема устройства

Схема устройства представлена на следующем рисунке и содержит в своем составе Arduino, модуль клавиатуры, буззер (звонок) и ЖК дисплей. Плата Arduino управляет всеми процессами работы схемы: считывание пароля с модуля клавиатуры, сравнение паролей, включение/выключение буззера и передача статуса на ЖК дсиплей. Клавиатура используется для ввода пароля. Буззер используется для индикации, а ЖК дисплей используется для отображения статуса операции и различных сообщений. Буззер управляется с помощью NPN транзистора.

Столбцы модуля клавиатуры непосредственно подключены к контактам 4, 5, 6, 7, а строки – к контактам 3, 2, 1, 0 платы arduino uno. ЖК дисплей подключен к плате Arduino в 4-битном режиме. Управляющие контакты RS, RW и En подключены к контактам Arduino 13, GND и 12. Контакты данных ЖК дисплея D4-D7 подключены к контактам 11, 10, 9 и 8 arduino. Буззер подключен к контакту 14(A1) arduino с помощью NPN транзистора BC547.

Работа схемы

В нашем проекте мы будем использовать встроенную в плату Arduino память EEPROM для хранения пароля. Поэтому когда мы будем подавать питание на нашу схему первым делом программа будет считывать остаточные данные из памяти EEPROM, сравнивать их с введенным паролем и выдавать сообщение на ЖК дисплей что доступ запрещен (Access Denied) потому что пароли не совпадают. Для устранения этой проблемы нам необходимо установить пароль по умолчанию (default password) на первый раз (начальное включение) с помощью следующего кода:

Этот код установит пароль “1234” в EEPROM платы Arduino.

После первого запуска нам необходимо удалить этот код из программы и снова записать код в Arduino и запустить программу на выполнение. Теперь наша система запустится без ошибок. Для второго запуска теперь у нас будет пароль “1234”. Теперь вы можете изменить его при помощи нажатия клавиши #, после этого вам будет нужно ввести текущий пароль, а потом ввести новый пароль.

В дальнейшем, когда вы будете вводить ваш пароль, система будет сравнивать введенный пароль с паролем, который хранится в памяти EEPROM платы arduino. Если пароли совпадают, то на ЖК дисплей выдается сообщение “access granted” (доступ разрешен), а если пароль неправильный, на ЖК дисплей выдается сообщение “Access Denied” (доступ запрещен) и буззер будет выдавать звуковой сигнал некоторое время. Также буззер будет выдавать одиночный (короткий) звуковой сигнал всегда когда вы будете нажимать какую-нибудь клавишу на клавиатуре.

Исходный код программы

В программе мы будем использовать специальную библиотеку для подключения клавиатуры (клавишной панели) к arduino.

#include
#include

#include
const byte ROWS = 4; //четыре строки
const byte COLS = 4; //четыре столбца

byte rowPins[ROWS] = <3, 2, 1, 0>; // подключение к контактам строк клавиатуры
byte colPins[COLS] = <4, 5, 6, 7>; // подключение к контактам столбцов клавиатуры

//инициализация переменных класса NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

Мы подключили библиотеку для работы с ЖК дисплеем ( LiquidCrystal.h ), библиотеку для работы с клавиатурой ( Keypad.h ) и библиотеку для работы с памятью EEPROM ( EEPROM.h ) и затем инициализировали необходимые для работы переменные и контакты.

#define buzzer 15

Затем мы инициализировали ЖК дисплей и задали направление работы нужных нам контактов в функции setup.

void setup()
<
lcd.begin(16,2);
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(m11, OUTPUT);
pinMode(m12, OUTPUT);
lcd.print(” Electronic “);
lcd.setCursor(0,1);
lcd.print(” Keypad Lock “);
delay(2000);
lcd.clear();
lcd.print(“Enter Ur Passkey:”);
lcd.setCursor(0,1);

После этого мы будем считывать значения с клавиатуры в функции loop.

customKey = customKeypad.getKey();
if(customKey==’#’)
change();
if (customKey)
<
password[i++]=customKey;
lcd.print(customKey);
beep();
>

А затем мы сравниваем введенный пароль с сохраненным паролем используя метод сравнения строк.

Далее в следующем участке кода представлена функция для смены пароля и функция активации буззера.

void change()
<
int j=0;
lcd.clear();
lcd.print(«UR Current Passk»);
lcd.setCursor(0,1);
while(j
<
char key=customKeypad.getKey();
if(key)
<
pass1[j++]=key;
lcd.print(key);

void beep()
<
digitalWrite(buzzer, HIGH);
delay(20);
digitalWrite(buzzer, LOW);
>

Далее представлен полный текст программы.

#include
#include

#include

#define buzzer 15
LiquidCrystal lcd(13,12,11,10,9,8);

char password[4];
char pass[4],pass1[4];
int i=0;
char customKey=0;

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns

byte rowPins[ROWS] = <3, 2, 1, 0>; //connect to the row pinouts of the keypad
byte colPins[COLS] = <4, 5, 6, 7>; //connect to the column pinouts of the keypad

//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

ЭЛЕКТРОННЫЙ ЗАМОК СВОИМИ РУКАМИ

Данный крупный проект посвящён изготовлению электронных замков своими руками, ниже вы найдёте ссылки на компоненты (Aliexpress), схемы подключения и файлы прошивок. Проект задуман как модульный, то есть руководствуясь приведёнными ниже схемами и инструкциями вы сможете сделать электронный замок любой нужной конфигурации и с удобным вариантом питания. Схемы разделены на схемы питания + подключения управляющего механизма, и отдельно показаны схемы подключения модулей. Комбинируя любые две схемы вы получите удобное для вас решение.
Кто ещё не сталкивался и не работал с Arduino, обязательно прочтите статью по подключению и настройке, ссылка выше.
Ваш AlexGyver.

КОНЦЕПТ И ЛОГИКА РАБОТЫ

Данный проект является модульным, т.е. можно подключать/отключать разные элементы и получить разную функциональность. На картинках выше показан вариант с полной функциональность, а именно:

  • Запирающий механизм. Служит для ОТКРЫТИЯ и ЗАКРЫТИЯ двери. В этом проекте рассмотрено использование трёх разных механизмов:
    • Сервопривод. Бывают большие, бывают маленькие. Очень компактный, и вкупе с тяжёлым засовом – отличный вариант
    • Электропривод замка дверей автомобиля. Большая и мощная штука, но жрёт просто безумные токи
    • Соленоидная щеколда. Хороший вариант, так как сама захлопывается

    В настройках прошивки можно выбрать любой из трёх типов (настройка lock_type)

  • Кнопка внутри. Служит для ОТКРЫТИЯ и ЗАКРЫТИЯ двери изнутри. Может быть размещена на ручке двери (со стороны ладони или со стороны пальцев), на самой двери, либо на косяке
  • Кнопка снаружи. Служит для ЗАКРЫТИЯ двери, а также для ПРОБУЖДЕНИЯ из энергосбережения. Может быть размещена на ручке двери (со стороны ладони или со стороны пальцев), на самой двери, либо на косяке
  • Концевик на закрытие двери. Служит для автоматического закрытия замка при закрывании двери. Им может быть:
    • Тактовая кнопка
    • Датчик холла + магнит на самой двери
    • Геркон + магнит на самой двери
  • Секретная кнопка сброса доступа. Служит для сброса пароля/ввода нового пароля/запоминания нового ключа/комбинации и т.д. Может быть спрятана где-то в корпусе
  • Светодиод для индикации работы. Светодиод RGB, используются красный и зелёный цвета (при смешении дают жёлтый):
    • Горит зелёный — замок ОТКРЫТ. Горит чтобы не забыть закрыть дверь
    • Горит жёлтый — система проснулась и ожидает ввод пароля
    • Мигает красный — сел аккумулятор

Любой из этих элементов можно исключить из системы:

  • Убираем концевик. В прошивке в настройках тоже его отключаем (настройка tail_button). Теперь чтобы закрыть замок, нужно нажимать кнопку
  • Убираем наружную кнопку. В прошивке в настройках тоже её отключаем (настройка wake_button). Теперь систему не нужно будить, она просыпается сама (потребление энергии чуть больше). А также у нас теперь нет кнопки закрыть на передней части двери, и нужен концевик. Либо замок – щеколда
  • Убираем внутреннюю кнопку. Этот вариант годится для шкафов и сейфов. В настройках ничего менять не нужно
  • Убираем светодиод. В настройках ничего менять не нужно
  • Кнопку сброса доступа можно отпаять после первого использования, либо переписать код под себя

ЛОГИКА РАБОТЫ СИСТЕМЫ

  • Дверь закрыта, нажато СНАРУЖИ — проснуться, ждать ввод пароля/RFID метку/электронный ключ/отпечаток пальца
  • Дверь закрыта, система проснулась, ждёт ввод пароля. Время можно настроить (настройка sleep_time)
  • Дверь закрыта, введён пароль/метка/ключ и т.д. — открыть
  • Дверь закрыта, нажато ВНУТРИ — открыть
  • Дверь открыта, нажато СНАРУЖИ — закрыть
  • Дверь открыта, нажато ВНУТРИ — закрыть
  • Дверь открыта, нажат КОНЦЕВИК — закрыть

В замке предусмотрена работа от аккумулятора в режиме пониженного энергосбережения (включить выключить: настройка sleep_enable), а именно:

  • Просыпаться каждые несколько секунд, следить за СОБЫТИЕМ (опциональный вариант, если снаружи нет кнопки. Включить можно в настройке wake_button)
  • Каждые несколько минут следить за напряжением акума (вкл/выкл настройка battery_monitor)
  • Если акум разряжен (напряжение устанавливается в настройке bat_low):
    • открыть дверь (опционально, можно настроить в прошивке open_bat_low)
    • запретить дальнейшее открытие и закрытие
    • при нажатии на кнопки мигать красным светодиодом
    • перестать следить за СОБЫТИЕМ (т.е. ввод пароля/метка и т.д.)

ЛОГИКА РАБОТЫ С КЛАВИАТУРОЙ

Когда система не спит, нажать кнопку смены пароля (скрытая кнопка). Попадаем в режим смены пароля:
Вводим пароль из цифр (МАКСИМУМ 10 ЦИФР. )

  • При нажатии * пароль записывается в память и система выходит из смены пароля
  • При нажатии # пароль сбрасывается (можно вводить заново)
  • Если ничего не нажимать 10 секунд, автоматически выйдем из режима смены пароля, пароль останется старый

Когда система не спит (проснулись по кнопки или сон отключен), нажать * для входа в режим ввода пароля
Если система спит и периодически просыпается проверять СОБЫТИЕ, то нажимаем * и удерживаем, пока не загорится красный светодиод
Режим ввода пароля:

  • Обработка пароля сделана таким образом, что правильный пароль засчитывается только при наборе правильной последовательности цифр, то есть если пароль 345, то вводить можно любые числа до тех пор, пока не появится последовательность 345, т.е. 30984570345 откроет замок, так как оканчивается на 345.
  • Если пароль введён верно, дверь откроется
  • Если ничего не нажимать, через 10 секунд система вернётся в обычный (дежурный) режим
  • Если нажать #, сразу выйдем из режима ввода пароля
  • Если нажать секретную кнопку смены пароля в режиме ввода пароля, то тоже из него выйдем

Сообщества › Сделай Сам › Блог › Дубликатор ключей домофона rfid и ibutton своими руками на ардуино.

Порой случается так, что нужно изготовить копию домофонного ключа. Дубликатор домофонных ключей Arduino может понадобиться если один из ключей комплекта был утерян, потребовался дополнительный ключ, или старый ключ вышел из строя.Конечно можно воспользоваться услугами специализированных мастерских, но можно выполнить эту процедуру и самостоятельно. Особенно интересен этот вариант будет тем, кто разбирается в электронике и имеет практику использования модулей Ардуино.В глобальной сети Интернет существует множество различных проектов того, как используя Arduino, собственноручно сделать копию ключа к домофону. Задача не такая уж и сложная, как это кажется на первый взгляд.

Нужно просто узнать номер-идентификатор оригинального ключа и присвоить его дубликату. Система домофона будет распознавать такой ключ как «свой» и произведет открывание двери.
Процедура считывания с ключа, а также запись на него идентификатора выполняются с применением только однопроводного интерфейса 1-wire. Благодаря этому принципиальная схема будущего дубликата домофонного ключа является достаточно простой.

Ниже поэтапно будут рассмотрены все действия, посредством которых, за минимальное время можно самостоятельно изготовить дубликат своего ключа к домофону. Данный вариант дубликатора работает с болванками контактного типа RW1990 и бесконтактного RFID T5577, T5557.

Подробнее в видео

Метки: ключи домофона, дубликатор ключей, своими руками, ардуино

Комментарии 44

Автор, а не подскажешь что за метка ?
Будет она копироваться твоим девайсом?

Так и не понял, где скетч взять?

Запускаем видео нажимая на плей, переходим к просмотру этого видео в YOUTUBE и в описании к видео находится ссылка на скетч.

Хорошая статься, я мучаюсь с rfid частью, не понимая что такое резонанс мне будет тяжело ее намотать(

Добрый день собираю уде несколько дней rfid часть, компаратор начинает издавать звук при просадке, понимаю что связь с картой почти достигнута, но никак не могу сделать правильную антенну, возможно заказать дроссель у вас на 330 или готовую плату с дросселем ?

Я все понимаю, но где исходники?Правила читали, прежде чем публиковать?

Ссылки на комплектующие как обычно под описанием видео.

По правилам должны быть в тексе ссылки на первоисточник, либо ссылка на личный сетевой диск/хранилище.Изучайте правила.Ютуб мне не интересен.

А как так же прописать доп чип от машины?

Ну да, по сути программатор получился

У нас цифрал, так в прошлом году домофонщики взяли и как-то отписали все леваковые ключи, которые делались не у них. Как они это сделали без самих ключей — я хз, но часть жильцов после работы попросту не попадали в подъезд.

Так а зачем им иметь сами ключи… чтоб отписать их. Каждый ключ имеет свой id номер…
Те ключи которые, с id они не приписывали, просто удалили из базы… визиток набросали в почтовые ящики… наклеек на стены наклеили… мол только у нас, всё работает)… делов то… щас все так делают, так же как с кабельным и интернетом… новый можно прописать самому, пока не удалят, будет работать.

кувалда в руки и Досвидос домофон.

Мле… купить ардуино на Алике и мастырить с него программатор… Проще с Алика сразу готовый программатор купить, даже лешевле выйдет.
Поделка ради поделки.

Эт вам там до Китая рукой подать, а тут жди 3 месяца. А есть хоть один пост который вам понравился? Написать ради написать?

У нас посылки через вас приходят)))) Как правило растоможка Екатеринбург или Москва)))

Судя по срокам они через Зимбабве идут.

Эт вам там до Китая рукой подать, а тут жди 3 месяца. А есть хоть один пост который вам понравился? Написать ради написать?

Да будет вам известно, что посылки Али таможатся через центральную Россию, не все, но в основной массе да. Какие три месяца, о чем вы? До нас 1-2 максимум.
Есть.
Нет

А у нас какой то хитрый домофон. Обычный Цифрал. Но никто не может сделать дубликат, сделаные ключи просто не подходят.
Приходится вызывать человека из домофонной компании, называть адрес, и он приезжает сразу с готовым ключем. В моем случае он накосячил, ключ привез, а он не подошел. У меня был ненужный ключ от другого домофона. Мастер зашел в меню нашего домофона, попросив меня отвернуться, и просто прописал мой ключ туда. Я еще подумал, может он мой ключ перепрограммировал, специально сходил и проверил на домофоне, от которого этот ключ был изначально — открылся. Одним ключем открываю два разных домофона, хотя обычные ключи от этих домофонов друг друга не открывают.

программируются не ключи, а сам замок)

Я не разбираюсь. Но давно пора эту штуку встроить в телефон, как NFC.

Проще nfc вшить в замок

программируются не ключи, а сам замок)

Через дубликатор id ключа клонируется в другой. При программировании на месте в память домофона вносится id ключа

А у нас какой то хитрый домофон. Обычный Цифрал. Но никто не может сделать дубликат, сделаные ключи просто не подходят.
Приходится вызывать человека из домофонной компании, называть адрес, и он приезжает сразу с готовым ключем. В моем случае он накосячил, ключ привез, а он не подошел. У меня был ненужный ключ от другого домофона. Мастер зашел в меню нашего домофона, попросив меня отвернуться, и просто прописал мой ключ туда. Я еще подумал, может он мой ключ перепрограммировал, специально сходил и проверил на домофоне, от которого этот ключ был изначально — открылся. Одним ключем открываю два разных домофона, хотя обычные ключи от этих домофонов друг друга не открывают.

У нас товарищи одни продают дубликаты по 100₽. Но самые интересное, что «при покупке они это не озвучивали» данные Ключи открывают не только мою дверь, а половину подъездов района ))) впринципи меня это даже обрадовало, теперь везде с одним ключем ). Узнал случайно, когда у родителей в подъезде Ключ перепутал и свой приложил .

Ардуино: подключение матричной клавиатуры

В мире электроники клавиатурой называют устройство, состоящее из отдельных кнопок, которое позволяет вводить информацию в компьютер или в иной электронный прибор.

Клавиатуры имеют массу вариантов исполнения. На старых персональных компьютерах использовались клавиатуры с механическими клавишами, которые имели большой ход и были почти также удобны как клавиши на старых печатных машинках. Последние 15-20 лет широко применяются мембранные клавиатуры, которые проще и дешевле в изготовлении. Именно такую клавиатуру мы будем подключать к Ардуино.

Популярная в Ардуино проектах матричная мембранная клавиатура имеет 12 или 16 кнопок. С нижней части клавиатуры выходит шлейф, заканчивающийся dupont розеткой.

Устройство матричной клавиатуры

Матричная клавиатура состоит из кнопок, образующих матрицу mxn, т.е. таблицу, где m — количество строк, а n — количество столбцов. Для урока мы воспользуемся клавиатурой 4х3. Если мы рассмотрим её шлейф, то увидим, что он состоит из 7 дорожек. Дорожки с номерами 1-4 (обозначим их Row1-Row4) — это строки матрицы с первой по четвёртую, а дорожки с номерами 5-7 (Col1-Col3) — столбцы с первого по третий.

Каждая кнопка — это область пересечения токопроводящих дорожек. При нажатии на участок, обозначающий кнопку, происходит соединению дорожек и замыкание одного из выводов строк 1-4 с одним из выводов столбцов 1-3.

Подключение матричной клавиатуры к Ардуино

Для отображения вводимой с клавиатуры информации мы воспользуемся жк дисплеем c I2C интерфейсом. Благодаря этому интерфейсу, схема не будет перегружена проводами. Подробно о дисплеях для Ардуино рассказывается в одном из предыдущих уроков — Ардуино: вывод текста на ЖК дисплей.

Подключение дисплея с шиной I2C осуществляется по следующей схеме:

ЖК дисплейGNDVCCSDASCL
Ардуино УноGND+5VA4A5

Матричная клавиатура имеет 7 выводов, которые подключаются к любым цифровым выводам. В нашем примере мы задействуем выводы 2-8. Выводы 0 и 1, как правило, не используют при подключении клавиатуры, поскольку они предназначены для UART интерфейса.

Схема подключения клавиатуры к Ардуино:

Матричная клавиатураRow1Row2Row3Row4Col1Col2Col3
Ардуино Уно8765432

Внешний вид макета:

Программа:

Чтобы работать с клавиатурой можно воспользоваться библиотекой Keypad.

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

Кодовый замок

Используя макет, который мы собрали, можно сделать устройство, позволяющее вводить пароль с клавиатуры. Для примера напишем простой код, работающий с паролем из четырёх цифр.

Рейтинг
( Пока оценок нет )
Загрузка ...
×
×
Adblock
detector