• Nie Znaleziono Wyników

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

N/A
N/A
Protected

Academic year: 2022

Share "Arduino dioda RGB. Wprowadzenie Przeczytaj Prezentacja mul medialna Sprawdź się Dla nauczyciela"

Copied!
12
0
0

Pełen tekst

(1)

Arduino – dioda RGB

Wprowadzenie Przeczytaj

Prezentacja mul medialna Sprawdź się

Dla nauczyciela

(2)

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ównej długości. Jedna nóżka wystaje zdecydowanie dalej 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, lecz również, stosując modulację szerokości impulsu (PWM), całe spektrum barw.

Twoje cele

Poznasz budowę diody RGB.

Nauczysz się sterować diodami RGB ze wspólną katodą oraz wspólną anodą.

Dowiesz się, jak wykorzystać modulację szerokości impulsu PWM.

Arduino – dioda RGB

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

(3)

Przeczytaj

Dioda RGB ze wspólną katodą

Jeżeli najdłuższa nóżka diody jest katodą, to pozostałe muszą być anodami. Pierwsza 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 poprzez 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 w rzeczywistości 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 na przykład 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 zapamiętać, gdzie ją nabyliśmy, lub wziąć notę katalogową. Jest to bardzo 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

(4)

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. Oczywiście 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 ma się 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. Oczywiście podane wartości są przykładowe. 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.

(5)

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

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 będzie ci wygodniej) z pinem GND płytki Arduino.

3. Pierwszą anodę łączymy poprzez rezystor (120 Ω) z pinem 9., drugą (czyli trzecią nóżkę) poprzez rezystor 62 Ω z pinem 10., a ostatnią, również poprzez rezystor 62 Ω, z pinem 11. My zamieniliśmy miejscami dwa ostatnie połączenia, ponieważ w naszej diodzie kolory są ułożone następująco:

czerwony, niebieski, zielony.

Ź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. Można zastosować polskie nazwy – my przyjęliśmy angielskie, pochodzące od składowych RGB.

int RedPin = 9;

int BluePin = 10;

int GreenPin = 11;

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

void setup() {

pinMode(RedPin, OUTPUT);

pinMode(GreenPin, OUTPUT);

pinMode(BluePin, OUTPUT);

}

(6)

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.

void loop() {

digitalWrite(RedPin, HIGH);

digitalWrite(GreenPin, LOW);

digitalWrite(BluePin, LOW);

delay(1000);

}

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

digitalWrite(RedPin, LOW);

digitalWrite(GreenPin, HIGH);

digitalWrite(BluePin, LOW);

delay(1000);

digitalWrite(RedPin, LOW);

digitalWrite(GreenPin, LOW);

digitalWrite(BluePin, HIGH);

delay(1000);

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

digitalWrite(RedPin, HIGH);

digitalWrite(GreenPin, HIGH);

digitalWrite(BluePin, HIGH);

delay(1000);

6. Następnie wymieszamy kolor czerwony z niebieskim, a wyłączymy barwę zieloną.

digitalWrite(RedPin, HIGH);

digitalWrite(GreenPin, LOW);

digitalWrite(BluePin, HIGH);

delay(1000);

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

digitalWrite(RedPin, HIGH);

digitalWrite(GreenPin, HIGH);

digitalWrite(BluePin, LOW);

delay(1000);

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

digitalWrite(RedPin, LOW);

digitalWrite(GreenPin, HIGH);

digitalWrite(BluePin, HIGH);

delay(1000);

(7)

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.

Słownik

piny PWM

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

(8)

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.

Oto efekt uruchomienia przedstawionego wyżej programu:

Film dostępny na portalu epodreczniki.pl

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

Film nawiązujący do treści materiału

(9)

Sprawdź się

Ćwiczenie 1

Kolor (255, 0, 0) w modelu barwnym RGB to:

czerwony zielony niebieski Ćwiczenie 2 Ćwiczenie 3

Zapis analogWrite(255) da na wyjściu:

100% mocy 255% mocy 10% 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.

(10)

Dla nauczyciela

Autor: Dawid Mazur Przedmiot: Informatyka Temat: Arduino – dioda RGB Grupa docelowa:

III etap edukacyjny, liceum ogólnokształcące, technikum Podstawa programowa:

Treści nauczania – wymagania szczegółowe Zakres podstawowy

II. Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych.

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;

IV. Rozwijanie kompetencji społecznych. 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 pla ormach do e‑nauczania.

V. Przestrzeganie prawa i zasad bezpieczeństwa. 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;

Zakres rozszerzony

I. Rozumienie, analizowanie i rozwiązywanie problemów. 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.

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:

1) tworzy i edytuje dwuwymiarowe oraz trójwymiarowe wizualizacje i animacje, stosuje właściwe formaty plików graficznych,

2) uczestniczy w opracowaniu dokumentacji projektu zespołowego, pracując przy tym w odpowiednim

(11)

środowisku,

V. Rozwijanie kompetencji społecznych. 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 pla ormach do e‑nauczania;

Kształtowane kompetencje kluczowe:

kompetencje obywatelskie;

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):

Poznasz budowę diody RGB.

Nauczysz się sterować diodami RGB ze wspólną katodą oraz wspólną anodą.

Dowiesz się, 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”.

(12)

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 zwarte 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.

Cytaty

Powiązane dokumenty

Zapoznaj się ze sposobami doboru rezystora do diody LED, a następnie dobierz wartości rezystora dla diody żółtej oraz niebieskiej... Nagranie dostępne na portalu

Rzecznik Praw Dziecka stoi na straży praw dziecka, a szczególnie prawa do życia i ochrony zdrowia, prawa do wychowania w rodzinie, prawa do godziwych warunków socjalnych i prawa

Zabezpieczenie praw człowieka i obywatela stwarza potrzebę władzy publicznej (aparatu przymusu), władza ta zatem jest ustanowioną ku pożytkowi ogółu, nie zaś dla korzyści

Istnieje również jednoargumentowy operator negacji !.. Pierwsza pozwala wykonać alternatywny blok kodu, kiedy kryterium instrukcji warunkowej nie zostanie spełnione. Druga

Relewantność partii określana jest przez poziom poparcia wyborczego, potencjał koalicyjny (możliwość wchodzenia w koalicje rządowe) oraz potencjał szantażu

Dowiesz się, jak zmierzyć temperaturę za pomocą czujnika TMP36.. Poznasz możliwości

Warunek pętli sprawdzany jest na końcu, dlatego instrukcje zawarte w pętli wykonają się co najmniej jeden raz}.

Źródło: Vladimirov, Ivan Alekseevich, Stanford University, Hoover Ins tu on, Library&Archives.. Życie