Частина 1.
Згідно сучасної концепції української середньої базової освіти, програмування складає вагому частину курсу інформатики. Це імітаційні середовища на кшталт code.org (стаття на Плетиві) , це Scratch, в якому можна створювати цікаві речі. Це багато інших чудових систем і концепцій, що знаходять, пишуть, перекладають і використовують неспокійні душею вчителі. І незважаючи на очевидну революцію штучного інтелекту, в освіті залишаються актуальними ці самі неспокійні вчителі поряд з неспокійними учнями-ачомучками.
Програмування розумних пристроїв. Для чого це може бути корисним? Які проєкти можна реалізувати в даному напрямку?
Реальна задача: систематично вимірЯти вологість ґрунту в вазонах по школі. Не використовувати ж для цього цілий комп’ютер чи ноутбук. Це незручно, дорого. Крім того, треба якось подружити ноутбук і якісь датчик, що безпосередньо буде вставлятися в землю. І потрібно буде носити за собою датчик разом з ноутбуком, дротами і брудними від ґрунту руками.
А якщо купити контролер за 70 гривень, датчик вологості за 100 гривень, невеликий екран за 60 гривень. Все це вкласти в якийсь корпус а для живлення використати звичайний павербанк? Залишиться написати програму для роботи цього пристрою. Завдяки великій кількості бібліотек, програмування такого контролера виходить зовсім нескладним. Особисто у мене програма для такого пристрою вийшла менше 100 рядків коду, більша частина з яких про те, в якому місці екрану і як вивести текст. І більшу частину коду я знайшов в інтернеті, де безкоштовно пояснили деталі. Готовий пристрій був подарований вчительці біології, яка опікується шкільними рослинами.
Ще один приклад з реалізованих – система моніторингу якості повітря в приміщенні, де перебувають люди. Той самий контролер за 70 гривень, екран за 60 гривень, високоточний датчик температури і вологості (DHT22) – 150 гривень, датчик СО2 (MH-Z19B) – тисяча гривень. Останній датчик мені подарували. Програма для даного пристрою у мене вийшла також менше 100 рядків коду. Ось приклад, як воно працює, ще без корпусу:
В реальності екран так не мерехтить. А готовий пристрій моніторить повітря в кабінеті, де я працюю, він виручив нас і при регулюванні системи вентиляції в шкільному укритті.
На цьому самому контролері вже три роки працюють шкільні розумні годинники, що повідомляють про час уроків і перерв, виводять інформаційні повідомлення. Ось опис і відео роботи цього годинника на Плетиві.
Всі ці пристрої я будував на контролері NodeMCU. Він дешевий, в Китаї можна знайти такий за 70 гривен. Це набагато дешевше, ніж, припустимо micro:bit, що розроблений BBC для використання в комп’ютерній освіті Сполученого Королівства, що коштує в Україні біля тисячі гривень. NodeMCU – значно дешевший. Якщо більше немає грошей, то можна лише його купити і вже цього достатньо. Беремо кабель від зарядки телефону (micrоUSB) і підключаємо цей контролер до комп’ютера. На контролері є вбудований світлодіод і ми можемо їм керувати. Запалювати і виключати. Як це робити? Спитайте в інтернеті «NodeMCU blink». Для багатьох першою програмою для контролера і є керування вбудованим світлодіодом.
Якщо є можливість і хочеться трохи більше, то можна докупити ще щось цікаве. Для своїх експериментів я використовую окрім NodeMCU світлодіодну панель MAX7219. Ось так вона виглядає і коштує близько 160 грн.
Щоб з’єднати контролер і панель паяти нічого не треба. Проводи входять в комплект, а для наших експериментів додатковий роз’єм не потрібний.
В січні 2021 року я на своєму гуртку вперше спробував програмування контролерів. На комп’ютери заздалегідь поставив все необхідне програмне забезпечення. В папці-проекті був зразок коду, так званий скетч. Учні відкрили папку, переробили скетч, одним кліком мишки скомпілювали зі скетча бінарний файл та залили його в контролер.
Все відразу і запрацювало, тобто при невеличкій стартовій підготовці програмування контролеру може мати достатньо низький поріг входження.
Ось, результати першого уроку:
Автор – Олександр Соколов
Автор – Дмитро Маловатов
Звертаю увагу – це перший урок. Тобто, немає нічого складного, якщо заздалегідь поставити необхідне програмне забезпечення. Хочете засвітити світлодіод – вкажіть його координати.
Нескладно. Недорого. Цікаво?
В другій частині статті буде покрокова інструкція як зробити таке (тут відео в динаміці):