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

投稿者: ytyng 8年, 8ヶ月 前
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 から使うには…

コード書き中

現在未評価

コメント

アーカイブ

2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011