Professional Documents
Culture Documents
Швидка розробка пристроїв IoT серед віртуального моделювання Proteus
Швидка розробка пристроїв IoT серед віртуального моделювання Proteus
Лабораторна робота № 1
Тема: «Швидка розробка пристроїв IoT
серед віртуального моделювання Proteus»
з дисципліни
«Програмування систем IoT»
ХАІ.503.535.24В.050102,9609654
Чепелевич А.І.
(підпис, дата) (ім’я, прізвище)
Перевірив асистент
(науковий ступінь, вчене звання, посада)
Землянко Г.А.
(підпис, дата) (ім’я, прізвище)
Харків
2024
Мета роботи:
Ознайомитись з віртуальними моделями пристроїв IoT у програмному
середовищі Proteus, отримати практичні навички швидкого налагодження
програм для AVR-мікроконтролерів у середовищі Proteus.
Постановка завдання
Навчитися аналізувати та проектувати пристрої, використовуючи
віртуальні мікроконтролери Arduino, засоби налагодження програм.
2
Виконання роботи
1. Приклад проекту: Arduino 4 Channel Relay
Починаємо роботу з відкриття проекту працюючої схеми Arduino 4
Channel Relay у програмному середовищі Proteus. Після запуску програми у
вікні Sample Projects Browser вибираємо схему, що цікавить нас (рис. 1.1).
4
Рис. 1.4 – Спостереження реакції мікроконтролера (IO8, IO7, IO2, IO 4)
на команди, що надходять, по послідовному каналу
на схемі моделювання Arduino 4 Channel Relay
6
Рис. 1.7 – Масив 1024 байт енергонезалежної пам'яті даних (EPROM)
10
Ця схема надає нам можливість детально подивитися на моделювання
роботи LCD-екрану, який має два рядка для виводу тексту, який у свою чергу
треба зазначити в програмі. Задля виведення кирилиці використовується
бібліотека «CyrillicLiquidCrystal.hpp».
Запускаємо симуляцію на виконання. Результати за різний проміжок
часу зазначені на рис. 2.3-2.5.
11
Рис. 2.5 – Виведення тексту вказаного у програмі (3)
Але починаючи з шістнадцятої секунди текст перестає коректно
виводитися (рис. 2.6), тому звертаємося до коду (рис. 2.7).
12
Рис. 2.7 – Вкладка Source Code
Прогортавши до кінця, побачимо випадок, на якому виникає проблема,
і бачимо, що саме у цей момент вимикається декодування символів (рис. 2.8).
на рис. 2.9.
13
Рис. 2.9 – Результат роботи симуляції після внесення змін до коду
Розглянемо внутрішні елементи моделі мікроконтролера при обиранні
Debug-AVR:
CPU Registers (Регістри загального призначення, рис. 2.10);
Data Memory (оперативна пам'ять даних – ОЗУ (SRAM), рис. 2.11);
EPROM Memory (Енергонезалежна пам'ять даних, рис.2.12)
Program memory (Flash пам'яті програм, рис. 2.13);
IO Registers (реєстри введення-виведення, рис. 2.14).
Рис. 2.10 – Стан 32-х робочих регістрів ядра мікроконтролера (CPU Registers)
14
Рис. 2.11 – Масив 2048 байт комірок ОЗУ (SRAM)
Коди команд програми (рис. 2.13) займають 3329 байт у діапазоні адрес
$0000 … $0D01 (0.. 3329).
16
Рис. 2.15 – Налаштування мікроконтролера
Рис. 2.16 – Результат роботи (1) Рис. 2.17 – Результат роботи (2)
17
3. Приклад проекту: Arduino Motor Shield
Рис. 3.4 – Стан 32-х робочих регістрів ядра мікроконтролера (CPU Registers)
19
Рис. 3.5 – Масив 2048 байт комірок ОЗУ (SRAM)
20
Рис. 3.7 – Вміст Flash пам'яті програм
Коди команд програми (рис. 3.7) займають 3613 байт у діапазоні адрес
$0000 … $0Е1D (0.. 3613).
22
Рис. 3.11 – Результат роботи (1)
23
Крім того, отримано досвід у роботі з терміналом для введення даних,
вивчили режими відлагодження та виконання програм, написання та збору
проекту.
Було проведено різні типи робіт: з осцилографом для візуалізації
роботи електричних схем і вивчення їх параметрів; з LCD-екраном для
поглиблення знань з області взаємодії з периферійними пристроями та
розширення вмінь працювати з візуалізацією інформації на електронних
дисплеях; аналіз внутрішніх елементів моделі мікроконтролера за допомогою
режиму відлагодження (Debug-AVR), завдяки якому можна ретельніше
вивчати параметри та властивості мікроконтролера, що було корисно для
розуміння його роботи та можливостей.
Під час аналізу схеми моделювання роботи двигунів було виявлено, що
в середовищі Proteus можна реалізувати графічне відображення складних
елементів, наприклад, обертання моторів та системи гальмування. Ці
елементи можуть працювати не лише за допомогою кліків миші, але й за
довгого натискання на кнопку.
В результаті цих дій поглиблено розуміння роботи електричних систем
та практично застосовувати отримані знання.
Використані джерела
1. Методичні вказівки Землянко Г.А. до Лабораторної роботи №1
2. Лекції Землянко Г.А. з дисципліни «Програмування систем IoT»
24