13
A B rdu lock КОДОВЫЙ ЗАМОК ArduBlock | Technologies 2020 МИНИ ПРОГРАММКИ

ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · [email protected]. Title: ArduBlock Кодовый замок.cdr Author:

  • Upload
    others

  • View
    39

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

A Brdu lockКОДОВЫЙ ЗАМОК

ArduBlock | Technologies 2020

МИНИ ПРОГРАММКИ

Page 2: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

A Brdu lock | TechnologiesКодовый замокСайт: http://ardublock.ruАвтор: Петров Виталий НиколаевичVk group: https://vk.com/ardublockInstagram:https://www.instagram.com/ardublock.ruYouTube:https://www.youtube.com/c/ArduBlockMail:[email protected]

Page 3: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

2

Содержание:  A Brdu lock.ru 1.  к ArduinoПодключение клавиатуры  2.Чтение кнопок клавиатуры3.Основная схема кодового замка4.Основа программы5.Функция преобразования кода кнопок6.Запись в разряд 7.Сброс данных8.Чтение данных9.Проверка пароля / исходник 

34567891011

 

Page 4: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

3

Подключение клавиатуры: Подключите клавиатуру к плате Arduino..  IOREF RESET 3.3V 5V GND GND VIN A0 A1 A2 A3 A4 SDA A5 SCL SCL SDA AREF GND 13 12 11 10 9 8 7 6 5 4 3 2 1 TX 0 RX

Arduino Uno

1

8Напишем программу для сканирования номера кнопок с клавиатуры

Page 5: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

4

Чтение кнопок клавиатуры: Откройте монитор последовательного порта:  Клик на кнопки клавиатуры: получаем код (номера кнопок):  495352565548

5051545735

Page 6: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

Основная схема для теста: 

5

Схема подключения всех модулей: IOREF RESET 3.3V 5V GND GND VIN A0 A1 A2 A3 A4 SDA A5 SCL SCL SDA AREF GND 13 12 11 10 9 8 7 6 5 4 3 2 1 TX 0 RX

Arduino Uno

1 8Подключение:Дисплей TM1637:Сервопривод:Зуммер:

ТМ1637: CLK ­ Pin12,  DIO ­ Pin 11 KeyPad4x4 Row 1 ­ Pin2, 2 ­ Pin3, 3 ­ Pin4, 4 ­ Pin5,                      Col 1 ­ Pin6, 2 ­ Pin7, 3 ­ Pin8, 4 ­ Pin9

Page 7: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

6

Основа программы: Создадим несколько переменных для работы программы.. ТМ1637: CLK ­ Pin12,  DIO ­ Pin 11  KeyPad4x4 Переменная клика кода кнопкиПеременная нового значения кнопкиПеременная номер разряда пароляПеременная 1 числа пароляПеременная 2 числа пароляПеременная 3 числа пароляПеременная 4 числа пароляЗапишем код нажатой кнопкиРасшифровка кода кнопок в число / запись в разряд Сброс при вводе большого количества чисел Чтение из EEPROM памяти вводимого пароляПроверка пароля / открытие / сброс 

Page 8: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

7

Преобразование кода:      При клике на кнопку с клавиатуры, получаем код, “Bottom” сравниваем с прочитанным кодом кнопок и записываем в переменную “Nomer”  числовой номер нажатой кнопки, в функции “rec”производим запись  вводимого числового разряда..   

Page 9: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

8

     На предыдущей странице мы преобразовали код с кнопок в число и храним это число в переменной “Nomer”. При следующем клике число пере­запишется новым числом! Чтобы не потерять число, мы запишем его в память микроконтроллера в байт адрес. Создадим счётчик для последующего адреса хранения. То есть при первом клике значение переменной х будет равно 1 и значение Nomer запишется на1 байт адрес, второй клик  к “х” прибавим 1 и следовательно х = 2, второе число запишем на 2 байт адрес и тд.           

Запись в разряд      К переменной х прибавим число один и перезапишем х  Запись в адрес с значением        

Звуковой сопровождение клика        Задержка звука        Отключить зуммер 

Page 10: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

9

Сброс данных      Если значение вводимых чисел, превысит 4 числа то очистим память микроконтроллера к примеру с 1 по 4 байт запишем число 17.Перезапишем значение переменной “x” в ноль. Создадим звуковое уведомление об ошибке ввода..         Если значение х больше 4 то..          Запишем новое значение с 1 по 4 байт    

     Перезапишем значение переменной в ноль         Звуковой тон с задержкой 200         Звуковой тон с задержкой 200         Отключить Звуковой тон     

Page 11: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

Чтение данных      Функция Чтение данных из памяти микроконтроллера..  С 1 по 4 байт EEPROM, запишем в переменные с “n1" до “n4"Информацию отобразим на дисплее ТМ 1637..  

10

Page 12: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

Проверка пароля

Функция проверки пароля.. Если кликнули на кнопку “#” то запускаем проверку пароля если пароль верный то открываем сервомотор в противном случае уведомляем звуковым сигналом пароль не верный..

Если был клик на кнопку то запускаем..

Звуковой сигнал клика кнопки

Пароль «4582» если значения верны то

Открываем сервомотор

На дисплее отображаем тире Код тире числ о 16

Задержка 3 секунды

Очищаем дисплей числом 17

Перезапишем переменную “x” в ноль Звуковой сигнал

Отключить сигнал

Начальное положение сервомотора

Скачать xml файл: https://yadi.sk/d/aVjBFhPTPJp2ow

11

Page 13: ArduBlock Кодовый замокardublock.ru/data/uploads/books/files/ardublock-combination-lock.pdf · ardublock@mail.ru. Title: ArduBlock Кодовый замок.cdr Author:

A Brdu lock | TechnologiesКодовый замокСайт: http://ardublock.ruАвтор: Петров Виталий НиколаевичVk group: https://vk.com/ardublockInstagram:https://www.instagram.com/ardublock.ruYouTube:https://www.youtube.com/c/ArduBlockMail:[email protected]