[009] TME-EDU-ARD-2 - peryferia
Po ogólnej dawce wiedzy czym jest płytka edukacyjna TME, przyjrzymy się teraz wszystkim peryferiom, które znajdują się na płytce TME-EDU-ARD-2.
Zaczniemy od wyświetlacza pracującego w oparciu o kontroler HD44780, ale nie podłączonego bezpośrednio do Arduino, a przez interfejs szyny I2C na port równoległy. W sytuacjach, gdzie mamy takie „portożerne” elementy – przypomnę, wyświetlacz ten potrzebuje sześciu linii – często stosuje się tak zwane ekspandery, czyli układy, z którymi mikroprocesor komunikuje się za pomocą szeregowego interfejsu, wystawiając zwykle osiem bitów lub czytając osiem linii.
Z pewnością ciekawszy, bo bardziej wszechstronny, jest drugi wyświetlacz, wykonany w technologii OLED i mogący już pracować w trybie graficznym. Ma on niespełna cal wielkości i rozdzielczość 128x64 piksele. Ten element nie jest taki prosty w lutowaniu, ale w tym przypadku nie musimy się tym martwić. Także on porozumiewa się z Arduino interfejsem I2C
Skoro o wyświetlaczach mowa, mamy jeszcze trzeci tego typu element, tym razem ubogi możliwościami, lecz niezwykle popularny. To wyświetlacz siedmiosegmentowy, czyli popularna ósemka, mająca tę zaletę nad poprzednimi, że jest dużo bardziej czytelna i widoczna z większej odległości. Oczywiście jedna cyferka niewiele może, lecz chodzi tutaj o naukę i przy okazji omawiania tego elementu, pojawią się wyświetlacze wielocyfrowe, już w pełni użyteczne. Także i tutaj użyto ekspandera I2C, dokładnie tego samego, który steruje wyświetlaczem LCD, a dzięki zapasowi mocy linii portu może on sterować bezpośrednio świecącymi segmentami. I nie tylko, bo cyferkę tę można odłączyć, a portu użyć do własnych zastosowań. Jego wyjścia są dostępne obok wyświetlacza i zostały opisane.
To nie koniec świecenia. Na płycie znajdują się trzy typy diod świecących. Pierwsza jest podłączona wprost pod wyjście 13 i dubluje diodę znajdującą się na płytce Arduino – tę mrugającą tak zwanym „pierwszym napisanym w życiu programem”.
Druga jest już diodą RGB, która podpięta jest pod trzy wyjścia Arduino i o sterowaniu takimi diodami opowiadałem kiedyś.
Trzecia, a właściwie pięć kolejnych, bo oprócz tu widocznej mamy jeszcze cztery na spodzie płytki, to diody „inteligentne” WS2812B, czyli wyposażone w elektronikę sterującą każdą diodą niezależnie przy pomocy jednej tylko linii danych. Do sterowania takimi diodami używa się zaprojektowanej dlań biblioteki i oczywiście na omówienie tego zagadnienia przyjdzie czas.
Kolejno mamy odbiornik podczerwieni, czyli czujnik odbierający dane z pilotów. Jest kompatybilny z większością z nich i nie tylko można dzięki niemu sterować Arduino, ale także rozpoznawać nieznane komunikaty i budować sterowniki urządzeń sterowanych pilotem, oczywiście po dołączeniu dodatkowej diody podczerwieni.
Na płytce znajduje się także szereg urządzeń analogowych, których sygnały są mierzone przez Arduino. Zaczniemy od mikrofonu. Dla niego zbudowano tutaj dwustopniowy wzmacniacz, dopasowujący niewielki poziom sygnału do wymagań przetwornika.
Poniżej znajdziemy termometr, ale tym razem nie jest to element wyposażony w interfejs, a wymagający mierzenia napięcia. Także tutaj znajdziemy wzmacniacz operacyjny, dopasowujący poziomy zmian tego napięcia do zakresu przetwornika Arduino.
Kolejnym elementem jest czujnik światła, czyli fototranzystor. Tutaj już implementacja jest prościutka.
Ostatnim z analogowej rodziny jest potencjometr i tu także żadnej filozofii w jego podłączeniu do Arduino nie znajdziemy, może z wyjątkiem obecności prostego układu eliminującego zakłócenia w postaci kondensatora, pełniącego rolę filtru dolnoprzepustowego.
Na płytce znalazł się także aktywny buzzer, czyli źródło pisków, które posiada własny ich generator i nie trzeba do tego celu angażować generatora wbudowanego w Arduino.
Wreszcie na koniec zostawiłem rzecz wydawałoby się najprostszą: klawiaturę. Nie zwiera ona jednak wprost konkretnych wyprowadzeń Arduino, a została rozbudowana o filtry dolnoprzepustowe, ograniczające stany nieustalone i tak zwane inwertery Schmitta – układy formujące impulsy do jednoznacznej postaci, którą można analizować bez specjalnych pętli opóźniających i różnych programistycznych sztuczek ograniczających pomyłki.
Płytka zawiera jeszcze diody świecące wskazujące właściwie napięcia zasilania, przycisk reset, złącze zasilania – gdybyśmy nie chcieli użyć tego na płytce Arduino i gniazdo modułu BT wraz z niezbędnymi peryferiami. Jak więc widać, jest tutaj dużo różności i w najbliższych artykułach będę próbował okiełznać poszczególne składniki, korzystając z już zdobytej wiedzy lub też zagłębiając się w kolejne tajemnice współczesnej elektroniki.