Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

Arduino – dioda RGB

Wprowadzenie
Przeczytaj
Prezentacja mul medialna
Sprawdź się
Dla nauczyciela
Arduino – dioda RGB

Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Materiał z serii Arduino

Na pierwszy rzut oka diody RGB wyglądają jak zwykłe białe diody LED. Problemy zaczynają
się, jeżeli spróbujemy podłączyć taką diodę do zasilania. Dlaczego? Zwykła dioda LED ma
dwie nóżki. W diodzie RGB pojawiają się kolejne dwa wyprowadzenia. Nie są one równe.
Jedna nóżka jest zdecydowanie dłuższa niż pozostałe trzy. Jest to katoda lub anoda.

Dzięki diodzie RGB możemy uzyskać nie tylko trzy podstawowe kolory: czerwony, zielony
i niebieski. Jeśli zastosujemy modulację szerokości impulsu (PWM), otrzymamy całe
spektrum barw.
Twoje cele

Przeanalizujesz budowę diody RGB.


Nauczysz się sterować diodami RGB ze wspólną katodą oraz wspólną anodą.
Wyjaśnisz, jak wykorzystać modulację szerokości impulsu PWM.
Przeczytaj

Dioda RGB ze wspólną katodą


Jeżeli najdłuższa nóżka diody jest katodą, to pozostałe muszą być anodami. Pierwsza z nich
odpowiada za emitowanie światła czerwonego (R, z ang. red), trzecia – zielonego (G, z ang.
green), a czwarta – niebieskiego (B, z ang. blue). Może się też zdarzyć, że ustawienie anod
jest inne. W takiej sytuacji pierwsza z nich odpowiada za kolor czerwony, trzecia za
niebieski, a czwarta za zielony (tak właśnie jest w przypadku diody, którą będziemy się
posługiwać).
Ważne!

Sprawdź w karcie katalogowej lub przez podłączenie do źródła zasilania, które


wyprowadzenia odpowiadają poszczególnym kolorom.

Dioda RGB ze wspólną katodą


Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Dioda RGB jest bardzo ciekawym urządzeniem – może emitować światło o każdej barwie.
Dzieje się tak, ponieważ w diodzie wbudowano trzy chipy; każdy z nich jest zasilany
osobno. Jeżeli przez wszystkie anody popłynie taki sam prąd, to jednocześnie zostanie
włączone światło czerwone, zielone i niebieskie. Po zmieszaniu tych barw otrzymamy kolor
biały. Jeżeli natomiast zasilimy jedynie pierwszy chip, to dioda będzie świeciła tylko na
czerwono. Można to regulować zarówno sprzętowo, jak i programowo.

Przy zakupie diody RGB warto pamiętać, gdzie ją nabyliśmy lub wziąć notę katalogową. Jest
to istotne podczas obliczania, jakie rezystory są nam potrzebne. W przypadku diody, której
używamy, parametry pracy to:
kolor czerwony: prąd 25 mA, napięcie 2 V,
kolor zielony: prąd 25 mA, napięcie 3,5 V,
kolor niebieski: prąd 25 mA, napięcie 3,5 V.

Obliczamy rezystancję, korzystając z prawa Ohma lub z kalkulatora rezystorów. Oczywiście


napięcie zasilania to 5 V. Potrzebne nam będą następujące rezystory: 120 Ω dla koloru
czerwonego oraz dwa po 62 Ω dla barw zielonej i niebieskiej.

Jeżeli będziemy włączać światło białe, czerwone, zielone lub niebieskie, to nie ma
znaczenia, z których pinów płytki Arduino skorzystamy. Gdy jednak chcemy uzyskać kolory
pośrednie, używamy pinów o numerach, przy których umieszczono oznaczenie „~” (tylda).
Są to piny PWM (z ang. Pulse Width Modulation), czyli umożliwiające modulowanie
szerokości impulsu.

Zatrzymajmy się na chwilę. W schemacie barw RGB składowe mogą przyjmować wartości
z zakresu 0–255. Załóżmy, że składowe mają wartości: 255, 0, 0. W efekcie uzyskamy kolor
czerwony. Przyjmując: 0, 255, 0, otrzymamy kolor zielony. Analogicznie postępujemy
z kolorem niebieskim, który uzyskamy, zakładając wartości: 0, 0, 255. Gdybyśmy wszystkie
składowe ustawili na 0, otrzymalibyśmy kolor czarny. Natomiast trzy składowe o wartości
255 dałyby kolor biały.

Jak to się odnosi do pinów PWM? Cechą charakteryzującą sygnał PWM jest współczynnik
wypełnienia. Opisuje on, jaką część sygnału stanowi stan niski, a jaką wysoki. Stan niski
odpowiada składowej RGB o wartości 0, a stan wysoki – składowej równej 255. Nie
zamieścimy tu żadnego wzoru, lecz narysujemy impulsy.

Jeżeli impuls złożony jest w 100% ze stanu wysokiego, czyli składowa koloru wynosi 255, to
dioda świeci pełnią blasku. Każda zmiana stanu procentowego na niższy powoduje słabsze
świecenie diody. Otrzymujemy więc zupełnie inny kolor światła. W rezultacie jesteśmy
w stanie sterować barwą światła emitowanego przez diodę RGB.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Zobaczmy, jak schemat RGB działa w przypadku monitora. Użyjemy wartości, które zostały
pokazane na rysunku powyżej, przy założeniu, że schemat dotyczy tylko pierwszego chipu,
odpowiedzialnego za barwę czerwoną.

Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Skoro wiemy, że jaskrawością koloru można sterować, a poszczególne kolory możemy


wygaszać, zobaczmy, jak wygląda mieszanie barw przy zadanych wartościach. Podane
wartości są przykładowe i można przyjąć dowolną – mniejszą lub większą.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Budowa układu do sterowania diodą RGB ze wspólną katodą


Znając sposób działania diod, możemy narysować prosty schemat podłączenia jednej diody
RGB ze wspólną katodą do płytki Arduino Uno.

Schemat podłączenia jednej diody RGB ze wspólną katodą do płytki Arduino Uno.

Elementy potrzebne do budowy układu:

płytka Arduino Uno,


płytka stykowa,
kabel USB typu A‐B,
dioda RGB ze wspólną katodą,
rezystor 120 Ω,
rezystory 62 Ω (2 sztuki),
przewody i zworki połączeniowe.

Instrukcja:

1. Wpinamy diodę tak, aby każda nóżka znalazła się w innym wierszu szyny danych płytki
stykowej.
2. Katodę łączymy bezpośrednio (lub przez szynę ujemną, jeżeli tak będzie wygodniej)
z pinem GND płytki Arduino.
3. Pierwszą anodę łączymy przez rezystor (120 Ω) z pinem 9., drugą (czyli trzecią nóżkę)
przez rezystor 62 Ω z pinem 10., a ostatnią, również przez rezystor 62 Ω, z pinem 11.
W naszym przykładzie zamieniliśmy miejscami dwa ostatnie połączenia, ponieważ
w naszej diodzie kolory są ułożone następująco: czerwony, niebieski, zielony.

Dioda RGB podłączona do płytki Arduino.


Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Podłączamy płytkę Arduino do komputera. Następnie uruchamiamy aplikację Arduino


IDE i tworzymy nowy szkic. Zapisujemy go na przykład pod nazwą rgb_katoda. Najpierw
sprawdzimy, jak działa dioda. Nieco później spróbujemy sterować szerokością impulsu.

1. Deklarujemy zmienne, czyli piny, do których podłączone są poszczególne anody.


Przyjęliśmy nazwy angielskie, pochodzące od składowych RGB, ale można zastosować
polskie.

1 int RedPin = 9;
2 int BluePin = 10;
3 int GreenPin = 11;

2. W ciele funkcji setup() ustalamy, że wszystkie piny są wyjściami.

1 void setup() {
2 pinMode(RedPin, OUTPUT);
3 pinMode(GreenPin, OUTPUT);
4 pinMode(BluePin, OUTPUT);
5 }

3. Wewnątrz funkcji loop() włączamy kolor czerwony. Aby dioda świeciła tylko tą barwą,
dla pozostałych należy wyłączyć napięcie. Warto też określić opóźnienie.

1 void loop() {
2 digitalWrite(RedPin, HIGH);
3 digitalWrite(GreenPin, LOW);
4 digitalWrite(BluePin, LOW);
5 delay(1000);
6 }

4. W taki sam sposób włączamy kolejne dwa kolory.

1 digitalWrite(RedPin, LOW);
2 digitalWrite(GreenPin, HIGH);
3 digitalWrite(BluePin, LOW);
4 delay(1000);
5
6 digitalWrite(RedPin, LOW);
7 digitalWrite(GreenPin, LOW);
8 digitalWrite(BluePin, HIGH);
9 delay(1000);

5. Możemy włączyć wszystkie kolory jednocześnie, aby uzyskać białe światło.

1 digitalWrite(RedPin, HIGH);
2 digitalWrite(GreenPin, HIGH);
3 digitalWrite(BluePin, HIGH);
4 delay(1000);
6. Następnie wymieszamy kolor czerwony z niebieskim, a wyłączymy barwę zieloną.

1 digitalWrite(RedPin, HIGH);
2 digitalWrite(GreenPin, LOW);
3 digitalWrite(BluePin, HIGH);
4 delay(1000);

7. Zmieszamy kolor czerwony z zielonym; niebieski w tym czasie ma być wyłączony.

1 digitalWrite(RedPin, HIGH);
2 digitalWrite(GreenPin, HIGH);
3 digitalWrite(BluePin, LOW);
4 delay(1000);

8. Wreszcie wyłączymy kolor czerwony, a zielony zmieszamy z niebieskim.

1 digitalWrite(RedPin, LOW);
2 digitalWrite(GreenPin, HIGH);
3 digitalWrite(BluePin, HIGH);
4 delay(1000);

9. Weryfikujemy poprawność kodu, a następnie przesyłamy szkic do płytki.

Kolory powinny zmieniać się w podanej wyżej kolejności. Najlepiej widać to, gdy patrzymy
na diodę z góry, a nie z boku. Pamiętaj jednak, że napięcie, które otrzymują poszczególne
chipy, jest maksymalne i dioda świeci pełnią blasku. Nie wpatruj się w nią zatem zbyt długo,
ponieważ naprawdę bardzo razi w oczy.

Zróbmy symulację układu do sterowania diodą RGB ze wspólną katodą, za pomocą


środowiska Tinkercad.

Zaloguj się na swoje konto na https://www.tinkercad.com/


Na liście komponentów, znajdującej się po prawej stronie okna, znajdź płytkę stykową.

Kliknij na nią i umieść w głównym oknie.

Na liście komponentów znajdź diodę RGB i wstaw ją na płytkę stykową.


Jeśli nie wiesz, które wyprowadzenie odpowiada jakiemu kolorowi, wystarczy najechać
kursorem na nóżkę w miejscu, w którym jest ona wpięta do płytki stykowej.

Znajdź rezystor i dodaj go do każdej anody diody LED. Dla koloru czerwonego ustaw
wartość 120 Ω. Dla koloru zielonego i niebieskiego wartość rezystora wynosi 62 Ω.
Dodaj teraz moduł Arduino Uno do okna symulacji.

Zacznijmy od podpięcia katody diody LED z pinem GND Arduino Uno.


Wolne nóżki rezystorów wpiętych w anody diody podpinamy do Arduino Uno:

kolor czerwony diody do pinu D9,


kolor niebieski diody do pinu D10,
kolor zielony diody do pinu D11.

Przejdźmy teraz do pisania kodu. W tym celu klikamy na przycisk Kod, z listy rozwijanej
wybieramy Tekst, potwierdzamy chęć zmiany widoku i czyścimy zawartość.

Przepisz kod układu do sterowania diodą RGB ze wspólną katodą i uruchom symulację.

Kolor czerwony:
Kolor zielony:

Podczas symulacji koloru zielonego uszkodziliśmy diodę.

Na szczęście to tylko symulacja. Zmieńmy wartość rezystora koloru zielonego. Dla


bezpieczeństwa zmienimy też wartość rezystora dla koloru niebieskiego. Wartości
rezystorów dla tych kolorów ustawmy na 120 Ω.

Sprawdźmy czy teraz nie uszkodzimy diody. Uruchom symulację.


Kolor niebieski:

Kolor biały:
Kolor czerwony i niebieski:

Kolor czerwony i zielony:


Kolor zielony i niebieski:

Wpiszmy w kodzie wszystkie możliwe warianty świecenia diody.

Film z działania programu.


Film dostępny pod adresem /preview/resource/R4s6mTb1iUrG3

Film nawiązujący do treści lekcji dotyczącej diody RGD. Na filmie uruchomiono program
przechodzący przez wszystkie kolory po kolei - dioda świeci kolejno na czerwono, zielono,
niebiesko, biało, fioletowo, żółto i błękitno.

Słownik
piny PWM

piny umożliwiające modulację szerokości impulsu (z ang. Pulse Width Modulation)


Prezentacja mul medialna

Polecenie 1

Zapoznaj się ze sposobem sterowania kolorem diody RGB, a następnie zaproponuj własną
wersję lampki RGB, bazującą na różnych przejściach kolorów.

Nagranie dostępne pod adresem h ps://zpe.gov.pl/a/D1B4pPnBx

Nagranie dźwiękowe lekcji.

Sterowanie kolorem diody RGB

Materiał audio dostępny pod adresem: 1

h ps://zpe.gov.pl/b/P11bJ81zo

Gdy piny traktujemy jako wyjścia cyfrowe,


a poziom napięcia na nich określamy za pomocą
funkcji digitalWrite(), to poszczególne
anody mogą przyjmować tylko dwa stany:
wysoki i niski. W ten sposób możemy uzyskać
mieszaninę barw, ale tylko taką, jaką opisaliśmy
w poprzednim szkicu. Aby sterować diodą
precyzyjniej, należy zamiast funkcji
digitalWrite() zastosować funkcję
analogWrite() i używając wartości 0–255,
określić kolor.
2

Materiał audio dostępny pod adresem:

h ps://zpe.gov.pl/b/P11bJ81zo

Skorzystamy z układu przedstawionego na


schemacie, jednak napiszemy nowy szkic.

Materiał audio dostępny pod adresem: 3

h ps://zpe.gov.pl/b/P11bJ81zo

Na początku deklarujemy zmienne.

1 int RedPin = 9;
2 int BluePin = 10;
3 int GreenPin = 11;

Pamiętajmy, aby sprawdzić w karcie


katalogowej lub podłączając poszczególne nóżki
do źródła napięcia (oczywiście używając
rezystora), które wyprowadzenia w diodzie
odpowiadają poszczególnym kolorom.

4 Materiał audio dostępny pod adresem:

h ps://zpe.gov.pl/b/P11bJ81zo
Następnie w ciele funkcji setup() ustawiamy
piny jako wyjściowe.

1 void setup() {
2 pinMode(RedPin,
OUTPUT);
3 pinMode(GreenPin,
OUTPUT);
4 pinMode(BluePin,
OUTPUT);
5 }

Materiał audio dostępny pod adresem: 5

h ps://zpe.gov.pl/b/P11bJ81zo

Na razie kod wygląda identycznie jak


w poprzednim przykładzie. Zmiana nastąpi
w sposobie zasilania poszczególnych anod
diody. Zamiast podawać stan wysoki na anody
poszczególnych kolorów (np.
digitalWrite(RedPin, HIGH)),
włączymy światła o różnych natężeniach.
Wykorzystamy przy tym modulację szerokości
impulsu (PWM).

1 void loop() {
2 analogWrite(RedPin,
170);
3 analogWrite(GreenPin,
20);
4 analogWrite(BluePin,
10);
5 }

6 Materiał audio dostępny pod adresem:


h ps://zpe.gov.pl/b/P11bJ81zo

Odczekajmy sekundę i ustawmy inny kolor oraz


ponownie odczekajmy sekundę. Funkcja
loop() będzie miała postać:

1 void loop() {
2 analogWrite(RedPin,
170);
3 analogWrite(GreenPin,
20);
4 analogWrite(BluePin,
10);
5 delay(1000);
6
7 analogWrite(RedPin,
3);
8 analogWrite(GreenPin,
126);
9 analogWrite(BluePin,
246);
10 delay(1000);
11 }

Materiał audio dostępny pod adresem: 7

h ps://zpe.gov.pl/b/P11bJ81zo

Wartości podane w kodzie są przykładowe.


Możesz je dowolnie zmieniać. Weryfikujemy kod
i przesyłamy szkic do płytki. Jeżeli przyjrzymy
się diodzie z niewielkiej odległości, to wyraźnie
zobaczymy, że wewnątrz diody moduły
odpowiedzialne za emitowanie poszczególnych
kolorów są oddzielone od siebie. Jednak
najczęściej diod RGB używa się na przykład
w reklamach świetlnych, na stadionach
piłkarskich itp. Obraz ogląda się wówczas ze
zdecydowanie większej odległości. W takiej
sytuacji podziałów nie widać, a kolor wydaje się
jednolity.
8 Materiał audio dostępny pod adresem:

h ps://zpe.gov.pl/b/P11bJ81zo

Umiemy już włączyć każdy dostępny kolor


w diodzie RGB. Spróbujmy napisać kod, który
będzie automatycznie mieszał barwy.

Zacznijmy od kodu, który będzie rozjaśniał


barwę koloru niebieskiego od 0 do 100%.

Zastosujemy w tym celu pętlę for, która


wykona 255 cykli, dzięki czemu dioda będzie
rozświetlać się od wartości 0 do 255. Funkcja
delay() jest potrzebna, aby zmiana jasności
stała się widoczna dla ludzkiego oka.

1 int RedPin = 9;
2 int BluePin = 10;
3 int GreenPin = 11;
4 int wypelnienie = 0;
5
6 void setup() {
7 pinMode(RedPin,
OUTPUT);
8 pinMode(GreenPin,
OUTPUT);
9 pinMode(BluePin,
OUTPUT);
10 }
11
12 void loop() {
13 for (wypelnienie = 0;
wypelnienie < 255;
wypelnienie++) {
14
analogWrite(RedPin, 0);
15
analogWrite(GreenPin, 0);
16
analogWrite(BluePin,
wypelnienie);
17 delay(10);
18 }
19 }

Materiał audio dostępny pod adresem: 9

h ps://zpe.gov.pl/b/P11bJ81zo

Następnie zastosujmy drugą pętlę for, aby


zmniejszyć jasność diody do 0.

1 for (wypelnienie = 0;
wypelnienie < 255;
wypelnienie++) {
2 analogWrite(RedPin,
0);
3 analogWrite(GreenPin,
0);
4 analogWrite(BluePin,
255 - wypelnienie);
5 delay(10);
6 }

Jak widzimy, aby zmniejszać jasność diody,


musimy przed zmienną wypełnienie wstawić
liczbę 255 i od niej odjąć wartość licznika (czyli
zmienną wypełnienie).

10 Materiał audio dostępny pod adresem:

h ps://zpe.gov.pl/b/P11bJ81zo

Możemy teraz poeksperymentować trochę


z kolorami i ich zmianami.

1 int RedPin = 9;
2 int BluePin = 10;
3 int GreenPin = 11;
4 int wypelnienie = 0;
5
6 void setup() {
7 pinMode(RedPin,
OUTPUT);
8 pinMode(GreenPin,
OUTPUT);
9 pinMode(BluePin,
OUTPUT);
10 }
11
12 void loop() {
13 for (wypelnienie = 0;
wypelnienie < 255;
wypelnienie++) {
14
analogWrite(RedPin,
wypelnienie);
15
analogWrite(GreenPin, 0);
16
analogWrite(BluePin, 0);
17 delay(10);
18 }
19
20 for (wypelnienie = 0;
wypelnienie < 255;
wypelnienie++) {
21
analogWrite(RedPin, 255 -
wypelnienie);
22
analogWrite(GreenPin,
wypelnienie);
23
analogWrite(BluePin, 0);
24 delay(10);
25 }
26
27 for (wypelnienie = 0;
wypelnienie < 255;
wypelnienie++) {
28
analogWrite(RedPin, 0);
29
analogWrite(GreenPin, 255
- wypelnienie);
30
analogWrite(BluePin,
wypelnienie);
31 delay(10);
32 }
33
34 for (wypelnienie = 0;
wypelnienie < 255;
wypelnienie++) {
35
analogWrite(RedPin,
wypelnienie);
36
analogWrite(GreenPin, 0);
37
analogWrite(BluePin, 255 -
wypelnienie);
38 delay(10);
39 }
40 }

Oto efekt uruchomienia przedstawionego wyżej programu:


Film dostępny pod adresem /preview/resource/Rv1p87v1HGNra
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Film nawiązujący do treści lekcji dotyczącej diody RGD. Na filmie przedstawiono płytkę
stykową z wpiętymi przewodami, rezystorami oraz wpiętą diodę RGB. Uruchomiono
program przechodzący przez wszystkie kolory po kolei - dioda świeci kolejno na czerwono,
zielono, niebiesko, biało, fioletowo, żółto.

Zróbmy symulację układu do sterowania kolorem diody RGB, za pomocą środowiska


Tinkercad.

Do tej symulacji nie musimy modyfikować połączenia naszej diody RGB z Arduino Uno.

Przepisz kod i uruchom symulację.

Film z działania programu.


Film dostępny pod adresem /preview/resource/RYsry51eKVUEi

Film przedstawia działanie programu. Na filmie widoczne jest okno przeglądarki z otwartą
stroną tinkercad. Pod adresem strony znajduje się pasek tytułowy "0931 Arduino – dioda
RGB (sterowaie kolorem diody RGB)". Poniżej znajduje się pole, w którym umieszczono
płytkę stykową. W płytkę wpięto diodę LED RGB. W środek płytki wpięto również trzy
rezystory. Po lewej stronie płytki stykowej w polu umieszczono moduł Arduino UNO. Masę
(GND) połączono z katodą. Podpięto również wolne nóżki rezystorów do Arduino: kolor
czerwony diody do pinu D9, kolor niebieski diody do pinu D10, kolor zielony diody do pinu
D11. Po prawo znajduje się okno zatytułowane „Tekst”, a w nim znajduje się następująca
część kodu: 7. pinMode (RedPin, OUTPUT); 8. pinMode (GreenPin, OUTPUT); 9. pinMode
(BluePin, OUTPUT); 10. } 11. 12. void loop() { 13. for (wypelnienie = 0; wypelnienie < 255;
wypelnienie++) { 14. analogWrite(RedPin, wypelnienie); 15. analogWrite(GreenPin, 0); 16.
analogWrite(BluePin, 0); 17. delay(10); 18. } 19. 20. for (wypelnienie = 0; wypelnienie < 255;
wypelnienie++) { 21. analogWrite(RedPin, 255 - wypelnienie); 22. analogWrite(GreenPin,
wypelnienie); 23. analogWrite(BluePin, 0); 24. delay(10); 25. } 26. 27. for (wypelnienie = 0;
wypelnienie < 255; wypelnienie++) { 28. analogWrite(RedPin, 0); 29. analogWrite(GreenPin,
255 - wypelnienie); 30. analogWrite(BluePin, wypelnienie); 31. delay(10); 32. } 33. 34. for
(wypelnienie = 0; wypelnienie < 255; wypelnienie++) { 35. analogWrite(RedPin,
wypelnienie); 36. analogWrite(GreenPin, 0); 37. analogWrite(BluePin, 255 - wypelnienie);
38. delay(10); 39. } 40. } Pod kodem znajduje się poziomy pasek z napisem „Konsola
szeregowa”. Po wybraniu opcji „Uruchom symulację”, dioda zaczyna świecić na czerwono,
następnie na żółto, na zielono, błękitno, niebiesko, fioletowo i znowu na czerwono.
Sprawdź się

Pokaż ćwiczenia: 輸醙難


Ćwiczenie 1 輸
Dokończ zdanie. Kolor (255, 0, 0) w modelu barwnym RGB to…

 niebieski.

 czerwony.

 zielony.

Ćwiczenie 2 輸
Dopasuj podpisy do ilustracji

Schemat z diodą RGB ze wspólną katodą Schemat z diodą RGB ze wspólną anodą

Ćwiczenie 3 醙
Dokończ zdanie. Zapis analogWrite(255) da na wyjściu .

10% mocy 100% mocy 255% mocy

Ćwiczenie 4 醙

Narysuj schemat podłączenia diody RGB ze wspólną anodą do płytki Arduino.


Ćwiczenie 5 醙

Zbuduj układ na podstawie schematu z ćwiczenia 4.

Ćwiczenie 6 難

Napisz kod włączający co sekundę poszczególne kolory diody RGB ze wspólną anodą.

Ćwiczenie 7 難

Zaprogramuj zbudowany układ z diodą RGB (ze wspólną anodą) tak, aby płynnie włączać,
a następnie wyłączać kolor czerwony.

Ćwiczenie 8 難

Zaprogramuj zbudowany układ z diodą RGB (ze wspólną anodą) tak, aby dioda migała co
sekundę, emitując białe światło.
Dla nauczyciela

Autor: Dawid Mazur


Przedmiot: Informatyka

Temat: Arduino – dioda RGB

Grupa docelowa:

Szkoła ponadpodstawowa, liceum ogólnokształcące, technikum

Podstawa programowa:

Treści nauczania – wymagania szczegółowe

I. Rozumienie, analizowanie i rozwiązywanie problemów.

Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego,


a ponadto:

1) w zależności od problemu rozwiązuje go, stosując metodę wstępującą lub


zstępującą;

2) do realizacji rozwiązania problemu dobiera odpowiednią metodę lub technikę


algorytmiczną i struktury danych;

II. Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych


urządzeń cyfrowych.

Zakres podstawowy. Uczeń:

1) projektuje i programuje rozwiązania problemów z różnych dziedzin, stosuje przy


tym: instrukcje wejścia/wyjścia, wyrażenia arytmetyczne i logiczne, instrukcje
warunkowe, instrukcje iteracyjne, funkcje z parametrami i bez parametrów, testuje
poprawność programów dla różnych danych; w szczególności programuje algorytmy
z punktu I.2);

2) do realizacji rozwiązań problemów prawidłowo dobiera środowiska informatyczne,


aplikacje oraz zasoby, wykorzystuje również elementy robotyki;

Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego,


a ponadto:

1) projektuje i tworzy rozbudowane programy w procesie rozwiązywania problemów,


wykorzystuje w programach dobrane do algorytmów struktury danych, w tym
struktury dynamiczne i korzysta z dostępnych bibliotek dla tych struktur;

2) stosuje zasady programowania strukturalnego i obiektowego w rozwiązywaniu


problemów;

3) sprawnie posługuje się zintegrowanym środowiskiem programistycznym przy


pisaniu, uruchamianiu i testowaniu programów;

4) przygotowując opracowania rozwiązań złożonych problemów, posługuje się


wybranymi aplikacjami w stopniu zaawansowanym:

a) tworzy i edytuje dwuwymiarowe oraz trójwymiarowe wizualizacje i animacje,


stosuje właściwe formaty plików graficznych,

b) uczestniczy w opracowaniu dokumentacji projektu zespołowego, pracując przy


tym w odpowiednim środowisku,

IV. Rozwijanie kompetencji społecznych.

Zakres podstawowy. Uczeń:

1) aktywnie uczestniczy w realizacji projektów informatycznych rozwiązujących


problemy z różnych dziedzin, przyjmuje przy tym różne role w zespole realizującym
projekt i prezentuje efekty wspólnej pracy;

6) poszerza i uzupełnia swoją wiedzę korzystając z zasobów udostępnionych na


platformach do e‐nauczania.

Zakres rozszerzony. Uczeń spełnia wymagania określone dla zakresu podstawowego,


a ponadto:

1) przy realizacji zespołowego projektu programistycznego posługuje się


środowiskiem przeznaczonym do współpracy i realizacji projektów zespołowych,
w tym środowiskiem w chmurze; współtworzy zasoby udostępniane na platformach
do e‐nauczania;

V. Przestrzeganie prawa i zasad bezpieczeństwa.

Zakres podstawowy. Uczeń:

1) postępuje zgodnie z zasadami netykiety oraz regulacjami prawnymi dotyczącymi:


ochrony danych osobowych, ochrony informacji oraz prawa autorskiego i ochrony
własności intelektualnej w dostępie do informacji; jest świadomy konsekwencji
łamania tych zasad;

2) respektuje obowiązujące prawo i normy etyczne dotyczące korzystania


i rozpowszechniania oprogramowania komputerowego, aplikacji cudzych i własnych
oraz dokumentów elektronicznych;

3) stosuje dobre praktyki w zakresie ochrony informacji wrażliwych (np. hasła, pin),
danych i bezpieczeństwa systemu operacyjnego, objaśnia rolę szyfrowania informacji;

Kształtowane kompetencje kluczowe:

kompetencje cyfrowe;
kompetencje osobiste, społeczne i w zakresie umiejętności uczenia się;
kompetencje matematyczne oraz kompetencje w zakresie nauk przyrodniczych,
technologii i inżynierii.

Cele operacyjne ( językiem ucznia):

Przeanalizujesz budowę diody RGB.


Nauczysz się sterować diodami RGB ze wspólną katodą oraz wspólną anodą.
Wyjaśnisz, jak wykorzystać modulację szerokości impulsu PWM.

Strategie nauczania:

konstruktywizm;
konektywizm.

Metody i techniki nauczania:

dyskusja;
rozmowa nauczająca z wykorzystaniem multimedium i ćwiczeń interaktywnych.

Formy pracy:

praca indywidualna;
praca w parach;
praca w grupach;
praca całego zespołu klasowego.

Środki dydaktyczne:

komputery z głośnikami, słuchawkami i dostępem do internetu;


zasoby multimedialne zawarte w e‐materiale;
tablica interaktywna/tablica, pisak/kreda;
oprogramowanie Arduino IDE 1.8.12 (lub nowszej wersji);
moduł Arduino UNO Rev3 lub wybrany odpowiednik;
płytka Arduino Uno;
płytka stykowa;
kabel USB typu A‐B;
dioda RGB;
rezystor 120 Ω;
2 rezystory 62 Ω;
przewody/zworki połączeniowe.

Przebieg lekcji

Przed lekcją:

1. Przygotowanie do zajęć. Nauczyciel loguje się na platformie i udostępnia e‐materiał:


„Arduino – dioda RGB”. Uczniowie zapoznają się z multimedium w sekcji „Prezentacja
multimedialna”.

Faza wstępna:

1. Przedstawienie tematu zajęć oraz wspólne z uczniami ustalenie kryteriów sukcesu.


2. Rozpoznanie wiedzy uczniów. Uczniowie tworzą pytania dotyczące tematu zajęć, na
które odpowiedzą w trakcie lekcji.

Faza realizacyjna:

1. Uczniowie analizują przykład z sekcji „Przeczytaj” i powtarzają zaprezentowane


rozwiązanie na swoim komputerze.
2. Praca z multimedium. Nauczyciel wyświetla zawartość sekcji „Prezentacja
multimedialna”, czyta treść polecenia nr 1 „Zapoznaj się ze sposobem sterowania
kolorem diody RGB, a następnie zaproponuj swoją wersję lampki RGB opierającą się na
różnych przejściach kolorów.” i omawia kolejne kroki rozwiązania.
3. Ćwiczenie umiejętności. Uczniowie wykonują ćwiczenia nr 1–8 z sekcji „Sprawdź się”.
Nauczyciel sprawdza poprawność wykonanych zadań, omawiając je wraz z uczniami.

Faza podsumowująca:

1. Nauczyciel ponownie wyświetla na tablicy temat i cele lekcji zawarte w sekcji


„Wprowadzenie”. W kontekście ich realizacji następuje omówienie ewentualnych
problemów z rozwiązaniem ćwiczeń z sekcji „Sprawdź się”.

Praca domowa:

1. Uczniowie opracowują FAQ (minimum 3 pytania i odpowiedzi) do tematu lekcji


(„Arduino – dioda RGB”).

Materiały pomocnicze:

Oficjalna dokumentacja techniczna dla projektu Arduino.

Wskazówki metodyczne:
Treści w sekcji „Prezentacja multimedialna” można wykorzystać jako materiał służący
powtórzeniu materiału.

You might also like