Arduino i nowe diody RGB

Arduino i „nowe” diody RGB Tworząc implementacje z wykorzystaniem diody RGB spotkać nas może pewna niespodzianka... Po zbudowaniu układu zgodnie z po...
11 downloads 0 Views 1MB Size
Arduino i „nowe” diody RGB Tworząc implementacje z wykorzystaniem diody RGB spotkać nas może pewna niespodzianka...

Po zbudowaniu układu zgodnie z poniższym schematem, z materiałów SWOI, ścieżka "B" (rys.1):

rys.1 wczytaniu firmware i wykorzystaniu programu S4A może się okazać, że układ nie zachowuje się tak jak powinien – nic się nie dzieje.

Przyczyną tego stanu rzeczy jest to, że w zestawach do tworzenia implementacji związanych z mechatroniką możemy spotkać się z dwoma rodzajami diod RGB – w układzie ze wspólną anodą (rys.2 – strona lewa) lub w układzie ze wspólną katodą (rys.2 – strona prawa). Niestety "gołym okiem" nie stwierdzimy z jaką diodą mamy do czynienia.

1

Projekt “Strategia Wolnych i Otwartych Implementacji jako innowacyjny model zainteresowania kierunkami informatyczno-technicznymi oraz wspierania uczniów i uczennic w kształtowaniu kompetencji kluczowych” współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.

rys.2

O ile w zestawie znajduje się dioda RGB ze wspólną katodą (czyli wspólną masą, "-"), możemy śmiało budować układ zgodnie z przedstawionym w konspekcie – zgodnie z przedstawionym wyżej rys.1. Jeżeli zaś w zestawie znajduje się dioda RGB ze wspólną anodą (wspólny "+"), należy dokonać modyfikacji układu, a także modyfikacji kodu. Modyfikacja układu polega na podłączeniu "najdłuższej nóżki" diody (anody) do pinu +5V układu Ardiuno – zamiast masy (rys.3):

2

Projekt “Strategia Wolnych i Otwartych Implementacji jako innowacyjny model zainteresowania kierunkami informatyczno-technicznymi oraz wspierania uczniów i uczennic w kształtowaniu kompetencji kluczowych” współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.

rys.3

Kod należy również zmodyfikować – najprościej ujmując – wprowadzić stany przeciwne, gdzie „on” (stan wysoki +5V) będzie nam składową (czerwoną, zieloną lub niebieską) diody RGB wygaszało – różnica potencjałów będzie wynosiła 0V (5V – 5V = 0V). Zaprogramowanie „off” (stan niski 0V) będzie nam składową diody zapalało – różnica potencjałów będzie wynosiła +5V (na diodzie niecałe 2V, na rezystorze – reszta).

Odpowiednie kody dla konspektu ścieżki „B” – B31 znajdują się na rysunkach poniżej:

3

Projekt “Strategia Wolnych i Otwartych Implementacji jako innowacyjny model zainteresowania kierunkami informatyczno-technicznymi oraz wspierania uczniów i uczennic w kształtowaniu kompetencji kluczowych” współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.

rys.4

rys.5

4

Projekt “Strategia Wolnych i Otwartych Implementacji jako innowacyjny model zainteresowania kierunkami informatyczno-technicznymi oraz wspierania uczniów i uczennic w kształtowaniu kompetencji kluczowych” współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.

rys.6

W pierwszym z nich (rys.4) – pierwsze dwa skrypty licząc od lewej strony dotyczą diody RGB w układzie wspólna katoda – przy czym ten bardziej rozbudowany uwzględnia domyślnie stany portów Arduino, których nie trzeba definiować (gdyż z założenia są one wyłączone i znajdują się na poziomie niskim – 0V). Kolejne dwa skrypty – to odpowiedniki dla diody RGB w układzie wspólna anoda. Całość tego rysunku przedstawia "płynne przejście" od jednego typu diody do drugiego, gdzie przy pełnej konfiguracji (dwa środkowe skrypty) widzimy instrukcje przeciwne, a dwa skrajne skrypty stanowią wersję zoptymalizowaną (bez zbędnych instrukcji). Kolejny rysunek (rys.5) nie wymaga większych komentarzy – wszystko odbywa się zgodnie z opisywaną zasadą negacji. Na ostatnim z nich (rys.6) należy zwrócić uwagę na wstępne wyzerowanie składowych diody RGB wspólna anoda – poprzez ustawienie stanów wysokich na odpowiednich wyjściach układu Arduino. Inaczej dioda na wstępie zaświeci światłem białym (świecące wszystkie trzy składowe).

5

Projekt “Strategia Wolnych i Otwartych Implementacji jako innowacyjny model zainteresowania kierunkami informatyczno-technicznymi oraz wspierania uczniów i uczennic w kształtowaniu kompetencji kluczowych” współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.