CELE, POJĘCIA, MATERIAŁY ▼
Cele zajęć
Cele ogólne
• Wyrabianie umiejętności rozumienia, analizowania i rozwiązywania problemów na bazie logicznego i abstrakcyjnego myślenia.
• Doskonalenie myślenia algorytmicznego.
• Programowanie i rozwiązywanie problemów z wykorzystaniem komputera oraz
innych urządzeń cyfrowych, poprzez układanie i programowanie algorytmów.
• Zgłębianie znajomość zasad działania urządzeń cyfrowych oraz wykonywania programów.
• Rozwijanie kompetencji społecznych, takich jak: komunikacja i współpraca w grupie, udział w projektach zespołowych oraz organizacja i zarządzanie projektami.
Cele szczegółowe
Uczeń potrafi:
• Podłączyć wyświetlacz RGB 8×8 do adaptera LOFI Brain.
• Wyjaśnić zasadę pisania szkiców służących do wyświetlania grafiki na wyświetlaczu RGB 8×8.
• Zaimplementować działanie wyświetlacza przy użyciu funkcji display.begin() w pętli setup ().
• Napisać program wyświetlający na wyświetlaczu dowolny numer z zakresu od 0 do 99 za pomocą funkcji displayNumber(int NUMER), display.show() i displayClear()
• Napisać program, który będzie wyświetlał liczby “z potencjometru”.
Treści programowe (związek z podstawą programową)
Podstawa programowa z informatyki – szkoła podstawowa:
Etap II – klasy IV – VIII, w tym klasy VII – VIII: I.1.b, I.2.a, I.2.b, I.2.c, I.3, II.1.b, II.3, III.3, IV.1, IV.2, IV.3, IV.4,
Etap II – klasy VII-VIII: I.1, I.2.a, I.4, II.1, II.2, II.5, III.3, IV.1.
Pojęcia kluczowe
• dioda RGB
• wyświetlacz RGB 8×8
• funkcje (setup, loop, write, delay, read, buzzer, distance,servo, display.begin, display.show, displayClear, displayNumber)
Metody pracy
• Wykład problemowy,
• Pogadanka,
• Dyskusja dydaktyczna związana z wykładem,
• Pokaz,
• Ćwiczenia laboratoryjne.
Materiały pomocnicze
• Zestaw LOFI Robot CODEBOX Starter z rozszerzeniem CODEBOX Tv,
• Komputery stacjonarne lub przenośne z zainstalowanym Arduino IDE,
• Komputer nauczyciela z zainstalowanym Arduino IDE, projektor, tablica projekcyjna.
ZWIŃ ▲
Czas na realizację zajęć:
1 godzina lekcyjna (45 minut)
Przebieg zajęć
1. Wprowadzenie w tematykę i integracja grupy:
Czas na realizację tej części: ok 5 minut.
Pytamy uczniów o czym rozmawialiśmy podczas ostatniej lekcji?
• o serwomotorach,
• nauczyliśmy się sterować serwomotorem.
Dziś pierwsza lekcja z wyświetlaczem LED 8×8 pikseli RGB. Nauczymy się implementować jego działanie Poznamy zasadę sterowania i nauczymy się wyświetlać liczby.
2. Część zasadnicza:
Czas na realizację tej części: ok 35 minut.
Mówimy uczniom, że do sterowania wyświetlaczem będziemy wykorzystywać kilka gotowych funkcji z biblioteki LOFI:
• funkcja odpowiedzialna za uruchomienie wyświetlacza – rozpoczyna nadawanie sygnału cyfrowego sterującego wyświetlaczem, musi znajdować się zawsze wewnątrz głównej funkcji setup()
display.begin()
• funkcja odpowiedzialna za wyświetlanie danych na wyświetlaczu – powoduje odświeżenie wyświetlacza i wyświetlenie wszystkich danych zdefiniowanych wcześniej przez funkcje rysujące (o których za chwilę), powinna być użyta tylko raz wewnątrz pętli loop(), wówczas wyświetlanie obrazu jest najpłynniejsze:
display.show()
• Warto zwrócić uwagę, że funkcja ta będzie włączała konkretne diody i podobnie jak funkcja write(OUTPUT1, 100) włączająca diodę, potrzebujemy kolejnej funkcji, która wyłączy wcześniej wyświetlany efekt, zanim zechcemy wyświetlić nowy. W przypadku diody, po poleceniu delay(czas) używaliśmy ponownie funkcji write(OUTPUT1, 0). W przypadku wyświetlacza potrzebujemy do tego nowej funkcji.
• funkcja odpowiedzialna za wyczyszczenie wyświetlacza – powoduje ustawienie wszystkich pixeli wyświetlacza na wartość zero (czyli jako wyłączenie), powinna być użyta tylko raz jako pierwsza funkcja wewnątrz pętli loop(), aby niżej zamieszczona funkcja display.show(); włączyła odpowiednie diody:
displayClear()
• pomiędzy displayClear(), a display.show() będziemy zamieszczać funkcje rysujące.
Zasada działania wyświetlacza jest następująca:
Krok 1 – wyłączamy wszystkie diody – displayClear()
Krok 2 – używamy funkcji rysującej
Krok 3 – używając funkcji wyświetlającej włączamy świecenie konkretnych diod – display.show()
Rozdajemy zestawy LOFI Robot CODEBOX. Uczniowie siadają przy komputerach. Prosimy aby włączyli komputery, uruchomili Arduino IDE oraz wyjęli z zestawów płytkę Arduino, wyświetlacz i potencjometr:
• podłączamy wyświetlacz LED do OUTPUT3
UWAGA – wyświetlacz zawsze musi być podłączony OUTPUT3
• podłączamy potencjometr do INPUT2.
Prezentujemy uczniom podstawowy szkielet szkicu. Prosimy aby przepisali go w Arduino IDE:
#include <LOFI.h> LOFI robot; void setup() { robot.displayBegin(); robot.displayShow(); } void loop() { robot.displayClear(); //funkcja wyłączająca poprzedni efekt graficzny // tutaj będziemy wpisywać instrukcje do rysowania robot.displayShow(); // funkcja wywołująca pokazanie danych na wyświetlaczu }
Pierwszą funkcją do rysowania, którą poznamy jest funkcja wyświetlającą liczby. displayNumber(int NUMER);. Funkcja ta wyświetla liczby od od 0 do 99.
Przykład / Ćwiczenie 1
W powyższym szkicu zadeklaruj nową zmienną liczba, przypisz jej wartość 55 oraz dodając funkcję wyświetlającą liczby displayNumber(liczba) wyświetl tą wartość na wyświetlaczu Szkic zapisz jako “lofi_wyswietlacz_1”, zweryfikuj i wgraj na płytkę.
Przykładowe rozwiązanie:
#include <LOFI.h> LOFI robot; int liczba = 55; void setup() { robot.displayBegin(); } void loop() { robot.displayClear(); robot.displayNumber(liczba); robot.displayShow(); }
Ćwiczenie 2
Zmodyfikuj szkic tak, aby na wyświetlaczu została wyświetlona inna liczba. Ćwiczenie powtórz dla 2-3 różnych liczb.
Przykład / Ćwiczenie 3
Napisz program który będzie wyświetlał liczby “z potencjometru” podłączonego do wejścia INPUT2. Szkic zapisz jako “lofi_wyswietlacz_2”, zweryfikuj i wgraj na płytkę.
Przykładowe rozwiązanie:
#include <LOFI.h> LOFI robot; void setup() { robot.displayBegin(); } void loop() { robot.displayClear(); robot.displayNumber(robot.read(INPUT2)); robot.displayShow(); }
3. Podsumowanie i ewaluacja:
Czas na realizację tej części: ok. 5 minut.
Prosimy aby uczniowie ostrożnie spakowali zestawy. Jeden przedstawiciel każdej grupy przynosi zestaw na wyznaczone przez nauczyciela miejsce w klasie.
Zadajemy uczniom pytanie: Czego nauczyliśmy się na dzisiejszej lekcji?
• poznaliśmy funkcję display.begin() inicjującą działanie wyświetlacza,
• omówiliśmy zasadę działania wyświetlacza – wiemy do czego służą funkcje display.show() oraz displayClear()
• znamy funkcję rysującą displayNumber(liczba) odpowiedzialną za wyświetlanie liczb od 0 do 99,
Na zakończenie mówimy uczniom, że na kolejnej lekcji nadal będziemy uczyć się korzystać z wyświetlacza. Poznamy m.in. nową funkcję rectangle odpowiedzialną za rysowanie prostokąta. Sporo czasu poświęcimy również omówienie systemu RGB, o którym zapewne słyszeliście już nie raz.