Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/6356| Title: | Багатофункціональний рекламно-інформаційний пристрій |
| Authors: | Корпань, Ярослав Васильович Дробіт, Ілля Володимирович |
| Issue Date: | Jun-2022 |
| Abstract: | Мета кваліфікаційної роботи - розробка та аналіз багатофункціонального рекламно-інформаційного пристрою. Для досягнення поставленої мети було вирішено наступні задачі: проведено аналіз існуючих аналогів; розроблено структурну схему пристрою; проведено аналіз характеристик сучасних мікроконтролерів та їх платформ; проведено аналіз світлодіодних елементів та пристроїв відображення інформації; вибрано середовище розробки програмного забезпечення для керування пристроєм; розроблено програмне забезпечення для керування багатофункціональним рекламно-інформаційним пристроєм. |
| URI: | https://er.chdtu.edu.ua/handle/ChSTU/6356 |
| Appears in Collections: | 123 Комп’ютерна інженерія (Спеціалізовані комп’ютерні системи) |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| Б-123_2022_Дробіт.pdf Restricted Access | 2.18 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ
КАФЕДРА РОБОТОТЕХНІКИ ТА СПЕЦІАЛІЗОВАНИХ КОМП’ЮТЕРНИХ
СИСТЕМ
Пояснювальна записка
до кваліфікаційної роботи
освітнього ступеня «бакалавр»
на тему: БАГАТОФУНКЦІОНАЛЬНИЙ РЕКЛАМО-
ІНФОРМАЦІЙНИЙ ПРИСТРІЙ
Виконав: студент 2 курсу, групи СКCC-2077
спеціальності 123 Комп’ютерна
інженерія
Дробіт І.В.
(прізвище та ініціали)
Керівник Корпань Я.В.
(прізвище та ініціали)
Рецензент
(прізвище та ініціали)
Черкаси 2022
ЗМІСТ
Список скорочень та умовних позначень 4
ВСТУП 5
1 АНАЛІЗ ТЕХНІЧНОГО ЗАВДАННЯ 6
2 ОГЛЯД ІСНУЮЧИХ АНАЛОГІВ ТА ТЕХНІЧНИХ РІШЕНЬ 7
3 РОЗРОБКА СТРУКТУРНОЇ СХЕМИ БАГАТОФУНКЦІОНАЛЬНОГО
РЕКЛАМНО-ІНФОРМАЦІЙНОГО ПРИСТРОЮ 22
4 АНАЛІЗ ЕЛЕМЕНТІВ СТРУКТУРИ ПРИСТРОЮ 24
4.1 Характеристики Arduino 24
4.2 Версії платформи Arduino 26
4.7 Характеристика DFPlayer 37
4.8 Використання DFPlayer 40
5 ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ ДЛЯ КЕРУВАННЯ ІНФОРМАЦІЙНИМ
ПРИСТРОЄМ 44
5.4 Вибір середовища розробки 44
5.2Використання середовища розробки Arduino IDE. 48
5.3 Завантаження скетчу 55
ВИСНОВКИ 58
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 60
ДОДАТОКИ
Додаток А Текст програми 62
ЧДТУ.222107.001 ПЗ
Змн. Лист № докум. Підпис Дата
Розроб. Дробіт Літ. Лист Листів
Багатофункціональний
Перевір. Корпань 3 77
Реценз. рекламно-інформаційний
Н. Контр. пристрій ЧДТУ, СКСС-2077
Затверд. Лукашенко Пояснювальна записка
Список скорочень та умовних позначень
ПЗ – Програмне забезпечення.
ОС – Операційна система.
ПК – Персональний комп’ютер.
IDE – Integrated development environment- Інтегроване середовище розробки.
ІС – Інформаційна система.
ШІМ – Широтно-імпульсна модуляція.
Лист
ЧДТУ.222107.001 ПЗ
4
Змн. Лист. № докум. Підпис Дата
ВСТУП
Наше життя та робота часто підкидають нам нові задачі, з кожним днем
кількість задач збільшується. Чи настане цьому край? Я думаю що ні.
Залишається лише пристосовуватись до цього, вигадувати нові способи
вирішення цих задач або шукати відповіді у вже існуючих. Одним зі способів
є мікроконтролер Arduino.
Метою кваліфікаційної роботи є розробка дисплею з різними
візуальними ефектами з допомогою Arduino та адресної світлодіодної
матриці.
Світлодіодний дисплей - пристрій відображення і передачі візуальної
інформації. Поширеною сферою використання світлодіодних дисплеїв є
зовнішнє рекламування. Пристрої розміщують в місцях великого скупчення
людей для отримання максимального ефекту від реклами.
Такі дисплеї можна використовувати в концертних і спортивних залах,
телестудіях, великих торгових центрах, конференц-залах, на вокзалах і в
аеропортах. Їх мета - відобразити те, що відбувається в збільшеному форматі
в барвистих і чітких кольорах.
Лист
ЧДТУ.222107.001 ПЗ
5
Змн. Лист. № докум. Підпис Дата
1 АНАЛІЗ ТЕХНІЧНОГО ЗАВДАННЯ
Основна мета кваліфікаційної роботи – розробка та аналіз
багатофункціонального рекламно-інформаційного пристрою.
Відповідно до технічного завдання багатофункціональний рекламно-
інформаційний пристрій повинен мати наступні характеристики:
- використовувати різні режими;
- мати змінну плавність анімації;
- зміна швидкість режиму;
- зміна кольорів режиму;
- зміна яскравості кольорів;
- ввімкнення та вимикання світлодіодної стрічки;
- звуковий супровід анімації.
Для досягнення поставленої мети необхідно вирішити наступні задачі:
1) Провести аналіз існуючих аналогів.
2) Розробити структурну схему пристрою.
3) Провести аналіз характеристик сучасних мікроконтролерів та їх
платформ.
4) Провести аналіз світлодіодних елементів та пристроїв
відображення інформації.
5) Вибрати середовище розробки програмного забезпечення для
керування пристроєм.
6) Розробити програмне забезпечення для керування
багатофункціональним рекламно-інформаційним пристроєм.
Лист
ЧДТУ.222107.001 ПЗ
6
Змн. Лист. № докум. Підпис Дата
2 ОГЛЯД ІСНУЮЧИХ АНАЛОГІВ ТА ТЕХНІЧНИХ РІШЕНЬ
В Україні існує немало аналогів піксельних дисплеїв які в основі своїй
використовуються для реклами тому є дуже багато професійних рішень що
до застосування Led-екранів у наружній рекламі або для реклами у
приміщеннях. Світлодіоди відмінно пристосовані до наших кліматичних
умов, не бояться впливів середовища і температурних змін. Найближчими
рішеннями будуть біжучі рядки, але вони реалізують тільки одну з функцій
системи та коштують у декілька разів більше.
Одним із аналогів є LED маска [2, 3]. Вона має лицьову панель, що
складається з невеликих RGB-світлодіодів, що дозволяє виводити на неї різні
картинки, написи та анімації. Причому не лише готові, а й створені
власноруч. А керувати всім можна за допомогою мобільного додатку
"ShiningMask". При цьому вбудована батарея забезпечує аксесуар до 12
годин автономної роботи. Практично всю її фронтальну панель займає LED-
екран, що складається з більш ніж 2000 потужних, яскравих та довговічних
RGB світлодіодів. На нього можна вивести будь-який малюнок або анімацію,
що дає можливість легко створювати різні, дивовижні та яскраві образи.
Можна змінювати жестом картинки або анімацію за допомогою вбудованого
сенсора (рис. 2.1).
Рисунок 2.1 – LED-маска
Лист
ЧДТУ.222107.001 ПЗ
7
Змн. Лист. № докум. Підпис Дата
Більш точніші характеристики по led-масці представлені в таблиці 2.1.
Таблиця 2.1 –Характеристики Led-маски
Технічні характеристики Параметри
Розмір 225х180х50 мм
Матеріал ABS пластик + ПВХ лінза + силікон
Кількість світлодіодів 2074
Режим живлення Зовнішній акумулятор /usb type-c
Шаблон продукту 45 динамічних зображень / 70
нерухомих фотографій
Вхідний вольтаж 5v/1a
Спосіб підключення Bluetooth
Ємність акумулятора 2000 mah
Тип світлодіода 2121RGB
Вага 300 г
Ціна 3715 грн
Дизайн
Led-маска - це повнолицьова маска котра покриває все лице
вбудованим в неї Led екраном яка складається з світлодіодів, і можна
замітити їх якщо роздивлятись не активувавши екран, а розмір самої маски
досить невеликий 225х180х50 мм (рис. 2.2).
На внутрішній частині маски розташований захисні окуляри з
прозорими лінзами які виготовлені з силікону для захисту очей. Ще можемо
замітити ремінь, що повністю регулюється для комфорту та забезпечує
зручне носіння, який розташований на липучці з боку (рис2.3)
Лист
ЧДТУ.222107.001 ПЗ
8
Змн. Лист. № докум. Підпис Дата
Рисунок 2.2- Led-маска
Рисунок 2.3 – Внутрішня сторона маски
Верхня частина маски містить компактне місце для батареї (рис 2.4),
usb-порт під зарядку (в деяких варіаціях) і кнопку (рис. 2.5) та на передній
частині датчик для переключення картинок (рис. 2.6).
Лист
ЧДТУ.222107.001 ПЗ
9
Змн. Лист. № докум. Підпис Дата
Рисунок 2.4 – Акумуляторний відсік
Рисунок 2.5- Кнопка керування
Лист
ЧДТУ.222107.001 ПЗ
10
Змн. Лист. № докум. Підпис Дата
Рисунок 2.6 – Датчик переключення
Підключення і функції
Для того щоб використовувати більше різноманітніші фони маски ніж
встановлено в стандартом шаблоні треба підключити Led-маску до додатку ,
що можна зробити відсканувавши QRcode, чи знайшовши та скачавши
ShiningMask, який доступний Google Play Store і AppStore (рис 2.7).
Рисунок 2.7- QRcode
Лист
ЧДТУ.222107.001 ПЗ
11
Змн. Лист. № докум. Підпис Дата
Наступний крок, запустивши додаток потрібно надати згоду на
включення Bluetooth (рис.2.8).
Рисунок 2.8- Включення Bluetooth
Потрібно ввімкнути маску, натиснувши верхню кнопку. Маски
поставляються з увімкненими батареями AA, проте, щоб уникнути розряду
батареї, батареї загорнуті у захисний пластик. Перед увімкненням потрібно
переконайтеся, що поліетиленова плівка знята.
Натиснути на "+"у правому верхньому кутку → обрати маску → та
натиснути на підключення (рис.2.9).
Лист
ЧДТУ.222107.001 ПЗ
12
Змн. Лист. № докум. Підпис Дата
Рисунок 2.9 – підключення маски
В головному меню (рис.2.10) додатка розміщені різні категорії,такі як:
• зміна яскравості маски;
• зміна мови;
Зміна пресетів (рис.2.11).
Маска поставляється із встановленими анімаціями. Натисніть верхню
кнопку, щоб перейти між пресетами.
У програмі виберіть піктограму зображення, щоб отримати доступ до
галереї налаштувань. Торкніться попередньої установки, щоб відправити її в
маску.
Додавання тексту (рис.2.12).
Виберіть піктограму олівця, щоб додати власний текст.
Торкніться верхньої частини, щоб написати повідомлення, та натисніть
«Надіслати» для підтвердження. Палітри під текстовим полем змінять колір.
Лист
ЧДТУ.222107.001 ПЗ
13
Змн. Лист. № докум. Підпис Дата
Рисунок 2.10 – Головне меню і зміна мови
Рисунок 2.11 – Зміна пресетів
Лист
ЧДТУ.222107.001 ПЗ
14
Змн. Лист. № докум. Підпис Дата
Рисунок 2.12 - Додавання тексту
Повзунок внизу керує шаблоном тексту (статичний, імпульсний, зліва
направо або праворуч наліво)
Натисніть нижню кнопку відправки (значок літака), щоб надіслати
маску.
Додавання власного зображення (рис. 2.13).
У програмі «Сяюча маска» проведіть пальцем до розділу «Зроби сам» і
торкніться зображення.
Натисніть кнопку завантаження, щоб завантажити власне зображення,
або використовуйте камеру, щоб зробити знімок. Ви можете розширити та
повернути зображення, щоб вирівняти очі.
Лист
ЧДТУ.222107.001 ПЗ
15
Змн. Лист. № докум. Підпис Дата
Рисунок 2.13 – Додавання власного зображення
Також схожим є рюкзаки з Led-екраном [4]. Головною функцією
рюкзака є вбудований кольоровий LED-екран. Ви маєте змогу підключити
смартфон до рюкзака через Wi-Fi, завантажити додаток LedSpaceApp і
зможете фантазувати з різноманітним дизайном. Додаток пропонує велику
кількість різноманітних анімацій, але можна додавати свої зображення,
фотографії, GIF анімації, малювати і писати різні написи і вибирати для них
тип відтворення. При цьому світлодіодний дисплей може служити не тільки
для розваги, але і бути реально корисним. Наприклад, на рюкзаку дитини,
якій потрібно переходити дорогу з великим трафіком, або велосипедиста /
мотоцикліста, можна запрограмувати миготливу картинку. Це приверне
увагу учасників дорожнього руху і зробить власника рюкзака більш
помітним на дорозі. Або ви зможете використовувати екран рюкзака для
реклами (рис. 2.14).
Лист
ЧДТУ.222107.001 ПЗ
16
Змн. Лист. № докум. Підпис Дата
Рисунок 2.14 – Рюкзак з Led-екраном
Подивимось на рюкзак ближче по основним характеристикам які
представлені в таблиці 2.2 [5].
Таблиця 2.2 - Характеристики світлодіодного Led-рюкзака
Технічні характеристики Данні
Розмір рюкзака 44x35x13 см
Розмір екрану 25x25 см
Кількість світлодіодів Повнокольоровий матричний екран
64х64
Режим живлення Зовнішній акумулятор
Спосіб підключення GPRS WIFI
Ємність рюкзака 20 л
Довжина ременя 42-79 см
Вага 950 г
Ціна 2569,20 грн
Лист
ЧДТУ.222107.001 ПЗ
17
Змн. Лист. № докум. Підпис Дата
Дизайн
Світлодіодний Led-рюкзак має невеликі розміри 44x35x13 см, проте
внутрішнього місця достатньо для більшості речей. Наприклад, є окрема
кишенька для ноутбука до 15.4 дюймів (рис.2.15).
Рисунок 2.15 - Кишенька для ноутбука
На лицевій частині рюкзака розташований сам екран з розміром 250 на
250 мм , він має 64 на 64 світлодіода для відображення кольорових картинок
через мобільний додаток (рис. 2.16).
Рисунок 2.16 – Світлодіодний екран
Лист
ЧДТУ.222107.001 ПЗ
18
Змн. Лист. № докум. Підпис Дата
Так же Led-екран захищений від води, так що можна не боятися
намочити рюкзак від дощем чи снігом.
Внутрішня частина світлодіодного LED-рюкзака має широкі ремні
(рис2.17), що дуже зручно сидять на плечах, а м’яка спинка робить рюкзак
максимально комфортним (рис. 2.18).
Рисунок 2.17 – Ремні рюкзака
Рисунок 2.18– внутрішня сторона ременя рюкзака
Лист
ЧДТУ.222107.001 ПЗ
19
Змн. Лист. № докум. Підпис Дата
Підключення і функції
Для того щоб підключити Led рюкзак [5], потрібно встановити
мобільний додаток під назвою LedSpace,який доступний GooglePlayStoei App
Store(рис 2.19).
Рисунок 2.19 – Мобільний додаток LedSpace
Підключення просте і неважке, потрібно зробити наступні кроки.
Перше підключити екран до павербанку через USB-кабель. Далі перейти в
Wi-Fi меню на мобільному пристрої і підключитись до екрану (рис. 2.20).
Рисунок 2.20 – Підключення екрану
Лист
ЧДТУ.222107.001 ПЗ
20
Змн. Лист. № докум. Підпис Дата
В головному меню додатка розміщені різні категорії, такі як мої Led,
програмні листи, текст повідомлення, малюнок, Gif-анімація і останнє
намалювати свій малюнок (рис. 2.21).
Рисунок 2.21 – Функціонал
Також в налаштуваннях можна вибрати рівень яскравості от 1 до 15 , в
залежності від часу доби , день чи ніч. Налаштовувати яскравість під себе не
буде проблемою(рис2.22).
Рисунок 2.21 – налаштування яскравості
Лист
ЧДТУ.222107.001 ПЗ
21
Змн. Лист. № докум. Підпис Дата
3 РОЗРОБКА СТРУКТУРНОЇ СХЕМИ
БАГАТОФУНКЦІОНАЛЬНОГО РЕКЛАМНО-ІНФОРМАЦІЙНОГО
ПРИСТРОЮ
Аналіз існуючих аналогів та технічних рішень пристроїв відображення
інформації за допомогою світлових ефектів виявив низьку їх переваг та
недоліків.
Пропонується структурна схема багатофункціонального рекламно-
інформаційного пристрою (рис.3.1.).
Мікроконтролерний Модуль відтворення Динаміки
пристрій аудіо
Блок живлення Блок відображення
інформації
Рисунок 3.1 – Структурна схема багатофункціонального рекламно-
інформаційного пристрою
Як видно з рис. 3.1 основні вузли запропонованої схеми–
мікроконтролерний пристрій та блок відображення інформації.
Лист
ЧДТУ.222107.001 ПЗ
22
Змн. Лист. № докум. Підпис Дата
У якості мікроконролерного пристрою можна обрати одну з
модифікацій популярних на сьогоднішній день плат Arduino.
Як блок відображення інформації можна обрати або світлодіодну
стрічку, або світлодіодну матрицю. Вибір того чи іншого варіанту буде
залежати від технічних завдань, які буде реалізовувати рекламно-
інформаційний пристрій.
Модуль відтворення аудіо можна обрати універсальний, спираючись на
характеристики аудіопотоку який буде відтворюватись.
Вибір конфігурації та потужності динамікив, які використовуються в
системі буде залежати від місця розташування пристрою та потреб
користувача.
Блок живлення обирається з урахуванням потужності споживання
блоку відтворення інформації, бо саме цей елемент є найбільш енергоємним
в запропонованій системі.
Лист
ЧДТУ.222107.001 ПЗ
23
Змн. Лист. № докум. Підпис Дата
4 АНАЛІЗ ЕЛЕМЕНТІВ СТРУКТУРИ ПРИСТРОЮ
4.1 Характеристики Arduino
Arduino (Ардуіно) – апаратна обчислювальна платформа для
аматорського конструювання, основними компонентами якої є плата
мікроконтролера з елементами вводу/виводу та середовище розробки
Processing/Wiring на мові програмування, що є спрощеною версією C/C++[6].
Arduino може використовуватися як для створення автономних
інтерактивних об'єктів, так і підключатися до програмного забезпечення, яке
виконується на комп'ютері (наприклад: Processing, AdobeFlash, Max/MSP,
PureData, SuperCollider).
Arduino може застосовуватися для розробки самостійних інтерактивних
пристроїв або може бути пов’язана з програмою на комп’ютері. Плати
можуть бути зібрані самостійно (всі креслення, оригінальні схеми, проекти у
вільному доступі) або ж можна придбати вже зібрану плату від офіційного
виробника, або від різних виробників, що копіюють плати.
На концептуальному рівні усі плати програмуються через порт RS-232
(послідовне з’єднання), але реалізація даного способу різниться від версії до
версії. Новіші плати програмуються через порт USB, що можливо завдяки
мікросхемі конвертера USB-to-Serial FTDI FT232R. У версії платформи
ArduinoUno як конвертер використовується контролер Atmega8 у SMD-
корпусі. Дане рішення дозволяє програмувати конвертер таким чином, щоб
платформа відразу розпізнавалася як миша, клавіатура, джойстик або інший
пристрій за вибором розробника зі всіма необхідними додатковими
сигналами керування. У деяких варіантах, таких як ArduinoMini або
неофіційній Boarduino, для програмування потрібно підключити до
контролера окрему плату USB-to-Serial або кабель.
Плати Arduino дозволяють використовувати значну кількість виводів
мікроконтролера як вхідні/вихідні контакти у зовнішніх схемах. Наприклад, у
Лист
ЧДТУ.222107.001 ПЗ
24
Змн. Лист. № докум. Підпис Дата
платі Decimila доступно 14 цифрових входів/виходів, 6 із яких можуть
генерувати ШІМ сигнал, і 6 аналогових входів. Ці сигнали доступні на платі
через контактні площадки або штирьовіконнектори. Також існує багато
різних зовнішніх плат розширення, які називаються «shields» («щити»), які
приєднуються до плати Arduino через штирові коннектори.
Інтегроване середовище розробки Arduino це багатоплатформовий
додаток на Java, що включає в себе редактор коду, компілятор і модуль
передачі прошивки в плату.
Середовище розробки засноване на мові програмування Processing та
спроектоване для програмування новачками, не знайомими близько з
розробкою програмного забезпечення. Мова програмування аналогічна мові
Wiring. Загалом, це C++, доповнений деякими бібліотеками. Програми
обробляються за допомогою препроцесора, а потім компілюються за
допомогою AVR-GCC.
Програми Arduino пишуться на мові програмування C або C++.
Середовище розробки Arduino поставляється разом із бібліотекою програм
«Wiring» (бере початок від проекту Wiring, який дозволяє робити багато
стандартних операцій вводу/виводу набагато простіше).Програмне
забезпечення Arduino досить гнучке для досвідчених інженерів та
програмістів (мова програмування мікроконтролера – C++), і в той самий час,
просте у використанні для початківців, тому що велика частина «складного»
мови С++ просто не потрібна. Користувачам необхідно визначити лише дві
функції для того, щоб створити програму, яка буде працювати за принципом
циклічного виконання:
- setup(): функція виконується лише раз при старті програми і
дозволяє задати початкові параметри;
- loop(): функція виконується періодично, доки плата не буде
вимкнена.
Лист
ЧДТУ.222107.001 ПЗ
25
Змн. Лист. № докум. Підпис Дата
4.2 Версії платформи Arduino
Нижче представлені основні версії плат Arduino:
- Due- нова плата на базі ARM мікропроцесора 32bit Cortex-M3
ARM SAM3U4E (рис. 4.1).
Рисунок 4.1 – Схема розташування контактів підключення плати Arduino
DUE
- Leonardo- остання версія платформи Arduno на ATmega32u4
мікроконтролері. Відрізняється роз'ємом microUSB, за розмірами збігається з
UNO (рис. 4.2).
Лист
ЧДТУ.222107.001 ПЗ
26
Змн. Лист. № докум. Підпис Дата
Рисунок 4.2 – Схема розташування контактів підключення плати Arduino
Leonardo
- Yun(опис на англ.) - Нова плата, з вбудованою підтримкою WiFi
набазіATmega32u4 andtheAtheros AR9331 (рис. 4.3) [7].
Рисунок 4.3 – Схема розташування контактів підключення плати Arduino Yun
Лист
ЧДТУ.222107.001 ПЗ
27
Змн. Лист. № докум. Підпис Дата
- Micro-нове компактне рішення на базі ATmega32u4. ( рис.4.4).
Рисунок 4.4 – Схема розташування контактів підключення
платиArduinoMicro[8]
- Uno- сама популярна версія базової платформи Arduino USB. Uno має
стандартний порт USB. (рис. 4.5) [9].
Рисунок 4.5 – Схема розташування контактів підключення плати Arduino
UNO
Лист
ЧДТУ.222107.001 ПЗ
28
Змн. Лист. № докум. Підпис Дата
Arduino Uno в чомусь схожа з Duemilanove, але має новий чіп
ATMega8U2 для послідовного підключення по USB і нове, більш зручне
маркування входів/виходів. Платформа може бути доповнена платами
розширення, наприклад, користувацькими платами з різними
функціями
- Arduino Ethernet- контролер з вбудованою підтримкою роботи по
мережі і з опціональною можливістю живлення по мережі за допомогою
модуля POE (Powerover Ethernet) (рис. 4.6).
Рисунок 4.6 – Схема розташування контактів підключення плати Arduino
Ethernet
• Nano- це компактна платформа, використовувана як макет.
Nanoпідключається до комп'ютера за допомогою кабелю USB Mini-B (див.
рисунок 4.7).
Лист
ЧДТУ.222107.001 ПЗ
29
Змн. Лист. № докум. Підпис Дата
Рисунок 4.7 – Схема розташування контактів підключення платиArduino
NANO[10]
• ArduinoNodemcuv3 -NodeMCU є платою для розробки на базі чіпа
ESP8266 (версія ESP12E), який представляє собою UART-WiFi модуль з
ультра низьким споживанням [11, 12]. Мікроконтролер не має на кристалі
енергонезалежної пам'яті для користувача.Виконання програмиведеться із
зовнішнього SPI ПЗП шляхом динамічного завантаження необхідних
проміжків програми в КЕШ інструкцій.Сам чіп проектувався для інтернету
речей, а дана плата дозволяє спростити розробку, тому що на ній вже
реалізовано підключення по USB, встановлений стабілізатор напруги
живлення, і всі виходи чіпа розведені на гребінки зі стандартним кроком 2.54
мм, що дозволяє вставити його в макетну плату і створити прототип навіть не
Лист
ЧДТУ.222107.001 ПЗ
30
Змн. Лист. № докум. Підпис Дата
включаючи паяльник. Крім того, плата поставляється з прошивкою
NodeMCU (рис. 4.8).
Рисунок 4.8 – Плата ArduinoNodemcu v3
Основні характеристики плати представлені в таблиці 4.1.
Таблиця 4.1 - Характеристики Arduino Nodemcu v3
Характеристика Показники
Wi-Fi протокол 802.11 b / g / n
Режими Wi-Fi точка доступу, клієнт
Робоча напруга, В 3…3,6
Максимальний струм, мА 220
Вбудований стек TCP / IP
Діапазон робочих температур -40°С…+125°С
Частота процесора 80 МГц (32-бітний)
Час пробудження і відправки пакетів 22МС
Особливості Вбудовані TR перемикач і PLL;
Наявність підсилювачів потужності,
регуляторів, систем управління
живленням
Лист
ЧДТУ.222107.001 ПЗ
31
Змн. Лист. № докум. Підпис Дата
На лицьовій частині плати роз'єм Micro USB, за допомогою якого в
контролер заливають скетчі або подають живлення від powerbank-а або
комп'ютера.
Для живлення на плату можна подавати напругу від 5 до 12 В, але
рекомендується від 10 В. Можна живити як від micro-USB, так і від контакту
Vin (від 5В.). Також існують додаткові плати розширення для зручного
живлення модулів.
Модуль третьої версії має 11 контактів введення-виведення загального
призначення. Крім цього деякі контакти з виведення володіють додатковими
функціями:
- D1-D10 - виведення з широтно-імпульсною модуляцією;
- D1, D2- виведення для інтерфейсу I²C / TWI;
- D5-D8 - виведення для інтерфейсу SPI;
- D9, D10 - UART;
- A0 - вхід з АЦП.
4.3Аналіз вибору плати Arduino
У світі існує багато версій плат Arduino, але для реалізації даного
проекту було обрано ArduinoNodeMcu v3, яка на мою думку для цього
проекту підходить ідеально.
Перше, що кидається у очі це розмір плати. Це дає змогу готову плату
розмістити в невеликому корпусі, на відміну від аналогів, які за своїми
розмірами в декілька раз більші за розмірами.
Також вибір такої плати дає змогу економити кошти, тому що за ціною
вона доступна для кожної людини, коштує 90 грн. Така плата дозволить
реалізувати багато інших проектів, якщо виникне потреба в їх виконанні.
Одним із плюсів цієї версії Arduino є – просте та зрозуміле середовище
програмування. Програмна оболонка є досить проста в застосуванні для
новачків, але вельми гнучка для більшості просунутих користувачів, щоб
Лист
ЧДТУ.222107.001 ПЗ
32
Змн. Лист. № докум. Підпис Дата
оптимально швидко досягти потрібного результату. Особливо комфортно це
в освітньому середовищі, де студенти досить легко розберуться з
платформою, а викладачі зможуть розробити навчальний курс.
На платі розташована кількість входів, що буде достатня тадуже
зручним для пайки проекту.
ArduinoNodemcu v3 випускає фірма LoLin. Схеми модулів
публікуються під ліцензією CreativeCommons, через це досвідчені
схемотехніки можуть створювати свої власні версії модуля. Навіть не
досвідчені користувачі можуть зробити макетну версію даного модуля, щоб
розуміти, яким же чином він здійснює роботу і заощаджує гроші.
Програмне забезпечення Arduino працює на більшості операційних
систем: Windows, Macintosh OS X, Linux, будучи відкритим додатком, який
працює на Java.
4.4 Світлодіодні стрічки
Світлодіодна стрічка - джерело світла, зібране на основі світлодіодів.
Являє собою гнучку друковану (монтажну) плату, на якій рівновіддалено
один від одного розташовані світлодіоди. Зазвичай ширина стрічки становить
8 або 10 мм, товщина (зі світлодіодами) 2-3 мм. При виготовленні стрічка
намотується в рулони відрізками по 5 м[13].
Для обмеження струму через світло діоди в електричну схему стрічки
вводяться струмообмежувальні резистори, які також монтуються на стрічці.
Світлодіодні стрічки виробляються з використанням SMD і DIP
технологій.
Цифри в позначенні маркування стрічки означають розмір чіпа
кристала в десятих частках міліметра. (SMD 3528 - розмір 3,5 мм на 2,8 мм.)
В залежності від типу світлодіодів стрічки поділяються за величиною
світлового потоку (кількістю світлодіодів) та кольором. Бувають стрічки з
монохромним свічінням (червоного, зеленого, синього, жовтого, білого
Лист
ЧДТУ.222107.001 ПЗ
33
Змн. Лист. № докум. Підпис Дата
кольору) і кольорові (з можливістю створення практично будь-якого
відтінку, RGB). Світлодіоди з білим кольором, також як і світлодіодні
стрічки, бувають різної кольорової температури – від 2700 К до 10000 К[14].
У конструкції кольорової стрічки використовуються кольорові
світлодіоди, які фактично являють собою розміщені в одному корпусі
світлодіоди трьох кольорів (червоний, зелений, синій), тобто цю стрічку
можна представити як три одинарні стрічки, що конструктивно знаходяться
на одній основі.
Світлодіодна стрічка працює від постійного струму і підключається до
постійної напруги, величиною зазвичай 12 вольт, рідше 24 вольт. Тому для
підключення світлодіодної стрічки до мережі електроживлення, додатково
необхідний блок живлення.
Для приєднання світлодіодної стрічки до джерела живлення на ній є
контактні площадки для припаювання провідників чи приєднання
спеціального з'єднувача з пружинними клемами на одному кінці і гніздом на
іншому. Розрізати стрічку можна лише по спеціальних мітках, що зазвичай
розміщуються з кратністю 5 сантиметрів. При розрізуванні половина кожної
з контактних площадок залишається на одному відрізку стрічки, а половина
на іншому.
Для плавного керування яскравістю і кольором світіння кольорової
світлодіодної стрічки застосовуються контролери, принцип роботи яких
полягає у зміні яскравості світіння світлодіодів окремо по кожного кольору.
Багато контролерів можуть керуватися за допомогою пульта дистанційного
керування [5].
Недоліки
- При однаковому світловому потоці, вартість світлодіодної стрічки
вище, ніж традиційних джерел світла, таких як лампа розжарювання або
люмінесцентна лампа;
Лист
ЧДТУ.222107.001 ПЗ
34
Змн. Лист. № докум. Підпис Дата
- Необхідність блока живлення для роботи в побутовій електромережі;
- Найгірші показники передачі кольору при використанні RGB стрічки
порівняно з білим світлодіодом. Це пов'язано з тим, що застосовуються
світлодіоди 3528/5050 мають невисокий індекс передачі кольору та деякими
виробниками зовсім не нормується.
Невеликі розміри, значна гамма кольорів і мале споживання
електроенергії визначили широке застосування світлодіодної стрічки.
Підсвічування інтер'єрів будинків і квартир (стелі, підлоги, периметри
приміщень, арок і ніш), дизайн екстер’єру (контури будівель, фонтани,
басейни, архітектурні елементи), рекламне підсвічування, автомобільний
дизайн, меблеве освітлення - все це сфери, де можна застосовувати і
використовувати світлодіодні стрічки.
Переваги:
- Простота монтажу. Багато стрічок мають на звороті двосторонній
скотч, що дозволяє їх легко кріпити практично на будь-які поверхні;
- Електробезпека. Завдяки низькій напрузі живлення світлодіодної
стрічки у більшості випадків не потрібно турбуватись про надійну ізоляцію
струмопровідних частин стрічки. Для роботи в агресивних умовах
випускаються стрічки у силіконовій захисній оболонці;
- Невисока ціна експлуатації. По відношенню світловий потік/вартість
експлуатаційних витрат світлодіоди мають один з найвищих показників;
- Надійність світлодіодів. У порівнянні з традиційними лампами
розжарювання і люмінесцентними лампами, світлодіоди мають більший
термін служби;
- Необмежений потенціал у збільшенні світлового потоку в
порівнянні з точковими джерелами, сумісними зі старою арматурою. Немає
небезпеки перегрівання елементів - світловий потік пропорційний довжині
стрічки;
Лист
ЧДТУ.222107.001 ПЗ
35
Змн. Лист. № докум. Підпис Дата
- Можливість реалізації оригінальних дизайнерських рішень за
рахунок гнучкості та невеликої товщини світлодіодної стрічки;
- Можливість вибору бажаного колірного відтінку сцени при
використанні RGB-світлодіодних стрічок з контролерами, що дозволяють
керувати незалежно яскравістю кожного каналу.
4.5 Адресна світлодіодна стрічка
На відміну від звичайної світлодіодної RGB-стрічки, в якій всі
світлодіоди однаково реагують на сигнал з RGB-контроллера, в адресній
LED-стрічці кожен світлодіод отримує індивідуальну команду управління. В
результаті користувач може максимально точно підбирати відтінок для
кожного світлодіода, створювати світлові ефекти і збирати матриці з 16 млн
кольорів[15].
На рисунку зображено адресну світлодіодну стрічку на чіпах WS2812B
(рис.4.9)
Рисунок 4.9 - Адресна світлодіодна стрічка на чіпах WS2812B
Лист
ЧДТУ.222107.001 ПЗ
36
Змн. Лист. № докум. Підпис Дата
4.6 Адресна світлодіодна матриця
Якщо укласти стрічку так, щоб світлодіоди утворювали рівну сітку, то
ми отримаємо матрицю, у якій можна запалити будь-який "піксель", а
запалити можна одним з 16,7 мільйонів кольорів і відтінків. Світлодіоди
RGB, яскравість кожного кольору має 256 градацій (8 біт)[16].
Мій вибір пав на матрицю тому що її простіше буде реалізувати для
мого проекту.
На рисунку зображено адресну світлодіодну матрицю на чіпах
WS2812B(рис.4.10).
Рисунок 4.10- Адресна світлодіодна матриця
4.7 Характеристика DFPlayer
DFPlayer – це MP3-програвачь котрий керується кнопками або за
допомогою Arduino, який можна використовувати в широкому діапазоні
задач.
Лист
ЧДТУ.222107.001 ПЗ
37
Змн. Лист. № докум. Підпис Дата
DFPlayer ховається під виглядом маленького чорного квадратика
текстоліту з парою мікросхем і ніжками з боків, так схожого зовні на інші
електронні модулі.
Повноцінний пристрій, в силах якого відтворювати наші улюблені
музичні записи в звичному, масово поширеному аудіоформаті MP3. Модуль є
готовим пристроєм, оснащений вбудованим апаратним декодером MP3 і
простеньким підсилювачем аудіосигналу з вихідною потужністю 3 Вт.
Розробнику модуля, компанії DFRobot, безумовно вдалося втілити в життя
по-своєму унікальний, недорогий, і в той же час багатофункціональний
музичний аудіоплеєр, що вмістится в настільки крихітні розміри [17].
Незважаючи на те, що DFPlayer цілком здатний працювати абсолютно
незалежно при прямому підключенні до джерела струму, динаміка і пари
кнопок управління, він як і раніше залишається універсальним модулем.
Завдяки наявності засобу зв'язку через стандартну шину послідовного
інтерфейсу UART, модуль може вільно інтегруватися в конструкції
найрізноманітніших виробів, що збираються на мікроконтролерних
платформах, додаючи в додатки голосовий або музичний супровід будь-яких
подій, що відбуваються.
Прикладами можуть послужити автомобільні навігаційні системи,
автоматизовані системи суспільного мовлення, пожежні або охоронні
сигналізації, системи стеження за справністю промислового обладнання,
системи голосових підказок по експлуатації обладнання, радіокеровані
моделі, годинник з будильником, музичні шкатулки та безліч інших
корисних проектів. Максимально широкий спектр можливостей управління
модулем DFPlayer реалізований у великому наборі команд, підтримуваних
програмної бібліотекою (рис. 4.11).
Лист
ЧДТУ.222107.001 ПЗ
38
Змн. Лист. № докум. Підпис Дата
Рисунок 4.11 - DFPlayer
Основні технічні характеристики
− Бренд: DFRobot;
− Модель: FN-M16P;
− Джерело живлення: 3.3-5 В;
− Робоча напруга: 3.3 В;
− Струм: 20-250 мА;
− Формати відтворення аудіофайлів: MP3, WAV;
− Розрядність ЦАП: 24 біт;
− Частота дискретизації, кГц: 8 / 11.025 / 12/16 / 22.05 / 24/32 / 44.1 /
48;
− Динамічний діапазон (DNR): 90 дБ;
− Співвідношення сигнал / шум (SNR): 85 дБ;
− Вбудований аудіо підсилювач 3 Вт;
− Регулювання гучності: 30 рівнів;
− Шестисмуговий еквалайзер з налаштуваннями: Без налаштувань /
Поп / Рок / Джаз / Класика / Бас;
− Інтегрований слот читання карт пам'яті microSD;
− Шина послідовного інтерфейсу USB 2.0;
− Файлова система накопичувача: FAT16 / FAT32;
− Підтримуваний розмір пам'яті:;
− до 32 Гб TF microSD / USB FLASH;
Лист
ЧДТУ.222107.001 ПЗ
39
Змн. Лист. № докум. Підпис Дата
− до 64 МБ NORFLASH;
− Керування програвачем:;
− Програмний: послідовний інтерфейс UART;
− Апаратний: інтерфейс цифрових портів I / O, інтерфейс аналогових
портів;
− Звукові виходи: навушники (стерео), динаміки (моно);
− Умови експлуатації:
− температура -40 ° С ... + 80 ° С;
− вологість 5% ... 95%;
− Розміри: 20.5 х 20.5 мм;
− Вага: 5 гр;
Крім входів робочої напруги, прямого виходу з ЦАП на навушники і
виходу зовнішніх динаміків, розробники DFPlayer оснастили модуль
додатковими контактами, які істотно зменшують навантаження на керуючий
мікроконтролер. Шина послідовної зв'язку USB 2.0 призначена для
підключення звичайних флеш-накопичувачів. Двокнопочна взаємодії в
першому варіанті, а також розширену схему аналогового керування, що
складається з окремих кнопок в клавіатурному або іншому схожому
виконанні, у другому варіанті.
4.8 Використання DFPlayer
Схема збору програвача MP3-файлів DFPlayer при індивідуальній
експлуатації проста в підключенні і абсолютно не вимоглива до елементної
бази. Знадобиться довільне джерело живлення 3.3-5В з виходом більш
250мА, один або два динаміка 4/8 Ом (або навушники) і дві кнопки.
Причому, абсолютно не важливо, який вихід на динаміки буде задіяний, з
підсилювача буде відтворюватися один і той же звук в монофонічному
звучанні. Виходи двоканального цифро-аналогового перетворювача розділені
Лист
ЧДТУ.222107.001 ПЗ
40
Змн. Лист. № докум. Підпис Дата
на правий і лівий, спільне їх підключення дозволить прослуховувати
композиції через навушники в стереофонічному режимі(рис. 4.12).
Рисунок 4.12- Схема збору DFPlayer
DFPlayerMini підтримує карти пам'яті і USB-флешки розміром до 32Гб
включно. Файли музичних композицій рекомендується копіювати на
заздалегідь відформатований накопичувач. Модулем DFPlayer передбачений
ряд умов, безпосередньо пов'язаних з черговістю відтворення записів при
переході до наступного аудіотрека або поверненню до попереднього. У
назвах файлів і імен папок обмежень ніяких немає, вони можуть залишатися
оригінальними або бути довільно зміненими. Значення має порядок їх
перенесення на зовнішній диск, а також розташування по папках, з
урахуванням глибини вкладення. Для того, щоб вибудувати впорядкованість
відтвореного списку, копіювання звукових записів на карту пам'яті бажано
виконувати по одній. Першими завжди відіграють все файли з кореневого
розділу, і тільки потім прозвучать композиції всередині папок. Перенесення
на диск TF / USB групи з декількох файлів або цілої папки швидше за все
призведе до непередбачуваною послідовності[18].
Лист
ЧДТУ.222107.001 ПЗ
41
Змн. Лист. № докум. Підпис Дата
Спосіб програмного керування модулем DFPlayer із застосуванням
Ардуіно-сумісного контролера можливий через шину асинхронної
послідовної зв'язку UART, що використовує для обміну даними лінії RX
(прийом) і TX (передача). Підключення між обома пристроями здійснюється
по перехресною схемою: вхід RX контролера з'єднується з вихід TX
DFPLayer, вихід TX контролера - з входом RX DFPLayer. На зображенні(рис.
4.13) з під'єднанням, як приклад зображений контролер DUE. Розробник
DFPlayer рекомендує додавати на лінії UART резистори 1кОм, якщо MP3-
аудіоплеєр передбачається поєднувати з контролером на 5-вольтової логіці.
Важливо розділити джерела живлення для контролера Ардуіно і для
DFPlayer, щоб уникнути випадкового пошкодження внутрішніх схем
регулятора напруги першого під час пікових навантажень другого.
Підключення динаміків і навушників повторює опис "використання
DFPLayer" [19].
Рисунок 4.13- приєднання DFPlayer до Arduino
Лист
ЧДТУ.222107.001 ПЗ
42
Змн. Лист. № докум. Підпис Дата
Модуль DFPlayer підтримує структуру з "звичайних", "великих" і
"службових" папок, розташованих в кореневому каталозі microSD / USB.
Імена звичайних папок складаються з двозначних цифр 01-99, кожна папка
може містити до 255 вкладених файлів з тризначним індексом 001-255.
Великі папки нумеруються 01-10, в кожній може зберігатися до 1000
звукозаписів з таким же тризначним покажчиком 001-999. Папки "MP3" і
"ADVERT" дозволяють розміщувати в себе до 65535 аудиотреков.
Лист
ЧДТУ.222107.001 ПЗ
43
Змн. Лист. № докум. Підпис Дата
5 ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ ДЛЯ КЕРУВАННЯ
ІНФОРМАЦІЙНИМ ПРИСТРОЄМ
5.4 Вибір середовища розробки
Для написання програми для керування інформаційним пристроєм
доцільно використовувати середовище Arduino IDE[20].
По-перше: це середовище розробки має досить зрозуміли інтерфейс,
навіть початківець і людина, яка вперше працює з платформою Arduino
зможе легко освоїтись у цій програмі.
По-друге: у цьому середовищі існує багато потрібних функцій
(наприклад підсвічування коду). Також є швидке меню за допомогою якого
можна швидко зкомпілювати чи завантажити скетч на платформу.
По-третє: в Arduino IDE швидке завантаження скетчів в плату, не
більше 1 хвилини.
Для Arduino є безліч загальнодоступних різних бібліотек, як для
складних завдань (робота з SD-картками, LCD, парсинг GPS-даних), так і для
простих проблем, як, наприклад, усунення брязкоту кнопок.
До Arduino можна підключити масу всіляких сенсорів, АЦП дозволяє
отримувати аналогові дані (наприклад, датчик температури), а вбудовані
інтерфейси SPI і i2c дозволяють працювати з 99% всіляких датчиків. Дуже
цікаво бачити плату BeagleBoard, до якої доводиться підключати Arduino,
тільки щоб отримувати дані з якого-небудь датчика.
До того-ж я звик працюти в цьому середовищі розробки.
Головні особливості Arduino - простота, відкритість і швидкість
входження. Всього 10 хвилин на ознайомлення і вже можна починати
програмувати.
Платформа Arduino, завдяки середовищу розробки Arduino IDE
програмується мовою програмування С++.
Лист
ЧДТУ.222107.001 ПЗ
44
Змн. Лист. № докум. Підпис Дата
C++ (Сі-плюс-плюс) — мова програмування високого рівня з
підтримкою кількох парадигм програмування: об'єктно-орієнтованої,
узагальненої та процедурної.
Розроблена Б'ярномСтрауструпом (англ. BjarneStroustrup) в AT&T
BellLaboratories (Мюррей-Хілл, Нью-Джерсі) 1979 року та початково
отримала назву «Сі з класами». Згодом Страуструп перейменував мову на
C++ у 1983 р. Базується на мові С. Вперше описана стандартом ISO/IEC
14882:1998, найбільш актуальним же є стандарт ISO/IEC 14882:2014.
У 1990-х роках С++ стала однією з найуживаніших мов програмування
загального призначення. Мову використовують для системного
програмування, розробки програмного забезпечення, написання драйверів,
потужних серверних та клієнтських програм, а також для розробки
розважальних програм, наприклад, відеоігор. С++ суттєво вплинула на інші
популярні сьогодні мови програмування: С# та Java.
Переваги мови C++:
- Швидкодія. Швидкість роботи програм на С++ практично не
поступається програмам на С, хоча програмісти отримали в свої руки нові
можливості і нові засоби.
- Масштабованість. На мові C++ розробляють програми для
найрізноманітніших платформ і систем.
- Можливість роботи на низькому рівні з пам'яттю, адресами,
портами. (Що, при необережному використанні, може легко перетворитися
на недолік.)
- Можливість створення узагальнених алгоритмів для різних типів
даних, їхня спеціалізація, і обчислення на етапі компіляції, з використанням
шаблонів.
- Підтримуються різні стилі та технології програмування,
включаючи традиційне директивне програмування, ООП, узагальнене
програмування, метапрограмування (шаблони, макроси).
Лист
ЧДТУ.222107.001 ПЗ
45
Змн. Лист. № докум. Підпис Дата
Порівняння C++ з мовами Java і C#:
Мова С++ з появою перших трансляторів знайшла відразу ж дуже
широке розповсюдження, на ній було створено величезну кількість програм і
застосунків. У міру накопичення досвіду створення великих програмних
систем спливли недоліки, які спонукали до пошуку альтернативних рішень.
Таким альтернативним рішенням стала мова Java, яка в деяких галузях стала
конкурувати у популярності з C++, а фірма Майкрософт запропонувала
мову C# як нову мову, що розвиває принципи C++ і що використовує
переваги мови Java. Надалі з'явилася мова Nemerle, що об'єднує переваги C#
з можливістю функціонального програмування. Останнім часом з'явилася
спроба об'єднання ефективності C++, безпеки і швидкості розробки, як в Java
і C# — була запропонована мова D, яка поки не отримала широкого
визнання.
Мова Java має такі особливості, яких немає в мові C++ :
- Java є типобезпечною мовою. Типобезпека гарантує відсутність у
програмах помилок, які важко знайти і які пов'язані з неправильною
інтерпретацією пам'яті комп'ютера. Це робить процес розробки надійнішим і
передбачуваним, а отже швидшим. Так само це дозволяє залучати до
розробки програмістів, що мають меншу кваліфікацію і мати великі групи
розробників.
- Java-код компілюється спочатку не в машинний код, а в певний
проміжний код, який надалі інтерпретується або компілюється, тоді як багато
C++ компіляторів орієнтовані на компіляцію в машинний код заданої
платформи.
- У мові Java є чіткі певні стандарти на введення-виведення,
графіку, геометрію, діалог, доступ до баз даних і інших типових застосувань.
Завдяки цим особливостям, застосунки на Java мають значно кращу
кросплатформність, ніж С++, і часто, будучи написані для певного
комп'ютера і операційної системи, працюють під іншими системами без змін.
Лист
ЧДТУ.222107.001 ПЗ
46
Змн. Лист. № докум. Підпис Дата
Програмісти, що пишуть на мові Java, не залежать від пакунків, нав'язаних
розробниками компіляторів на дане конкретне середовище, що різко спрощує
портування програм.
- У мові Java реалізовано повноцінне збирання сміття, якого немає
в C++. Немає в С++ і засобів перевірки правильності вказівників. З іншого
боку, C++ володіє набором засобів (конструктори і деструктори, стандартні
шаблони, посилання), що дозволяють майже повністю виключити виділення і
звільнення пам'яті вручну і небезпечні операції з вказівниками. Проте таке
виключення вимагає певної культури програмування, тоді як в мові Java воно
реалізується автоматично.
- Мова Java є чисто об'єктно-орієнтованою, тоді як C++ підтримує
як об'єктно-орієнтоване, так і процедурне програмування.
- В C++ відсутня повноцінна інформація про типи під час
виконання RTTI. Цю можливість можна було б реалізувати в C++, маючи
повну інформацію про типи під час компіляції CTTI.
- У C++ є можливість введення призначеного для користувача
синтаксису за допомогою #define, що може привести до того, що модулі у
великих пакетах програм стають сильно пов'язані один з одним. Це різко
знижує надійність пакетів і можливість організації розділених модулів. З
іншого боку, С++ надає достатньо засобів (константи, шаблони, вбудовані
функції) для того, щоб практично повністю виключити використання #define.
Ці відмінності призводять до запеклих суперечок між прихильниками
двох мов про те, яка мова найкраща. Прихильники Java вважають ці
особливості перевагами; прихильники C++ вважають, що у багатьох
випадках ці особливості є недоліками, зокрема:
- Ціною переносимості є вимога наявності на комп'ютері
віртуальної Java-машини, що приводить до уповільнення обчислень і
практичної неможливості використання нових можливостей апаратної
архітектури.
Лист
ЧДТУ.222107.001 ПЗ
47
Змн. Лист. № докум. Підпис Дата
- Збирання сміття призводить до втрати ефективності.
- Стандарти на графіку, доступ до баз даних тощо є недоліком,
якщо програміст хоче визначити свій власний стандарт.
- Вказівники у багатьох випадках є могутніми, або навіть
необхідними засобом, а їхнє безконтрольне використання небезпечне лише в
невмілих руках.
- Підтримка процедурного програмування є корисною.
Далеко не всі програмісти є прихильниками однієї з мов. На думку
більшості програмістів, Java і C++ не є конкурентами, тому що мають різні
галузі застосування. Інші вважають, що вибір мови для багатьох завдань є
питанням особистого смаку.
5.2Використання середовища розробки Arduino IDE.
В рамках розробки пристрою на базі Arduino необхідно створити
програмне забезпечення, що відповідає основним вимогам типового
середовища IDE. Це не потужне програмне забезпечення, як наприклад
Eclipse або NetBeans, а проста, функціональна програма, яка дозволяє
писати, компілювати і завантажувати програму в мікроконтролер[21].
Проста структура Arduino IDE є перевагою, так як забезпечує швидке
освоєння програми і перехід до розробки додатків для Arduino. Незважаючи
на свою простоту і інтуїтивно зрозуміле управління, варто звернути увагу на
найбільш важливі елементи програми.
Після запуску програми з’являються чотири головних функціональних
елементи:
⎯ меню програми;
⎯ панель швидкого доступу до найбільш важливих функцій;
⎯ редактор (для розміщення коду програми);
⎯ панель повідомлень і статусу програми.
Лист
ЧДТУ.222107.001 ПЗ
48
Змн. Лист. № докум. Підпис Дата
Меню програми дозволяє здійснювати управління проектом,
наприклад, створення нового проекту, збереження поточного, друк на
принтері вихідного коду.
Цікавою особливістю програми є вбудований набір прикладів
програм. Це дуже зручно, так як приклади програм можна відразу
перевірити, завантаживши їх в мікроконтролер. При необхідності можливо
зберегти приклад і змінити його відповідно до потреб користувача.
Меню «Файл» (рис. 5.1) і «Правка» (рис. 5.2) містять стандартні
параметри.
Рисунок 5.1 – Меню «Файл»
Лист
ЧДТУ.222107.001 ПЗ
49
Змн. Лист. № докум. Підпис Дата
Рисунок 5.2 – Меню «Правка»
Меню «Скетч» (рис. 5.3) містить параметри для компіляції проекту і
імпорту необхідних бібліотек.
Рисунок 5.3 – Меню «Скетч»
Цікавим і корисним елементом IDE є меню «Інструменти», яке включає
в себе функції автоматичного форматування коду, архівування проекту,
Лист
ЧДТУ.222107.001 ПЗ
50
Змн. Лист. № докум. Підпис Дата
включення монітора послідовного порту (USB в Arduino розглядається як
звичайний послідовний порт) (рис.5.4).
Рисунок 5.4 – Меню «Інструменти»
Найбільш важливим елементом меню «Інструменти» є можливість
вибору відповідної плати, тобто системи Arduino підключеної до
комп'ютера. У списку знаходяться всі офіційні версії Arduino. Якщо тип
плати відсутній в списку, то є можливість додати її, змінивши один з файлів
програми.
У меню «Інструменти» також потрібно встановити порт, до якого
підключена плата Arduino. Пакет Arduino IDE сам визначає порт, але іноді
потрібно вручну встановити номер порту в налаштуваннях.
За допомогою Arduino IDE можна також завантажити, тобто
запрограмувати Bootloader (завантажувач) для нового, чистого
Лист
ЧДТУ.222107.001 ПЗ
51
Змн. Лист. № докум. Підпис Дата
мікроконтролера Atmega, що дозволяє клонувати чіпи або просто замінити
несправний мікроконтролера в Arduino.
Для нормальної роботи з Arduino IDE використовується панель
швидкого доступу, яка оснащена найбільш важливими кнопками. Це
рішення, що полегшує роботу з пакетом IDE, дає нам прямий доступ до
практично всіх необхідних параметрів при написанні і тестуванні програми
(рис. 5.5).
Рисунок 5.5 – Панель швидкого доступу
Вони дозволяють (зліва направо):
⎯ скомпілювати програму;
⎯ завантажити програму в мікроконтролер (перед прошивкою код
програми компілюється);
⎯ почати роботу над новим проектом;
⎯ відкрити існуючий проект;
⎯ зберегти проект на диск;
⎯ включити монітор послідовного порту.
Додатковим корисним елементом, що знаходяться під кнопкою
включення монітора послідовного порту - це меню для управління вкладками
(7).Вкладки в Arduino IDE спрощують написання складних проектів, а так
само дозволяють працювати з декількома проектами одночасно (рис.5.6).
Лист
ЧДТУ.222107.001 ПЗ
52
Змн. Лист. № докум. Підпис Дата
Рисунок 5.6 – Меню управління вкладками
Найбільша частина вікна програми призначена для написання
безпосередньо самого коду програми. Редактор в Arduino IDE не дуже
просунутий, але має найважливіші елементи, що дозволяють полегшити
написання простих програм. До таких елементів можна віднести
підсвічування синтаксису і блоків (дужки). Це не багато, але достатньо для
простих проектів.
Останнім елементом програми є вікно повідомлень і статусу. Видима
там інформація дозволяє користувачеві знайти помилки в програмному коді і
отримати підтвердження про завершення компіляції і завантаження програми
в мікроконтролер.
Підводячи підсумок можна сказати, що Arduino IDE - це простий
програмний пакет, який дозволяє запрограмувати будь-яку відому плату
Arduino, спілкуватися з послідовним портом і легко управляти проектами.
При роботі з програмою користувачеві немає необхідності займатися
написанням коду, контролем за використанням входів - виходів, перевіркою
унікальності імен та узгодженістю типів даних. За всім цим стежить
програма. Так само вона перевіряє правильність проекту цілком і вказує на
наявність помилок.
Для роботи з зовнішніми пристроями створено кілька допоміжних
інструментів. Це інструмент ініціалізації і установки годинника реального
часу, інструменти для читання адрес пристроїв на шинах OneWire і I2C а
Лист
ЧДТУ.222107.001 ПЗ
53
Змн. Лист. № докум. Підпис Дата
також інструмент для читання і збереження кодів. Всі певні дані можна
зберегти у вигляді файлу і в подальшому використовувати в програмі.
Також існує сучасна альтернатива Arduino IDE – це PlatformIO IDE.
Це середовище розробки крос-платформних кодів і менеджер
бібліотеки з платформами, такими як підтримка Arduino або MBED.
Розробники подбали про інструменти, відладження, фреймворки, що
працюють на найпопулярніших платформах, таких як Windows, Mac і Linux.
PlatformIO підтримує більше 200 плат розробки разом з більш ніж 15
платформами розробки і 10 рамками. Таким чином, більшість популярних
плат охоплені. Розробники виконали важку роботу з організації та
управління сотнями бібліотек, які можна включити до вашого проекту.
Також багато прикладів дозволяють швидко розвиватися. PlatformIO
спочатку був розроблений з філософією командного рядка. Він успішно
використовується з іншими середовищами, наприклад, Eclipse або
VisualStudio.
PlatformIO не залежить від платформи, в якій він працює. Насправді,
єдиною вимогою є Python, який існує майже всюди. Це означає, що проекти
PlatformIO можна легко перенести з одного комп'ютера на інший, а також,
що PlatformIO дозволяє легко обмінюватися проектами між членами
команди, незалежно від операційної системи, з якою вони воліють
працювати.
Крім того, PlatformIO може працювати не тільки на часто
використовуваних настільних комп'ютерах / ноутбуках, але й на серверах без
X WindowSystem. Хоча сама PlatformIO є консольним додатком, вона може
бути використана в комбінації з улюбленою областю і робочим IDE або
текстовим редактором, таких як платформа IDE для Atom, CLion, Eclipse,
Emacs, NetBeans, QtCreator, SublimeText, VIM, VisualStudio, PlatformIO IDE
для VSCode і т.д.
Лист
ЧДТУ.222107.001 ПЗ
54
Змн. Лист. № докум. Підпис Дата
Добре те, що PlatformIO може працювати на різних операційних
системах. Але що більш важливо, з точки зору розвитку, принаймні, є список
підтримуваних плат і мікрокоманд. Для того, щоб зберегти речі: PlatformIO
підтримує приблизно 200 вбудованих плат і всі основні плати розширення.
Не заглиблюючись у деталі впровадження PlatformIO, робочий цикл
проекту, розробленого з використанням PlatformIO, такий:
- користувачі обирають плати, зацікавлені в "platformio.ini" (файл
конфігурації проекту);
- виходячи з цього списку плат, PlatformIO завантажує необхідні
інструменти і встановлює їх автоматично;
- користувачі розробляють код і PlatformIO переконується, що він
компілюється, готує і завантажує код в мікроконтролер.
5.3 Завантаження скетчу
Після конструювання пристрою та написання до нього програмного
коду, необхідно завантажити скетч на саму платформу ArduinoNodemcu v3.
Для цього потрібно виконати кілька пунктів:
1. Перший етап: зкомпілювати програмний код на наявність в
ньому помилок, якщо помилок не виявлено переходимо до наступного
пункту (рис. 5.7).
Рисунок 5.7 – Режим компіляції
2. Потрібно підключити платформу ArduinoNodemcu v3 до ПК для
цього використовується Mini USB .
3. В меню «Інструменти» потрібно вибрати плату яка
використовується. В даному випадку це ArduinoNodemcu v3 (рис. 6.8).
Лист
ЧДТУ.222107.001 ПЗ
55
Змн. Лист. № докум. Підпис Дата
Рисунок 5.8 – Вибір плати з меню «Інструменти»
4. Наступним етапом є вибір процесора плати, є можливість
використовувати як процесор «NodeMCU 0.9(ESP-12 Module)» так і процесор
«NodeMCU 1.0(ESP-12E Module)» (рис. 5.9) [22].
Рисунок 5.9 – Вибір процесора з меню «Процесори»
5. Після цього слід вибрати номер порта до якого підключена
платформа Arduino, в нашому випадку це порт 4(рис. 5.10).
Рисунок 5.10 – Вибір порту з меню «Порти»
6. Останнім етапом у завантаженні скетча є вибір на панелі
швидкого доступу режим «Загрузка»(рис.5.11).
Лист
ЧДТУ.222107.001 ПЗ
56
Змн. Лист. № докум. Підпис Дата
Рисунок 5.11 – Режим Загрузка
Після цього спочатку Arduino IDE зкомпілює наявний код і лише після
цього піде режим завантаження прошивки(тобто скетча).
По закінчення завантаження можемо побачити ось такий напис, який
свідчить про те, що завантаження завершено (рис. 5.12).
Рисунок 5.12 – Завантаження завершене
Лист
ЧДТУ.222107.001 ПЗ
57
Змн. Лист. № докум. Підпис Дата
ВИСНОВКИ
Основною метою кваліфікаційної роботи було розробка та аналіз
багатофункціонального рекламно-інформаційного пристрою.
Для досягнення поставленої мети було вирішено наступні задачі:
7) Проведено аналіз існуючих аналогів.
8) Розроблено структурну схему пристрою.
9) Проведено аналіз характеристик сучасних мікроконтролерів та їх
платформ.
10) Проведено аналіз світлодіодних елементів та пристроїв
відображення інформації.
11) Вибрано середовище розробки програмного забезпечення для
керування пристроєм.
12) Розроблено програмне забезпечення для керування
багатофункціональним рекламно-інформаційним пристроєм.
Платформа Arduino, на основі якої розроблявся пристрій, є доступною
за ціною та достатньо потужною, щоб забезпечити будь-які забаганки
користувача. Встановлення модулю та загрузка скетчу – прості дії, які здатен
зробити будь-який користувач ПК.
В роботі показано, що на платі Arduino можна зробити працюючий
прототип такого багатофункціонального рекламно-інформаційного пристрою
який може використовуватись для розваги в побуті, так і може бути
використаний в рекламній індустрії.
Отже запропонований пристрій можна буде використовувати у себе
вдома. Перевагами такого пристрою є низька енергозатратність, простота у
використанні, що є великим плюсом.
Основна перевага запропонованого пристрою - це економічна вигода,
дивлячись на подібні проекти можна побачити, що їх ціна є безпідставно
Лист
ЧДТУ.222107.001 ПЗ
58
Змн. Лист. № докум. Підпис Дата
завищеною. Що ж стосується запропонованого пристрою, то окремо кожен
елемент коштує не дорого і кожен зможе придбати їх:
- ArduinoNodemcu v.3 коштує – 85 грн;
- Адресна світлодіодна матриця( 16х16 ) – 320грн;
- Блок живлення 5В,2А – 60 грн;
- Резистор (від 100-500 КОм.) – 1 грн;
Отже для створення подібного пристрою не потрібно великих затрат,
загалом витрати на метеріали та комплектуючі всього лише близько 466 грн.
Дивлячись на подібні товари, це набагато економніше аніж в інтернет-
магазинах.
Ще одна перевага запропонованого пристрою – це розширений
функціонал. Запропонований дисплей має 8 режимів, які також мають
підрежими, також для цих режимів наявна функція управління швидкістю,
зміни кольорів, частоти спалахів. Також є кнопка ввімкнення та вимикання.
На розглянутих в роботі аналогах - режимів не більше трьох-чотирьох.
Та й функціонал в половину менший.
Наступною перевагою є те, що Arduino це плата, для якої треба писати
програмний код. Це корисне тим, що дає можливість відточення своїх
навиків, перевірка власних сил, практичне підтвердження набутих знань,
використання мови програмування С++ не тільки в середовищі операційних
систем, а й в автономних пристроях.
Також адресна світлодіодна стрічка має великий спектр кольорів (
), як видно з наведених вище прикладів: у
аналогів немає такої кількості. Чим більше кольорів тим буде прекрасніший
загальний вид під час музики.
Також стрічка має низьку чутливість до впливу температур – не дарма
вуличні рекламні вивіски виготовлені з використанням світлодіодів.
Лист
ЧДТУ.222107.001 ПЗ
59
Змн. Лист. № докум. Підпис Дата
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. ДСТУ 3008:2015.Звіти у сфері науки і техніки.Структура та правила
оформлення .
2. Led Маска [Електронний ресурс]: Режим доступу:
https://www.ctrs.com.ua/shmot-i-dikij-merch/led-mask-with-battery-
688850.html
3. Світлодіодна маска для лиця [Електронний ресурс]: Режим доступу:
https://www.joom.com/ru/products/60700f66f2154a0172dfb60f
4. Led Рюкзак [Електронний ресурс]: Режим доступу:
https://kibernetiki.com.ua/led-ryukzak-seryy
5. Опис світлодіодного Led рюкзака [Електронний ресурс]: Режим доступу:
https://www.centrparts.com/led-rjukzak-obzor-kupit-cena/
6. Arduino [Електронний ресурс]: Режим доступу:
https://uk.wikipedia.org/wiki/Arduino
7. Arduino YÚN [Електронний ресурс]: Режим доступу:
https://doc.arduino.ua/ru/hardware/YUN
8. ArduinoMicro [Електронний ресурс]: Режим доступу:
https://doc.arduino.ua/ru/hardware/Micro
9. ArduinoUno [Електронний ресурс]: Режим доступу:
https://doc.arduino.ua/ru/hardware/Uno
10. DCCduinoNanoCH340 - аналог ArduinoNanov3.0 [Електронний ресурс]:
Режим доступу: https://www.mini-tech.com.ua/arduino-nano-ch340
11. NodeMCU- швидкий старт [Електронний ресурс]: Режим доступу:
https://cxem.net/arduino/arduino220.php
12. Wi-Fiмодуль для Nodemcu[Електронний ресурс]: Режим доступу:
https://arduino.ua/prod1492-wi-fi-modyl-nodemcu-esp8266
13. Світлодіодна стрічка [Електронний ресурс]: Режим доступу:
https://5watt.ua/uk/blog/statti/adresna-svitlodiodna-strichka-ssho-ce.
Лист
ЧДТУ.222107.001 ПЗ
60
Змн. Лист. № докум. Підпис Дата
14. Світлодіодна стрічка [Електронний ресурс]: Режим доступу:
https://ledjournal.info/spravochnik/adresnaja-svetodiodnaja-lenta.html.
15. Підключення адресному світлодіодної стрічки WS2812B до Arduino -
[Електронний ресурс]: Режим доступу:
http://arduino.on.kg/podklyuchenie-adresnoy-svetodiodnoy-lentyWS2812B-
k-Arduino.
16. Адресна світлодіодна матрица [Електронний ресурс]: Режим доступу:
https://electrochip.mk.ua/product/adresnaya-svetodiodnaya-matritsa-neopixel-
16-x-16-led-na-mikrosheme-ws2812b/
17. Dfplayer [Електронний ресурс]: Режим доступу:
https://arduino.ua/prod1690-mini-mp3-pleer
18. Dfplayer [Електронний ресурс]: Режим доступу:
https://focma.com/dfplayer-mini/
19. Dfplayer [Електронний ресурс]: Режим доступу: https://www.mini-
tech.com.ua/zvukovoy-modul-dfplayer-mini
20. Arduino_IDE [Електронний ресурс]: Режим доступу:
https://ru.wikipedia.org/wiki/Arduino_IDE
21. ArduinoIDE [Електронний ресурс]: Режим доступу:
https://ampermarket.kz/base/arduino_ide/
22. Настройка Arduino IDE для программирования WiFi модуля ESP8266
[Електронний ресурс]: Режим доступу:
https://geekmatic.in.ua/arduino_ide_with_wifi_esp8266
Лист
ЧДТУ.222107.001 ПЗ
61
Змн. Лист. № докум. Підпис Дата