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