https://github.com/keyestudio2019/mecanum_robot_v2
Практична робота: Програмування роботизованої платформи з ІЧ-керуванням та виведенням індикації
Мета: Навчитися підключати зовнішні бібліотеки, використовувати змінні для збереження ІЧ-сигналів, програмувати виведення графіки на матрицю та самостійно створювати логічні розгалуження для розпізнавання кодів кнопок пульта.
Обладнання та програмне забезпечення:
Роботизована платформа Keyestudio Mecanum Robot V2.
Плата розширення з матрицею світлодіодів.
ІЧ-пульт дистанційного керування.
Середовище розробки (MakeCode).
Бібліотека розширення: https://github.com/keyestudio2019/mecanum_robot .
Хід роботи
1. Підготовка та ініціалізація
Відкрийте середовище розробки, перейдіть в Розширення та додайте вказаний вище репозиторій GitHub.
У блоці при запуску підключіть приймач командою connect IR receiver at P9.
2. Зчитування та фіксація сигналу
У головному циклі постійно налаштуйте збереження стабільних даних у змінні:
Створіть змінні Сигнал та команда.
На початку циклу присвойте змінній Сигнал значення блока IR button.
Реалізуйте перевірку: якщо Сигнал не дорівнює 0, то перезапишіть його значення у змінну команда. Це дозволить зберігати код останньої натиснутої кнопки.
3. Реалізація базових команд (Зразок)
За допомогою конструкції якщо... інакше якщо... запрограмуйте реакцію на перші три кодові сигнали пульта:
Код 70 (Рух уперед): додайте блок показати світлодіоди та намалюйте стрілку вгору.
Код 68 (Рух ліворуч): додайте блок показати світлодіоди та намалюйте стрілку ліворуч.
Код 67 (Рух праворуч): додайте блок показати світлодіоди та намалюйте стрілку праворуч.
Завдання для самостійного виконання
Керуючись наведеним вище зразком та кодами з малюнка програми, самостійно доповніть логічне розгалуження інакше якщо для наступних команд:
Код 21: вивести стрілку вниз.
Код 64: вивести піктограму стоп (квадрат або коло).
Коди від 22 до 82 (Цифрові кнопки 0–9): налаштуйте виведення відповідного тексту/цифри через блок показати рядок.
Коди 66 та 74 (Спеціальні знаки): налаштуйте відображення символів * та #.
Гілка інакше (для невідомих кодів): вивести на екран поточне значення змінної команда.
Кінцева гілка інакше (якщо сигнал взагалі відсутній): вивести порожню іконку або крапку.
Контрольні запитання
Чому програма записує дані у змінну команда лише тоді, коли Сигнал не дорівнює нулю?
Який блок використовується для виведення статичного малюнка, а який — для рухомого тексту (цифр)?
Яка кнопка пульта відповідає за виведення цифри "5" на світлодіодну матрицю?
Висновок: У ході роботи було опановано роботу з ІЧ-датчиком, алгоритми фільтрації сигналів за допомогою змінних та створено розгалужену систему індикації команд на світлодіодному екрані.
Якщо ви бажаєте скоригувати роботу, дайте знати:
Чи потрібно додати таблицю відповідності кнопок пульта та їхніх цифрових кодів для учнів?
Чи варто включити сюди також блоки керування двигунами автомобіля, чи залишити лише індикацію на екрані?
Які критерії оцінювання (наприклад, за виконання 5, 8 чи всіх команд) додати до роботи?