АЛГОРИТМ РОБОТИ СИСТЕМИ
Алгоритм для Arduino
1. Підключення бібліотек .
2. Оголошуються та ініціалізуються змінні.
3. Ініціалізація портів вводу/виводу.
4. Виводиться на LCD дисплей надпис «Please enter pin».
5. Перевіряється чи замок не заблокований, якщо заблокований то виконується пункт 6, інакше пункт 7.
6. Зчитуються дані з UART доки не прийде символ ‘u’ який розблоковує замок. Після цього виконується пункт 5.
7. Починається цикл для введення паролю.
Перевірка наявності даних на UART(Bluetooth), якщо дані є вони зчитуються, інакше виконується пункт 8.
8. Перевірка наявності даних з клавіатури, якщо дані є вони зчитуються, інакше виконується пункт 9.
9. Перевірка наявності даних на UART(Wi-Fi), якщо дані є цикл переривається і здійснюється перехід на пункт 14, інакше виконується пункт 10.
10. Після завершення циклу перевірка паролю.
Якщо пароль парвильний виконується пункт 11, інакше пункт 12.
11. Подається одиничка на 12 і 13 піни, виводиться на дислей:«SUCCESS», Відправляє на UART(Bluetooth) текст «Door has been opened», UART(Wi-Fi) текст «o», затримка 1,5 секунди, подається нуль на 13-й пін, затримка 1,5 секунди, подається нуль на 12-й пін, очищення дисплея, виводить на дисплей: «Please enter pin», виконується пункт 7.
12. Очищення дисплея, виводиться на дисплей: «WRONG», перевірка чи не ввели неправильний пароль 5-й раз підряд, якщо 5-й раз то виконується пункт 13, інакше затримка 3 секунди, очищення дисплея, виводить на дисплей «Please enter pin», виконується пункт 7.
13. Очищення дисплея, виводиться на дисплей «Police», Відправляє на UART(Bluetooth) текст «Door has been blocked», UART(Wi-Fi) текст «b», 3 рази подає на 13 пін одиничку і нуль, блокується замок, виконується пункт 5.
14. Перевірка наявності даних на UART(Wi-Fi), якщо дані є вони зчитуються і виконується пункт 15, інакше виконується пункт 7.
15. Перевірка умови зчитаних даних.
Якщо дані = ‘o’ виконується пункт 11.
Інакше якщо дані = ‘w’ виконується пункт 12.
Якщо ні одна з умов не виконалася виконується пункт 7.
На рисунках 5.1, 5.2, 5.3 зображено блок схема алгоритму програми для Arduino.



Алгоритм для WI-FI модуля
1. Підключення бібліотек.
2. Оголошення констант.
3. Налаштування порту для роботи з сервером.
4. Ініціалізація портів вводу/виводу.
5. Підключення до Wi-Fi мережі.
6. Запуск сервера .
7. Перевірка чи клієнт підключений
8. Очікування наявності даних клієнта.
9. Зчитування даних .
Перевірка умов: якщо дані = “/un” то на UART відправляється символ “u” , якщо дані = “/open” то на UART відправляється символ “o”, якщо дані = “/w” то на UART відправляється символ “w”.
10. Перевірка наявності даних на UART, коли дані є вони зчитуються .
Перевірка умов: якщо дані = “o” відправляється текст “open” на клієнт. Якщо дані = “b” відправляється текст “Door has been blocked” на клієнт.