Raspberry Pi で、128x64 OLED LCD ディスプレイを動作させる

(コメント)

http://ytyng.com/picture/raspberry-pi/u8g/IMG_4613.jpg

Amazonで衝動買いした、128x64 OLED LCD ディスプレイ

http://www.amazon.co.jp/dp/B00XDY2SR8

を、Raspberry PI に I2C で接続し、動作させるまで。

SSD1306 ?

1. Raspberry PI で、I2C を有効にする

$ sudo raspi-config

→ Advanced Options → I2C → はい

設定後、再起動

やり方としていろいろあるらしいので、手持ちの機種や時代にあった方法で。

参考: `最近の Raspberry Pi で I2C を有効化 - Rabbit Note <http://rabbit-note.com/2015/02/08/raspberry-pi-i2c-activation/>`_

i2c-tools もインストールしておく

$ sudo apt-get install i2c-tools

2. LCD ディスプレイを接続して確認

2-1. ディスプレイを挿してない状態で i2cdetect

$ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

2-2. ディスプレイを接続。ピンのどれを使うかはいろいろな所に画像がありますが、例えばここを参考に

Raspberry Pi でI2C: 温度センサーを使う - 猫ぱーんち!

http://d.hatena.ne.jp/penkoba/20131215/1387119945

2-3. ディスプレイを指したあとで i2cdetect

$ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

3c で認識されています。

3. wiring pi をインストール

$ git clone git://git.drogon.net/wiringPi
$ ./build

テスト

$ gpio -v
$ gpio readall

4. u8glib をインストール

arduinoでよく使われているライブラリを Raspberry Pi でビルドして使う

Issue 171 - u8glib - Port U8glib to Raspberry Pi - Universal Graphics Library for 8 Bit Embedded Systems - Google Project Hosting

https://code.google.com/p/u8glib/issues/detail?id=171

上記ページを参考に。

$ cd /tmp/
$ wget http://dl.bintray.com/olikraus/u8glib/u8glib_arduino_v1.16.zip
$ unzip u8glib_arduino_v1.16.zip

下記サイトに投稿されているパッチをもらう (上に書いてあるのと同じページ)

https://code.google.com/p/u8glib/issues/detail?id=171

この #24 の u8glib_1.16.RaspberryPi.patch をもらう。

URL をコピって、Raspberry Pi で wget するとか、PC でダウンロードして sftp で送るなど

/tmp/u8glib_1.16.RaspberryPi.patch とする。

$ cd /tmp/U8glib/
$ patch -p1 < /tmp/u8glib_1.16.RaspberryPi.patch
$ make
$ sudo cp libU8glib.a /usr/lib
$ sudo cp U8glib.h /usr/include
$ sudo mkdir /usr/include/utility
$ sudo cp /tmp/U8glib/utility/u8g.h /usr/include/utility/

5. デモを実行

$ cd /tmp/U8glib/examples/U8gLogo
$ vim Makefile
# INCLUDE=/opt/U8glib/include
INCLUDE=/tmp/U8glib/include

↑ INCLUDE 箇所を書き直す

$ make
$ ./logo
http://ytyng.com/picture/raspberry-pi/u8g/IMG_4613.jpg

6. Python から使うには…

コード書き中

現在未評価

コメント

最近のツイート

  • ytyng

    ytyng @ytyng

    俺もスタバアプリにログインできないよ
    2 ヶ月, 1 週間 前

  • 安藤拓郎 Takuro Ando

    安藤拓郎 Takuro Ando @takuroando

    ytyng

    これまでいろんなグッズを作ってきたけど、今回は「お米」と聞いて買うしかないなと。今夜の夕食はコシヒカリ!箸もセットだし^^ https://t.co/01ucQx9qtw #腰乃展 #マンガ展 https://t.co/4VL2vOe0Og
    2 ヶ月, 4 週間 前

  • ytyng

    ytyng @ytyng

    講談社さんとやった全部入り電子書籍セットがギネスブックに登録されたよー https://t.co/rbkd3IYub0
    2 ヶ月, 4 週間 前