Na rynku istnieje bardzo wiele różnego rodzaju wyświetlaczy – LCD, LED, OLED itd. Z większością z nich spotykamy się na co dzień, ale istnieją również nieco inne bardziej klasyczne konstrukcje, takie jak HPDL-1414.
Wszystko w jednym
HPDL-1414 to niewielkich rozmiarów moduł wyświetlacza LED, mogący wyświetlić maksymalnie cztery alfanumeryczne znaki. Każdy z nich zbudowany został z 14 świecących segmentów, aktywowanych zależnie od wyświetlanego znaku. Przeglądając notę katalogową wyświetlacza, od razu rzuca się w oczy określenie „smart alphanumeric display”. Nie jest to jednak tylko i wyłącznie marketingowe określenie mające przyciągnąć uwagę konsumenta. Urządzenie rzeczywiście posiada wbudowaną pamięć RAM, dekoder znaków ASCII (ASCII 32-95) oraz obwód zasilający poszczególne segmenty wyświetlacza, przez co pod względem konstrukcji znacznie bardziej przypomina popularne wyświetlacze LCD, niż zwyczajne LEDy.
Jak już wspomniałem, urządzenie może wyświetlić maksymalnie cztery alfanumeryczne znaki w kolorze czerwonym dzięki zastosowaniu arsenofosforku galu jako materiału półprzewodnikowego. Wymiary elementu są naprawdę niewielkie, bez problemu można je wpiąć w płytkę stykową, zaś sam wyświetlany znak ma rozmiar 2,85mm (0,112 cala).
Opis wyprowadzeń (https://www.farnell.com/datasheets/76528.pdf)
Wyświetlacz zasilany jest napięciem z zakresu od 0,5V do 7V, dzięki czemu może współpracować z popularnymi platformami operującymi w standardach logicznych 5V i 3,3V. Poza pinami zasilającymi urządzenie posiada również wejścia adresowe – umożliwiające wybór jednej z czterech cyfr, wejścia danych – na nie podawany jest binarny kod przypisany do konkretnego znaku alfanumerycznego oraz wejście /WR (write) – pojawienie się na nim stanu niskiego powoduje zapisanie w pamięci modułu i wyświetlenie wybranego przez nas znaku.
Obsługa HPDL-1414
Obsługiwane znaki (https://www.farnell.com/datasheets/76528.pdf)
Obsługa HPDL-1414 jest tak naprawdę bardzo prosta. Za pomocą wejść adresowych wybieramy jedną z czterech dostępnych cyfr, następnie na wejście danych podajemy kod dla konkretnego znaku zgodny z tabelką powyżej i na końcu wystarczy krótki impuls podany na wejście /WR i wówczas na wyświetlaczu pojawi się wybrany przez nas znak. Jeśli chcemy uruchomić więcej niż jeden moduł wyświetlacza, łączymy ze sobą wejścia danych i adresów, tylko wejście /WR jest dedykowane dla konkretnego urządzenia.
#include <HPDL1414.h>
const byte dataPins[7] = {2, 3, 4, 5, 6, 7, 8}; // Segment data pins: D0 - D6
const byte addrPins[2] = {A1, A2}; // Segment address pins: A0, A1
const byte wrenPins[] = {A0, A3, A4}; // Write Enable pins (left to right)
HPDL1414 hpdl(dataPins, addrPins, wrenPins, sizeof(wrenPins));
Na początku należy oczywiście dołączyć bibliotekę oraz stworzyć trzy tablicę, w której umieścimy oznaczenia wykorzystanych pinów. Pierwsze dwie konstrukcje mają stałą wielkość, to znaczy musimy podać siedem wyjść dla danych oraz dwa piny adresowe. Ostatnia tablica przechowuje oznaczenia wyjść /WR. W moim przypadku, testowałem jednocześnie trzy wyświetlacze, dlatego umieściłem w niej trzy wyjścia A0, A3 i A4.
void setup() {
hpdl.begin();
hpdl.printOverflow(true);
}
W pętli setup umieściłem tylko dwa polecenia. Pierwsze z nich inicjalizuje moduły wyświetlaczy drugie natomiast sprawia, że tekst będzie zawijany. Oznacza to, że jeśli będziemy chcieli wyświetlić ciąg dłuższy niż 12 znaków (trzy wyświetlacze) tekst, który przekroczy zakres, pojawi się na początku. Jeśli polecenie to zostałoby usunięte, to nadmiar znaków będzie obcinany.
void loop() {
hpdl.clear();
delay(1000);
hpdl.print("HPDL TEST");
delay(1000);
}
Dwiema podstawowymi funkcjami obsługującymi HPDL-1414 są hpdl.clear();, która czyści wyświetlacz oraz hpdl.print(„”);, w której wnętrzu umieszczamy tekst lub zmienną, którą chcemy wyświetlić. Należy jednak pamiętać, że pojedynczy wyświetlacz może obsłużyć tylko cztery znaki, każdy nadmiarowy tekst zostanie pominięty.
Po uruchomieniu kodu na wyświetlaczu co sekundę pojawiać się będzie tekst „HPDL TEST”. Musicie przyznać, że HPDL-1414 to całkiem ciekawa konstrukcja. Łatwa w sterowaniu i przede wszystkim niewielki. Jeśli projektowane urządzenie musi wyświetlać tylko proste komunikaty, czy kody błędów to tego typu wyświetlacz może być dobrą alternatywą dla klasycznych konstrukcji 7 segmentowych lub wyświetlaczy LCD.
W ostatnich latach żarówki LED na dobre zagościły w naszych domach, zastępując wysłużone już konstrukcje z wolframowym żarnikiem. Nic w tym dziwnego, LEDy w porównaniu do innych źródeł światła wypadają zaskakująco dobrze – zużywają niewiele energii, mogą świecić w różnych kolorach, włączają się natychmiast i nie nagrzewają się aż tak bardzo.
Praktycznie codziennie spotykamy się z różnego rodzaju kodami kreskowymi. Mimo że zazwyczaj nie zwracamy na nie uwagi, to pełnią one bardzo ważną rolę w dzisiejszym świecie – identyfikacja produktów w sklepie, przepływ paczek w centrach logistycznych czy też odpowiednie rozprowadzenie komponentów na procesach produkcji. W każdym z tych obszarów wykorzystywane są kody kreskowe, między innymi dzięki ich prostocie. Niewielkich rozmiarów kod może być łatwo zeskanowany przez automatyczny skaner lub operatora wyposażonego w odpowiedni sprzęt.
Źródła:
- https://www.farnell.com/datasheets/76528.pdf
- https://github.com/marecl/HPDL1414