
W poniższym poradniku dowiemy się, krok po kroku, jak podłączyć wyświetlacz z telefonu Nokia 5110 do modułu Arduino, napisać kod oraz, wykorzystując dostępne w sieci narzędzia, stworzyć grafiki, które można będzie wyświetlać na tym ekranie z pomocą Arduino.
Krok 1: podłączenie
Po pierwsze trzeba podłączyć wyświetlacz telefonu Nokia 5110 do naszego modułu. Pamiętać należy, że wyświetlacz działa przy zasilaniu 3,3 V. Jakkolwiek niektórzy podłączali układ do wyjść w standardzie 5 V i wszystko działało, jednakże czasami widoczne były jakieś niepożądane zjawiska, których lepiej unikać, więc podłączajmy ekran tylko do wyjść w standardzie 3,3 V.
Po drugie - pin LIGHT wyświetlacza kontroluje działanie podświetlenia LCD włączając i wyłączając je. Podświetlenie będzie włączone, jeśli pin ten podepniemy do masy, a wyłączone jeśli podepniemy do zasilania. Sam wyświetlacz, bez włączonego podświetlenia, pobiera około 3 mA, co jest niezwykle niską wartością. Jeśli chcemy zbudować np. urządzenie które będzie cały czas włączone, lub też zasilane z baterii, to możemy wykorzystać ten wyświetlacz, o ile wyłączmy podświetlenie.
Poniższa tabela pokazuje jak wykonano połączenia w układzie:
LCD | Arduino |
VCC | Arduino 3.3V |
LIGHT | GND Arduino Będziemy korzystać z cały czas zapalonego podświetlenia. |
GND | Arduino GND |
CLK (SCLK) | Arduino pin 7 |
DIN (MOSI) | Arduino pin 6 |
DC | Arduino pin 5 |
CE lub CS | Arduino pin 4 |
RST (RESET) | Arduino pin 3 |
Krok 2: Stworzenie pliku BMP
Kolejnym krokiem jest stworzenie bitmapy i skonwertowanie jej do kodu w C etc.
Bitmapa (plik BMP) to format obrazka, który składa się z macierzy pikseli z opisanymi ich wartościami. Zapiszmy najpierw wybrany przez nas obraz jako bitmapę.
Po pierwsze musimy stworzyć w tym celu grafikę. W przedstawionym projekcie skorzystamy z pixlr editor. To prosta internetowa aplikacja do tworzenia obrazków, w tym i bitmap. Na stronie do której prowadzi powyższy link wystarczy wybrać tworzenie nowego obrazka i ustawić jego wielkość na 84 x 48 lub inną, zależnie od rozdzielczości naszego wyświetlacza. Potem wystarczy stworzyć co się chce zobaczyć na wyświetlaczu w naszym systemie. Finalnie wystarczy zapisać obrazek, oczywiście jako plik BMP - Cmd + S (mac) lub Ctrl + S (windows). Teraz wystarczy skonwertować plik BMP do kodu na LCD.
Krok 3: LCD creator
Jako że autor pracuje na Macintoshu opisana poniżej ścieżka korzysta z oprogramowania nazwanego LCD creator, dostępnego na tą platformę. Na Windowsie skorzystać można z bliźniaczego programu, który nazywa się LCD assistant, Programy pobrać można:
LCD creator http://www.csmithsoftware.com/LCD_Creator/LCD_Creator.dmg
LCD assistant http://en.radzio.dxp.pl/bitmap_converter/LCDAssistant.zip
Rozpocząć trzeba od naciśnięcia "Open .bmp image" i wybrania interesującego nas obrazka. Następnie klikamy na "Generate C code" i widzimy jak poniżej generują się kody heksadecymalne, które po kliknięciu w przycisk "Copy to clipboard" skopiowane mamy do schowka.
Następnie, w dowolnym, wybrany przez nas edytorze tekstowym tworzymy nowy plik, do którego kopiujemy zawartość schowka i zapisujemy plik jako kod źródłowy z rozszerzeniem .c.
Następnie skopiować musimy stworzony plik do projektu na Arduino. Po przeładowaniu projektu widzimy dodany plik w zakładce, jak na zaprezentowanym poniżej obrazku.
Krok 4: oszczędzanie pamięci RAM
Zapisywać kod w C będziemy w pamięci programu, a nie pamięci SRAM mikrokontrolera, gdyż zależy nam na zmniejszeniu wykorzystania pamięci RAM. Aby to zrobić, musimy załadować w kodzie odpowiednią bibliotekę (avr/pgmspace.h) i dodać słowo kluczowe PROGMEM jak pokazano poniżej:
Code: cpp
Krok 5: kod programu
Teraz gotowi jesteśmy do napisania kodu. Poniżej umieszczono prosty kod pozwalający na wyświetlenie grafiki. Dodano do niego odpowiednie komentarze, aby wszystko było jasne. Trzeba tylko zmienić nazwę obiektu w C na "graphic". Autor tego poradnika wykorzystuje bibliotekę LCD5110_Graph, stworzoną przez Henninga Karlsena. Bibliotekę pobrać można tutaj http://www.rinkydinkelectronics.com/download.php?f=LCD5110_Graph.zip. A tak prezentuje się kod źródłowy na AVRa:
Code: cpp
Źródło:
http://www.instructables.com/id/Nokia-5110-graphics-tutorial/?ALLSTEPS
Cool? Ranking DIY