Scenariusz zajęć realizowanych zgodnie z metodologią STEM w oparciu o zasoby Zintegrowanej Platformy Edukacyjnej, opracowany w ramach rządowego programu wspierania organów prowadzących szkoły i placówki w rozwijaniu umiejętności cyfrowych dzieci i młodzieży na lata 2025‑2029 – „Cyfrowy Uczeń” (Dz.U.2025.1254)

bg‑azure

Informacje ogólne

Imię i nazwisko autora: Roman Frąckowiak

Przedmiot wiodący:

  • informatyka

Filary metodologii STEM realizowane w ramach zajęć:

(S) przedmioty przyrodnicze

  • fizyka

(T) technologie

  • informatyka

(E) inżynieria

(M) matematyka

Etap edukacyjny:

III etap - szkoła ponadpodstawowa

  • liceum ogólnokształcące

  • technikum

Pracownia STEM wspierana przez scenariusz:

  • P3: Pracownia przyrodnicza

Czas potrzebny na realizację zajęć:

  • 90 minut (2 godziny lekcyjne)

Sugerowany sposób organizacji czasu:

  • zajęcia realizowane w całości w sposób ciągły

Krótki opis zajęć

Lekcja wprowadza uczniów w podstawy programowania w języku opartym o C/C++ na platformie Arduino. Uczniowie poznają strukturę programu, działanie funkcji setup i loop oraz sposób sterowania prostym układem elektronicznym. W części praktycznej podłączają diodę LED i programują jej miganie, a następnie dodają przycisk i wykorzystują instrukcje warunkowe do kontroli działania układu. Ostatnim etapem jest odczyt temperatury z czujnika analogowego i reagowanie na przekroczenie progu. Po zajęciach uczniowie potrafią tworzyć proste programy, odczytywać dane z czujników i sterować elementami wykonawczymi.

Tytuły i odnośniki do e‑materiałów z ZPE, na podstawie których  przygotowane są zajęcia

bg‑azure

Cele lekcji oraz realizowane punkty podstawy programowej

Cel ogólny zajęć:

Celem lekcji jest wprowadzenie uczniów w podstawy programowania platformy Arduino Uno w języku opartym o C/C++ oraz rozwijanie umiejętności tworzenia prostych programów sterujących działaniem elementów elektronicznych poprzez odczyt danych z czujników i reagowanie na nie za pomocą instrukcji warunkowych.

Cele operacyjne w sferze kognitywnej zgodnie ze zrewidowaną taksonomią Blooma

Z zakresu pamiętania informacji
(przywoływanie istotnych informacji).

Uczeń:

  •  wymienia podstawowe elementy zestawu opartego o platformę Arduino i podaje ich funkcje (m.in. platforma Arduino np. Arduino Uno, dioda LED, rezystor, przycisk, czujnik temperatury)

  • podaje kluczowe parametry diody LED i czujnika temperatury (np. napięcie zasilania, wymagany rezystor, zakres pomiarowy czujnika);

  • rozpoznaje podstawowe instrukcje programu Arduino w języku C/C++ (instrukcje pinMode, digitalWrite, digitalRead, analogRead, funkcje setup()loop());

  • identyfikuje zapis prostej instrukcji warunkowej if oraz pętli (np. fragment programu migającego diodą);

  • określa, jakiego rzędu wartości (zakres) zwraca funkcja odczytu analogowego z przetwornika (0–1023) oraz jakie jednostki mają zmierzone wielkości (stopnie Celsjusza dla temperatury).

Z zakresu rozumienia informacji
(wyjaśnienie istotnych informacji).

Uczeń:

  • wyjaśnia, jak działa prosty obwód z diodą LED i rezystorem oraz dlaczego zastosowanie rezystora ogranicza prąd w obwodzie (chroniąc diodę);

  • opisuje, w jaki sposób mikrokontroler Arduino odczytuje stan cyfrowy przycisku (stan wysoki 5V lub niski 0V) i jak wykorzystuje instrukcję warunkową do podjęcia decyzji na podstawie tego stanu

  • tłumaczy różnicę między sygnałem analogowym a cyfrowym na przykładzie czujnika temperatury (ciągła zmiana napięcia na wyjściu czujnika vs. dwa stany przycisku)

  • interpretuje fragment kodu programu Arduino zawierający instrukcję warunkową sterującą diodą LED (np. decydującą o zapaleniu diody w zależności od temperatury).

Z zakresu zastosowania informacji
(rozwiązywanie problemów o zamkniętej strukturze, o jednoznacznym rozwiązaniu).

Uczeń:

  • montuje prosty obwód elektroniczny na płytce stykowej według schematu, podłączając prawidłowo diodę LED, rezystor, przycisk oraz czujnik do odpowiadających im pinów Arduino

  • zapisuje program w środowisku Arduino IDE realizujący miganie diody LED z zadanym interwałem czasowym (wykorzystując funkcje pinMode, digitalWrite oraz delay)

  • stosuje instrukcję warunkową if...else do sterowania działaniem diody w reakcji na stan przycisku (np. włącza diodę po naciśnięciu przycisku, wyłącza po zwolnieniu)

  • wykorzystuje funkcję analogRead do odczytania wartości z czujnika analogowego i przelicza otrzymany odczyt na wartość fizyczną (temperaturę) zgodnie z podanym wzorem

  • tworzy program używający pętli (np. głównej pętli programu w funkcji loop() lub pętli for) do ciągłego monitorowania stanu czujników i aktualizowania na bieżąco stanu diody LED (ciągłe próbkowanie czujnika w odstępach czasu).

Z zakresu analizowania, oceniania i tworzenia informacji 
(rozwiązywanie problemów o otwartej strukturze, tworzenie własnych rozwiązań zadanych problemów, ocena dotycząca wartości idei lub materiałów).

Uczeń:

  • analizuje schemat połączeń układu oraz kod programu Arduino w poszukiwaniu błędów (np. nieprawidłowe wpięcie przewodu, brak średnika w kodzie) i proponuje poprawki umożliwiające prawidłowe działanie układu;

  • porównuje różne podejścia do odczytu sygnału z czujnika (np. zapalenie diody według progu vs. wyświetlanie dokładnej wartości temperatury) i dobiera odpowiednie rozwiązanie do postawionego zadania;

  • modyfikuje przykładowy kod programu, aby rozszerzyć jego funkcjonalność – na przykład wprowadza dodatkową diodę LED sygnalizującą inny zakres temperatur lub zmienia logikę tak, by dioda zapalała się po jednokrotnym naciśnięciu przycisku (zapas pamięci stanu);

  • projektuje własny prosty układ oparty na Arduino, rozwiązujący postawiony problem – np. „automatyczna lampka nocna” (zapalenie LED po wykryciu ciemności) lub „alarm temperaturowy” (sygnalizacja przekroczenia zadanej temperatury);

  • ocenia poprawność działania zrealizowanego układu na podstawie testów – sprawdza, czy dioda reaguje zgodnie z założeniami (na przycisk lub zmianę temperatury), oraz wyciąga wnioski na temat dokładności odczytu czujnika (np. porównując wskazania z termometrem wzorcowym).

Sposób realizacji zaplanowanych celów przez nauczyciela

Nauczyciel wyjaśnia podstawy elektroniki i działania programu, zadając uczniom pytania naprowadzające. Następnie pokazuje działanie przykładowego układu Arduino i omawia kod źródłowy, aby uczniowie zrozumieli zależność między połączeniami a programem.

W części praktycznej uczniowie pracują w parach, montują układ i wspólnie piszą pierwszą wersję programu. Każdy uczeń następnie samodzielnie uzupełnia lub rozszerza fragment kodu na swoim komputerze, aby utrwalić nowe umiejętności. W trakcie pracy uczniowie eksperymentują z parametrami programu i czujników, obserwując ich wpływ na działanie układu, co wspiera myślenie analityczne.

W razie problemów uczniowie pracują w małych grupach, ustalają przyczyny błędów i konsultują rozwiązania. Zajęcia kończą się wspólną dyskusją, podczas której omawiane są wyniki, najważniejsze wnioski i przykłady praktycznych zastosowań Arduino, co pozwala osiągnąć wszystkie cele lekcji.

Realizowane punkty podstawy programowej kształcenia ogólnego dla danego przedmiotu

fizyka
informatyka
bg‑azure

Przygotowanie do zajęć

Przygotowanie nauczyciela

• Nauczyciel przygotowuje komputery z dostępem do Internetu i aktualnym środowiskiem Arduino IDE
• Przygotowuje stanowiska z kompletnymi zestawami np. Arduino Uno, kablem USB, płytką stykową oraz podstawowymi elementami (LED, rezystory, przyciski, czujnik temperatury). Upewnia się, że wszystko działa.
• Przygotowuje krótkie wprowadzenie teoretyczne o podstawach elektroniki i składni Arduino C/C++, w tym funkcjach setup() i loop().
• Korzysta z materiałów ZPE – diagramów, schematów i przykładów kodu, które pokazuje uczniom na początku zajęć.
• Opracowuje przykładowe programy (Blink, odczyt temperatury z zapalaniem diody), które posłużą jako demonstracja.
• Przygotowuje zadania praktyczne w formie kart pracy lub fragmentów kodu do uzupełnienia.
• Udostępnia uczniom linki do dodatkowych materiałów: filmów o projektach Arduino i symulacji w Tinkercad.

Co zrobić, aby zajęcia były dostępne dla wszystkich uczniów?

• Zapewnić ergonomiczne stanowiska i możliwość pracy na większych ekranach. Uczniowie mają dostęp do większych elementów oraz alternatywnych urządzeń wskazujących, jeśli tego potrzebują.
• Materiały przygotować w kilku formach: tekst, grafika, film i audio. Kod na rzutniku ma duży kontrast i wyraźną czcionkę. Polecenia są podzielone na proste etapy.
• Zastosować zróżnicowane metody pracy: montaż układu, obserwacja działania diody i praca w parach. Uczniowie mogą wybrać formę prezentacji efektów.
• Zadania mają różne poziomy trudności. Chętni dostają rozszerzenia, a uczniowie potrzebujący wsparcia mają uproszczone wersje oraz możliwość wydłużenia czasu.
• Nauczyciel używa prostego języka, wspiera polecenia przykładami i dba o to, by wszyscy zrozumieli instrukcje.
• W razie potrzeby zajęcia są konsultowane ze specjalistą, a uczniowie mogą liczyć na pomoc asystenta.
• Atmosfera sprzyja współpracy, błędy są traktowane jako element nauki, a uczniowie zachęcani są do wzajemnego wsparcia.
• Uczniowie mogą korzystać z Tinkercada, symulatorów i narzędzi blokowych, które ułatwiają programowanie i testowanie układów.

Przygotowanie uczniów

  • Zapoznać się z krótkim materiałem o mikrokontrolerach, podstawowych elementach elektronicznych oraz przykładach projektów Arduino.

  • Obejrzeć także krótki film demonstrujący  działanie prostego układu, aby zobaczyć praktyczne zastosowanie omawianych treści.

  • Rozwiązać quiz online sprawdzający znajomość podstawowych komponentów

  • Sformułować krótką refleksję na temat sposobu działania i programowania urządzeń   

  • Uruchomić w domu opcjonalny projekt testowy Blink w programie Arduino IDE (dla chętnych). 

  • Zabrać na lekcję zeszyty oraz – w miarę możliwości – własne laptopy i płytki Arduino. Pozostali skorzystają ze sprzętu szkolnego. 

  • Zweryfikować poprawne działanie Arduino IDE, instalację sterowników lub dostęp do konta Tinkercad. 

  • Powtórzyć zasady bezpiecznej pracy z niskim napięciem i zasady porządku na stanowisku.

Kluczowe zasady bezpieczeństwa podczas zajęć

Bezpieczeństwo pracy przy komputerze
Uczniowie dbają o prawidłową postawę, robią krótkie przerwy i trzymają porządek w kablach. Często zapisują kod i ostrożnie podłączają USB, aby nie uszkodzić portów ani płytki.

Bezpieczeństwo pracy z elektroniką
Zawsze odłączają zasilanie przed zmianą połączeń, stosują rezystory i sprawdzają schemat przed uruchomieniem. Dbają o to, by nie dotykać niepotrzebnie metalowych elementów w działającym układzie.

Cyberbezpieczeństwo
Korzystają wyłącznie z oficjalnych źródeł oprogramowania, nie otwierają podejrzanych linków i nie udostępniają haseł. Unikają przypadkowych pendrive’ów i zabezpieczają swoje konto w chmurze.

Praca zespołowa
W grupach jasno ustalają role, komunikują zmiany w układzie i wspólnie analizują błędy. Nauczyciel pilnuje równomiernego udziału obu osób.

Bezpieczeństwo korzystania z oprogramowania
Uruchamiają tylko kod z zaufanych źródeł i regularnie tworzą kopie zapasowe projektu. Nie kasują plików bez potrzeby i w razie problemów proszą o pomoc.

Porządek na stanowisku
Utrzymują porządek, odkładają elementy do pudełek i nie jedzą przy stanowisku. Przed zakończeniem lekcji sprawdzają, czy nic nie zostało podłączone lub rozsypane.

Bezpieczeństwo psychiczne
Nauczyciel buduje atmosferę akceptacji, podkreśla że błędy są częścią nauki i zachęca do zadawania pytań. Ważny jest wysiłek i współpraca, a nie rywalizacja.

bg‑azure

Przebieg zajęć

Faza wprowadzająca

1

Czas [min]

Działania nauczyciela

Działania uczniów

Uwagi / wskazówki metodyczne

10 min

Przywitanie i wprowadzenie tematu: Przedstawia temat: czym jest Arduino i dlaczego programuje się je w C/C++. Pokazuje płytkę Arduino Uno, wskazuje najważniejsze elementy: mikrokontroler, piny cyfrowe, analogowe, zasilanie. Zadaje pytania: „Co według was steruje sygnalizacją świetlną?”, „Skąd urządzenia wiedzą, kiedy wykonać jaką akcję?”. Komunikuje, że uczniowie poznają podstawy sterowania diodą i odczytu czujnika.

Słuchają, zgłaszają swoje pomysły, podają przykłady urządzeń wykorzystujących mikrokontrolery (np. robot‑zabawka, termometr elektroniczny). Oglądają płytkę Arduino, próbują nazwać elementy.

Odwołaj się do znanych przykładów — np. lampki RGB, inteligentne urządzenia, roboty LEGO. Pokaz fizycznej płytki zwiększa zaangażowanie.

Arduino – Hello World w elektronice/Przeczytaj

10 min

Zaciekawienie uczniów:
Uruchamia prosty program „Blink” na Arduino – miga wbudowana dioda. Pokazuje kod na projektorze, wskazuje digitalWrite oraz delay. Wyjaśnia, że to odpowiednik „Hello World” w elektronice. Zadaje pytanie: „Co musi dziać się w programie, aby dioda migała w równym rytmie?”.

Obserwują działanie układu, próbują wywnioskować, jak działa miganie. Zgłaszają swoje pomysły: „Pewnie ustawia się czas w programie”, „Dioda dostaje sygnał ON/OFF”.

Wybierz prosty przykład — migająca dioda natychmiast wciąga uczniów. Nie zagłębiaj się teraz w technikalia — ważne, by wzbudzić ciekawość.

Podstawy elektroniki/Przeczytaj

10 min

Określenie celów zajęć i zasad pracy: Przedstawia cele: uczniowie samodzielnie podłączą diodę LED, nauczą się podstawowych funkcji C/C++ (pinMode, digitalWrite), odczytają czujnik temperatury. Wyjaśnia zasady pracy z elektroniką: odłączanie zasilania przed zmianami, ostrożne wkładanie elementów. Dzieli uczniów w pary.

Notują cele, zadają pytania o nowe pojęcia (np. „Co to pin?”). Tworzą zespoły dwuosobowe i przygotowują stanowiska do pracy.

Uspokój uczniów: błędy są naturalne. Zachęć do eksperymentowania i wspólnego szukania rozwiązań.

Arduino – wyświetlacz LCD/Przeczytaj

Faza realizacyjna

1

Czas [min]

Działania nauczyciela

Działania uczniów

Uwagi / wskazówki metodyczne

15 min

Migająca dioda LED:
Pokazuje schemat: pin 7 → rezystor → anoda LED, katoda → GND. Wyjaśnia rolę rezystora. Pomaga w montażu układu. Następnie prowadzi uczniów w pisaniu kodu: pinMode(7, OUTPUT); digitalWrite(7, HIGH); delay(500); digitalWrite(7, LOW); delay(500);. Pokazuje jak wgrać program przez USB.

Montują układ na płytce stykowej. Wpisują kod w Arduino IDE, kompilują i wgrywają na płytkę. Sprawdzają, czy dioda miga. Gdy nie działa — szukają błędu: połączenia, literówki w kodzie.

Najczęstszy błąd: odwrotnie wpięta dioda lub brak rezystora. Zachęć szybkie pary do eksperymentu: zmiana czasu migania, własne wzory błysków.

Symulacja działania w aplikacji Tinkercard

Arduino – Hello World w elektronice/Przeczytaj

15 min

Sterowanie diodą przyciskiem
Wyjaśnia zasadę działania przycisku. Pokazuje podłączenie z wykorzystaniem INPUT_PULLUP: przycisk między pin 2 a GND. Rysuje schemat na tablicy. Tłumaczy logikę odwróconą: wciśnięcie = LOW. Prowadzi uczniów przez kod: if(digitalRead(2)==LOW) digitalWrite(7,HIGH); else digitalWrite(7,LOW);

Podłączają przycisk zgodnie ze schematem. Piszą kod sterowania diodą. Wgrywają program i testują — naciskają przycisk i obserwują włączanie/wyłączanie LED. Poprawiają błędy w połączeniach lub kodzie.

Uważaj na błędne podpięcie przycisku (często wzdłuż, zamiast w poprzek rowka płytki). Uczniowie szybcy mogą wykonać wersję „klik = przełącz LED”, czyli przerzutnik programowy.

Arduino – Hello World w elektronice/Przeczytaj

15 min

Odczyt temperatury z czujnika TMP36 Pokazuje czujnik TMP36 i jego wyprowadzenia (5V – sygnał – GND). Wyjaśnia działanie czujnika i sposób przeliczenia napięcia na temperaturę. Prowadzi uczniów: analogRead(A0), obliczenia napięcia i temperatury (napiecie - 0.5)*100. Dodaje instrukcję: jeśli temp > 26°C → zapal diodę.

Podłączają czujnik do 5V, A0 i GND. Piszą kod obliczający temperaturę. Otwierają Serial Monitor i obserwują wartości. Ogrzewają czujnik dłonią i sprawdzają, czy po przekroczeniu progu dioda się zapala.

Przypomnij, by stosować float przy obliczeniach. Uczniów zachęcaj do testów: ogrzewanie czujnika, zmiana progu temperatury. Typowy błąd: złe podłączenie nóżek czujnika.

Arduino – wyświetlacz LCD/Przeczytaj

Faza podsumowująca

1

Czas [min]

Działania nauczyciela

Działania uczniów

Uwagi / wskazówki metodyczne

10 min

Podsumowanie i dyskusja:
Prosi kilka par o pokazanie działania układów. Omawia wspólnie z uczniami: co działało, co było trudne, czego się nauczyli. Wraca do celów lekcji i sprawdza, czy zostały osiągnięte. Zadaje krótkie pytania sprawdzające: „Dlaczego LED potrzebuje rezystora?”, „Po co INPUT_PULLUP?”.

Pokazują swoje układy, opowiadają jak działa ich program. Odpowiadają na pytania, wymieniają nowe umiejętności. Uczestniczą w krótkiej refleksji: „Dziś nauczyłem/am się…, ale muszę jeszcze popracować nad…”.

Zapisz na tablicy kilka kluczowych pojęć, które uczniowie dziś poznali. Zachęć do pomysłów na kolejne lekcje (np. alarm, sygnalizator ruchu).

5 min

Zakończenie i porządkowanie stanowisk

Poleca ostrożne odłączenie zasilania i rozmontowanie układów. Zbiera płytki i elementy, kontroluje porządek.

Wyłączają zasilanie, rozpinają układy, odkładają elementy do pudełek.

Przypomnij, by nie ciągnąć przewodów na siłę, chronić elementy.

bg‑azure

Po zajęciach

Propozycja działań dla uczniów, które mają na celu integrację i utrwalenie zdobytej wiedzy

  1. Mini‑projekt podsumowujący – własny układ z Arduino
    Uczniowie samodzielnie tworzą prosty projekt wykorzystujący diody, przyciski i czujniki. Mogą pracować na realnym zestawie lub w symulatorze Tinkercad. Przykładowe pomysły: automatyczna lampka z fotorezystorem, prosty alarm łączący przycisk i czujnik temperatury, gra reakcyjna z dwoma przyciskami.
    Celem jest praktyczne wykorzystanie zdobytej wiedzy, zaplanowanie działania programu i dobór elementów. Chętni mogą zaprezentować projekty na kolejnych zajęciach.

  2. Mapa myśli lub infografika – „Arduino w pigułce”
    Uczniowie przygotowują krótką notatkę wizualną podsumowującą lekcję. Mogą zrobić ją w formie plakatu, mapy myśli lub slajdu. Powinna zawierać: schemat działania setup() i loop(), podstawowe elementy elektroniczne, listę poznanych komend, fragment przykładowego kodu i najważniejsze wnioski z eksperymentów.
    Celem jest uporządkowanie wiedzy i stworzenie prostej ściągi, która pomoże w dalszej nauce.

Propozycja ewaluacji lekcji i stopnia realizacji zaplanowanych celów edukacyjnych

  1. Autoewaluacja uczniów
    Po lekcji uczniowie wypełniają krótką ankietę:
    • czego nauczyli się na zajęciach,
    • co było dla nich najtrudniejsze,
    • czego potrafią teraz dokonać, czego wcześniej nie umieli,
    • czy czują się gotowi wykonać podobne zadanie samodzielnie.
    Celem jest refleksja nad własnym postępem i wskazanie nauczycielowi, które elementy wymagają powtórzenia lub dodatkowych wyjaśnień.

  2. Szybka karta
    Uczniowie zapisują trzy krótkie odpowiedzi:
    • jedna rzecz, którą dziś zrozumieli,
    • jedna rzecz, która ich zaciekawiła,
    • jedno pytanie, które nadal mają.
    Celem jest szybkie sprawdzenie zrozumienia materiału i zebranie pomysłów lub problemów, które warto omówić na kolejnych zajęciach.

bg‑azure

Bibliografia i załączniki

Szczegółowy wykaz elementów e‑materiałów z ZPE wykorzystanych do opracowania scenariusza

1

Tytuł e‑materiału

Odnośnik

Element e‑materiału

Podstawy pisania kodu

Szkic programu napisany w języku C/CC+

Symulacja programu w środowisku Tinkercad

Program Blink w postaci układu blokowego oraz w języku C w programie Tinkercard

Prezentacja multimedialna

Elementy elektroniczne tj. Rezystor, kondensator, tranzystor

Interfejs Arduino IDE

E‑materiał dotyczący interfejsu Arduino IDE

Budowa wyświetlacza LCD 2×16

E‑materiał dotyczący budowy wyświetlacza oraz podłączenia

Programowanie termometru z wyświetlaczem

E‑materiał dotyczący podłączenia terystora

Film z działania programu

Symulacja działania programu

Biblioteka LiquidCrystal_I2C

Instrukcja wyszukania biblioteki do podłączenia wyświetlacza

Rezystor

E‑materiał dotyczący działania rezystora

Inne niezbędne środki i pomoce dydaktyczne

  • Drukarka 3D;

  • Zestaw długopisów 3D do prototypowania;

  • Programowalne zestawy do nauki programowania;

  • Programowalne kontrolery wraz z zestawem czujników.

Źródła literaturowe

  • https://www.arduino.cc

  • Przykładowy program

Kod programu Blink

void setup() {

pinMode(LED_BUILTIN, OUTPUT);

}

void loop() {

digitalWrite(LED_BUILTIN, HIGH);

delay(1000);

digitalWrite(LED_BUILTIN, LOW);

delay(1000);

}

Kod programu - dioda świeci 3 sekundy - gaśnie po 2 sekundach

void setup() {

pinMode(LED_BUILTIN, OUTPUT);

}

void loop() {

digitalWrite(LED_BUILTIN, HIGH);

delay(3000);

digitalWrite(LED_BUILTIN, LOW);

delay(2000);

}