

Командна
робота
Tailored strategies to drive growth and success
Статус
Проєктна
діяльність
Boost sales with optimized eCommerce solutions

КМТ - Кабінет
математики
Turn your ideas into a thriving online presence

Педагогічна
діяльність
Showcase your work with impactful design
ВСТУП:
Arduino у 9 класі є інструментом, який дозволяє поєднати програмування, роботу з алгоритмами, сенсорними системами та практичними пристроями. Учні отримують змогу побачити, як абстрактні поняття інформатики реалізуються у вигляді реальних електронних проєктів.
У статті представлено три навчальні приклади: автоматичні двері з пультом, гра «Змійка» та ультразвуковий радар. Кожен з них розглянуто з позиції алгоритмів, пошуку, умов, циклів та застосування в житті.
У статті представлено три навчальні приклади: автоматичні двері з пультом, гра «Змійка» та ультразвуковий радар. Кожен з них розглянуто з позиції алгоритмів, пошуку, умов, циклів та застосування в житті.

Keywords | Ключові слова
алгоритм пошуку точок; серійний обмін даними; комп’ютерний зір; мікроконтролер; структурне програмування; автоматизація побутових процесів.
inF-UA
point search algorithm; serial data exchange; computer vision; microcontroller; structured programming; automation of household processes.
inF-EN
Розумна система керування світлодіодами за допомогою жестів руки
Сучасні технології швидко розвиваються, і керування пристроями без дотику вже стало звичайним явищем. Ми можемо бачити це в автомобілях, смартфонах, побутовій техніці.
У цьому проєкті я вирішив створити власну систему керування освітленням за допомогою рухів руки, використовуючи Arduino UNO R4 Minima, камеру комп’ютера та Python.
У цьому проєкті я вирішив створити власну систему керування освітленням за допомогою рухів руки, використовуючи Arduino UNO R4 Minima, камеру комп’ютера та Python.
Мета роботи:
● навчитися передавати дані між комп’ютером і Arduino;
● реалізувати розпізнавання пальців за допомогою камери;
● створити систему, яка реагує на кількість показаних пальців;
● розробити власний приклад “інтернету речей” у домашніх умовах.
● навчитися передавати дані між комп’ютером і Arduino;
● реалізувати розпізнавання пальців за допомогою камери;
● створити систему, яка реагує на кількість показаних пальців;
● розробити власний приклад “інтернету речей” у домашніх умовах.
Основна ідея:
Коли користувач показує певну кількість пальців у камеру, комп’ютер розпізнає це число за допомогою бібліотеки MediaPipe (Python) і надсилає його до плати Arduino.
Arduino отримує число та вмикає відповідну кількість світлодіодів.
Також до системи під’єднано енкодер — щоб регулювати яскравість,
і тумблер — щоб вимикати живлення.
Коли користувач показує певну кількість пальців у камеру, комп’ютер розпізнає це число за допомогою бібліотеки MediaPipe (Python) і надсилає його до плати Arduino.
Arduino отримує число та вмикає відповідну кількість світлодіодів.
Також до системи під’єднано енкодер — щоб регулювати яскравість,
і тумблер — щоб вимикати живлення.
Використане обладнання:
● Arduino UNO R4 Minima
● 5 світлодіодів + резистори
● Енкодер (крутилка з двома виходами CLK, DT)
● Модуль тумблера ON/OFF
● Макетна плата та провідники
● Комп’ютер із Python
● Arduino UNO R4 Minima
● 5 світлодіодів + резистори
● Енкодер (крутилка з двома виходами CLK, DT)
● Модуль тумблера ON/OFF
● Макетна плата та провідники
● Комп’ютер із Python
Частина на Python (розпізнавання пальців):
import cv2, mediapipe as mp, serial, time
ser = serial.Serial('COM4', 9600)
mpHands = mp.solutions.hands
hands = mpHands.Hands()
cap = cv2.VideoCapture(0)
while True:
success, img = cap.read()
imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
results = hands.process(imgRGB)
fingers = 0
if results.multi_hand_landmarks:
for hand in results.multi_hand_landmarks:
landmarks = hand.landmark
# просте визначення піднятих пальців
for tip in [8, 12, 16, 20]:
if landmarks[tip].y < landmarks[tip-2].y:
fingers += 1
if landmarks[4].x < landmarks[3].x:
fingers += 1
ser.write(f"{fingers}\n".encode())
cv2.imshow("Camera", img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
Якщо користувач показує 5 пальців — у порт відправляється «5», і Arduino засвічує 5 світлодіодів.
inF-Codes

Частина на Arduino (керування світлодіодами):
int leds[] = {2, 3, 4, 5, 6};
#define CLK 8
#define DT 9
#define SWITCH_PIN 7
int lastStateCLK;
int brightness = 120;
int fingerCount = 0;
int lastValidCount = 0;
unsigned long lastDataTime = 0;
const unsigned long DATA_TIMEOUT = 500;
void setup() {
Serial.begin(9600);
for (int i = 0; i < 5; i++) pinMode(leds[i], OUTPUT);
pinMode(CLK, INPUT);
pinMode(DT, INPUT);
pinMode(SWITCH_PIN, INPUT);
lastStateCLK = digitalRead(CLK);
}
void loop() {
if (Serial.available()) {
int incoming = Serial.parseInt();
if (incoming >= 1 && incoming <= 5) { fingerCount = incoming; lastValidCount = incoming; }
else if (incoming == 0) fingerCount = 0;
lastDataTime = millis();
}
if (millis() - lastDataTime > DATA_TIMEOUT && fingerCount != 0) fingerCount = lastValidCount;
int currentStateCLK = digitalRead(CLK);
if (currentStateCLK != lastStateCLK && currentStateCLK == HIGH) {
if (digitalRead(DT) != currentStateCLK) brightness += 10;
else brightness -= 10;
brightness = constrain(brightness, 0, 255);
}
lastStateCLK = currentStateCLK;
bool powerOn = digitalRead(SWITCH_PIN);
if (powerOn) {
for (int i = 0; i < 5; i++) {
if (i < fingerCount) analogWrite(leds[i], brightness);
else analogWrite(leds[i], 0);
}
} else for (int i = 0; i < 5; i++) analogWrite(leds[i], 0);
}

Алгоритм роботи системи:
1. Захоплення зображення з вебкамери.
2. Пошук ключових точок руки (MediaPipe).
3. Визначення кількості піднятих пальців (пошук по координатах).
4. Передача знайденого числа через послідовний порт.
5. Отримання даних Arduino та виведення сигналу на LED.
6. Додаткове регулювання яскравості енкодером.
Цей алгоритм можна описати як послідовний алгоритм із елементами пошуку та обміну даними.
Модуль Python використовує алгоритм пошуку по координатах для виявлення пальців — це приклад застосування алгоритмів пошуку на практиці.
1. Захоплення зображення з вебкамери.
2. Пошук ключових точок руки (MediaPipe).
3. Визначення кількості піднятих пальців (пошук по координатах).
4. Передача знайденого числа через послідовний порт.
5. Отримання даних Arduino та виведення сигналу на LED.
6. Додаткове регулювання яскравості енкодером.
Цей алгоритм можна описати як послідовний алгоритм із елементами пошуку та обміну даними.
Модуль Python використовує алгоритм пошуку по координатах для виявлення пальців — це приклад застосування алгоритмів пошуку на практиці.
Зв’язок із темою “Алгоритми та інформатика 9 клас”
У 9 класі учні вивчають:
● алгоритми пошуку (наприклад, лінійний, двійковий);
● структурне програмування;
● передавання даних між пристроями;
● роботу з умовами, циклами, змінними.
У цьому проєкті все це використано:
● пошук координат пальців — приклад алгоритму пошуку;
● цикл
●
● обмін між Python і Arduino — приклад роботи з інтерфейсом Serial.
У 9 класі учні вивчають:
● алгоритми пошуку (наприклад, лінійний, двійковий);
● структурне програмування;
● передавання даних між пристроями;
● роботу з умовами, циклами, змінними.
У цьому проєкті все це використано:
● пошук координат пальців — приклад алгоритму пошуку;
● цикл
while — безперервна обробка відео;●
if...else — прийняття рішень залежно від ситуації;● обмін між Python і Arduino — приклад роботи з інтерфейсом Serial.
Практичне застосування
Подібні системи можуть використовуватися:
● у “розумному домі” для керування світлом чи шторами;
у класах інформатики для демонстрації принципів комп’ютерного зору;
● у медицині — для контролю жестів без дотику;
у робототехніці — для навчання маніпуляторів реагувати на рух руки.
Подібні системи можуть використовуватися:
● у “розумному домі” для керування світлом чи шторами;
у класах інформатики для демонстрації принципів комп’ютерного зору;
● у медицині — для контролю жестів без дотику;
у робототехніці — для навчання маніпуляторів реагувати на рух руки.
Висновок:
● Проєкт показує, як знання з інформатики, алгоритмів і програмування можна застосувати в реальному житті.
● Використовуючи прості пристрої, можна створити інтелектуальну систему керування жестами, що реагує на людину.
● Цей проєкт об’єднує теорію алгоритмів, інженерію, програмування Python і роботу з електронікою Arduino — чудовий приклад сучасної міжпредметної інтеграції.
● Проєкт показує, як знання з інформатики, алгоритмів і програмування можна застосувати в реальному житті.
● Використовуючи прості пристрої, можна створити інтелектуальну систему керування жестами, що реагує на людину.
● Цей проєкт об’єднує теорію алгоритмів, інженерію, програмування Python і роботу з електронікою Arduino — чудовий приклад сучасної міжпредметної інтеграції.
inF-Door | ARDUINO

Автоматичні двері з пультом дистанційного керування
Призначення
Система забезпечує доступ за допомогою введення правильного IR-коду з пульта. Сервопривід виконує відкриття, якщо отриманий сигнал збігається з контрольним.
Поняття інформатики, що опрацьовуються
● Лінійний алгоритм.
● Умовні оператори.
● Алгоритми пошуку значення.
● Опрацювання вхідних даних.
● Логічні вирази.
Алгоритм роботи
● Отримання сигналу з IR-приймача.
● Зчитування числового коду.
● Порівняння з опорним значенням.
● Виконання руху сервоприводу в разі збігу.
● Повернення у стан очікування.
Короткий приклад коду
Система забезпечує доступ за допомогою введення правильного IR-коду з пульта. Сервопривід виконує відкриття, якщо отриманий сигнал збігається з контрольним.
Поняття інформатики, що опрацьовуються
● Лінійний алгоритм.
● Умовні оператори.
● Алгоритми пошуку значення.
● Опрацювання вхідних даних.
● Логічні вирази.
Алгоритм роботи
● Отримання сигналу з IR-приймача.
● Зчитування числового коду.
● Порівняння з опорним значенням.
● Виконання руху сервоприводу в разі збігу.
● Повернення у стан очікування.
Короткий приклад коду
#include <Servo.h>
#include <IRremote.h>
Servo door;
IRrecv irrecv(11);
decode_results res;
const unsigned long codeAccess = 0xFFA25D;
void setup() {
door.attach(9);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&res)) {
if (res.value == codeAccess) door.write(90);
else door.write(0);
irrecv.resume();
}
}
Code language: PHP (php)
inF-Radar | ARDUINO

Ультразвуковий радар
Суть проєкту
Учитель показує, як із сервомотора та датчика HC-SR04 зробити справжній сканер відстані.
Сенсор “пінгує” простір звуковою хвилею, а сервомотор обертає його на різні кути.
Навчальна цінність
Учень вивчає:
● що таке цикл for,
● як вимірюється час і відстань,
● як працюють датчики в електроніці,
● як передавати дані на комп'ютер,
● принцип принципу дальноміра, що використовується в авто.
Короткий приклад коду
Учитель показує, як із сервомотора та датчика HC-SR04 зробити справжній сканер відстані.
Сенсор “пінгує” простір звуковою хвилею, а сервомотор обертає його на різні кути.
Навчальна цінність
Учень вивчає:
● що таке цикл for,
● як вимірюється час і відстань,
● як працюють датчики в електроніці,
● як передавати дані на комп'ютер,
● принцип принципу дальноміра, що використовується в авто.
Короткий приклад коду
#include <Servo.h>
Servo radar;
const int trig = 9, echo = 10;
void setup() {
radar.attach(8);
Serial.begin(9600);
}
void loop() {
for(int angle = 0; angle <= 180; angle++) {
radar.write(angle);
delay(15);
long duration, dist;
digitalWrite(trig, LOW); delayMicroseconds(2);
digitalWrite(trig, HIGH); delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
dist = duration * 0.034 / 2;
Serial.println(dist);
}
}
Code language: PHP (php)
inF-SNAKE | ARDUINO

Гра “Змійка” на дисплеї Arduino
Суть проєкту
Мініверсія класичної гри, де гравець керує змійкою, що рухається по екрану.
Проєкт працює через:
● мікроконтролер,
● дисплей (PDC8544, OLED або LCD),
● джойстик або кнопки.
Що вивчає учень
● координати на екрані,
● структури даних (масиви — тіло змійки),
● цикл гри (постійне оновлення зображення),
● умови (зіткнення, збирання яблук),
● алгоритм пошуку (коли змійка шукає вільне місце).
● Учні наочно бачать, що гра — це набір простих алгоритмів.
Короткий приклад коду
Мініверсія класичної гри, де гравець керує змійкою, що рухається по екрану.
Проєкт працює через:
● мікроконтролер,
● дисплей (PDC8544, OLED або LCD),
● джойстик або кнопки.
Що вивчає учень
● координати на екрані,
● структури даних (масиви — тіло змійки),
● цикл гри (постійне оновлення зображення),
● умови (зіткнення, збирання яблук),
● алгоритм пошуку (коли змійка шукає вільне місце).
● Учні наочно бачать, що гра — це набір простих алгоритмів.
Короткий приклад коду
#include <Adafruit_PCD8544.h>
Adafruit_PCD8544 display = Adafruit_PCD8544(7,6,5,4,3);
int x = 20, y = 20;
void setup() {
display.begin();
display.clearDisplay();
}
void loop() {
display.clearDisplay();
display.fillRect(x, y, 5, 5, BLACK);
display.display();
}
Code language: HTML, XML (xml)
Приклад роботи дисплея:
Як це пов’язано з навчальною програмою інформатики?
Як це пов’язано з навчальною програмою інформатики?
Алгоритми
● Кожен проєкт — це поєднання:
● послідовності дій,
● умов,
● циклів,
● обробки сигналів.
Алгоритми пошуку
● двері шукають правильний сигнал пульта;
● змійка шукає координати;
● радар шукає перешкоди.
Інформаційні моделі
● Учні створюють електронні системи, які реагують на вхідні ● дані (датчики → програма → дія).
Фізика + інформатика
● Ідеальне поєднання:
● хвилі (ультразвук),
● електрика,
● сенсори,
● логіка обробки сигналу.
Алгоритми
● Кожен проєкт — це поєднання:
● послідовності дій,
● умов,
● циклів,
● обробки сигналів.
Алгоритми пошуку
● двері шукають правильний сигнал пульта;
● змійка шукає координати;
● радар шукає перешкоди.
Інформаційні моделі
● Учні створюють електронні системи, які реагують на вхідні ● дані (датчики → програма → дія).
Фізика + інформатика
● Ідеальне поєднання:
● хвилі (ультразвук),
● електрика,
● сенсори,
● логіка обробки сигналу.
Висновок
Arduino дає можливість учням зрозуміти, як працюють сучасні технології:
● двері, дисплеї, роботи, системи безпеки, побутова техніка.
● Це не просто “гра з Arduino” — це справжній вступ до інженерії, програмування та логічного мислення.
● Учні бачать результат одразу — і це найкращий спосіб навчання.
● двері, дисплеї, роботи, системи безпеки, побутова техніка.
● Це не просто “гра з Arduino” — це справжній вступ до інженерії, програмування та логічного мислення.
● Учні бачать результат одразу — і це найкращий спосіб навчання.