Blog (446)
Komentarze (5k)
Recenzje (0)

OLED PiCobber dedykowany wyświetlacz dla RPi

@wojtekadamsOLED PiCobber dedykowany wyświetlacz dla RPi16.06.2014 00:45

Od pojawienia się Raspberry Pi minęło już sporo czasu, ale nadal ten produkt jest na fali i co jakiś czas firmy wypuszczają na rynek swoje rozszerzenia od prostych po te przeznaczone dla bardziej cykniętych użytkowników. GEEKROO, aby nie odstawać od konkurencji także zaproponowała linię swoich produktów, którą nosi nazwę PiCobbers(Cobbers to australijskie określenie kumpli). Na ową grupę składa się sześć różnych przystawek:

Firma Geekroo pochodzi z Australii - swoją siedzibę ma w południowej jej części, a dokładnie w mieście Adelaide. Określają się mianem elektroników maniaków. Zajmujemy się projektowaniem, produkcją i sprzedażą gadżetów elektronicznych, akcesoriów dla Arduino, Raspberry Pi i BeagleBone. Cała załoga pracuje hobbistycznie tworząc swoje produkty w wolnym czasie - to się nazywa pasja :)

W moje ręce trafił OLED PiCobber w raz z dedykowaną obudową. Na płytce mamy do dyspozycji 1,3” wyświetlacz OLED + 6 programowalnych przycisków. Dodatkowo na płytce znajduje się miejsce na wlutowanie odbiornika IR. Standardowo urządzenie działa w trybie SPI, zaś z czasem zostanie udostępniona możliwość odpalenie w trybie I2C.

[1/2]
[2/2]

Przygotowania

Kod, który został udostępniony przez pasjonatów (http://g-base.org/oled-picobber-user-manual ), zawiera już podstawy do testowego uruchomienia wyświetlacza. Jednak aby rozpocząć pracę z owym programem musimy spełnić kilka warunków.

Przed wszystkim musimy zainstalować niezbędny stuff, a zrobimy to z użyciem poniższego polecenia:

sudo apt-get install python-dev i2c-tools python-smbus libjpeg

W kolejnym kroku powinniśmy włączyć obsługę interfejsu SPI, w tym celu musimy edytować plik “/etc/modprobe.d/raspi-blacklist.conf”, gdzie zakomentowujemy linię:

blacklist spi-bcm2708

Następnie w pliku /etc/modules musimy dodać dwie następujące linie:

i2c-bcm2708
i2c-dev

Po tej czynności powinniśmy zrestartować Malinę, zaś po ponownym uruchomieniu systemu wpisując w konsoli:

lsmod

...powinniśmy zobaczyć spi_bcm2708 na liście modułów.

Teraz czeka nas instalacja SPI wrappera, dzięki któremu będziemy mogli łączyć się z urządzeniami SPI za pomocą sterownika spidev:

mkdir python-spi
cd python-spi
wget https://raw.github.com/doceme/py-spidev/master/setup.py
wget https://raw.github.com/doceme/py-spidev/master/spidev_module.c
sudo python setup.py install

Ostatnim krokiem w procesie przygotowawczym będzie instalacja biblioteki wiringpi, która umożliwi nam dostęp do pinów GPIO z poziomu pythona.

sudo apt-get install python-pip
sudo pip install wiringpi2

Bym był zapomniał o doinstalowaniu PILa (PYTHON IMAGE LIBRARY), będziemy go wykorzystywać do blitowania obrazów na wyświetlacz.

sudo pip install pil

Wielki finał

W tym momencie zbliżamy się do końcówki całego wpisu, gdzie zobaczymy jak działa udostępniony program przez twórców tej przystawki. Owy kod na ekranie wyświetli datę (dzień, miesiąc, rok), a następnie przewinie aktualny ekran na drugi zbuforowany gdzie pokaże dokładną godzinę. Oto kawałek programu wykonywującego:

offset = 0 # flips between 0 and 32 for double buffering
# While loop has bulk of the code in it!
while True:
     # write the current time to the display on every other cycle
     if offset == 0:
          text = time.strftime("%A")
          led.draw_text2(0,0,text,2)
          text = time.strftime("%e %b %Y")
          led.draw_text2(0,16,text,2)
          text = time.strftime("%X")
          led.draw_text2(0,32+4,text,3)
          led.display()
          time.sleep(1)
     else:
          time.sleep(1)
          # vertically scroll to switch between buffers
          for i in range(0,32):
               offset = (offset + 1) % 64
               led.command(led.SET_START_LINE | offset)
               time.sleep(0.01)

[yt=https://www.youtube.com/watch?v=9rxWSvoDGj4] Jak można zauważyć po prezentowanym kodzie obsługa wyświetlacza nie jest skomplikowana, a udostępniona biblioteka daje nam szereg możliwości - do tego dochodzi sześć programowalnych przycisków. [yt=https://www.youtube.com/watch?v=uQti-9jM58E] Zastosowany wyświetlacz (ssd1306) w OLED PiCobber jest dość popularny - znajdziemy go także w rozwiązaniach innych firm np. Adafruit - dzięki czemu w internecie roi się od przykładów jego zastosowań i pomysłów na jego wykorzystanie.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.