---
slug: "RaspberryPiで、128x64OLEDLCDディスプレイを動作させる"
title: "Raspberry Pi で、128x64 OLED LCD ディスプレイを動作させる"
description: "\n\n\n\nAmazonで衝動買いした、128x64 OLED LCD ディスプレイ"
url: "https://www.ytyng.com/blog/RaspberryPiで、128x64OLEDLCDディスプレイを動作させる"
publish_date: "2015-08-16T15:19:47Z"
created: "2015-08-16T15:19:47Z"
updated: "2026-02-27T10:43:51.660Z"
categories: ["Raspberry-Pi"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/7cada2dec88e47babc77e0938dbf4c41.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

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

<div class="document">


<img alt="http://ytyng.com/picture/raspberry-pi/u8g/IMG_4613.jpg" src="http://ytyng.com/picture/raspberry-pi/u8g/IMG_4613.jpg"/>
<p>Amazonで衝動買いした、128x64 OLED LCD ディスプレイ</p>
<p><a class="reference external" href="http://www.amazon.co.jp/dp/B00XDY2SR8">http://www.amazon.co.jp/dp/B00XDY2SR8</a></p>
<p>を、Raspberry PI に I2C で接続し、動作させるまで。</p>
<p>SSD1306 ?</p>
<div class="section" id="raspberry-pi-i2c">
<h3>1. Raspberry PI で、I2C を有効にする</h3>
<pre class="literal-block">$ sudo raspi-config
</pre>
<p>→ Advanced Options → I2C → はい</p>
<p>設定後、再起動</p>
<p>やり方としていろいろあるらしいので、手持ちの機種や時代にあった方法で。</p>
<p>参考: `最近の Raspberry Pi で I2C を有効化 - Rabbit Note &lt;<a class="reference external" href="http://rabbit-note.com/2015/02/08/raspberry-pi-i2c-activation/">http://rabbit-note.com/2015/02/08/raspberry-pi-i2c-activation/</a>&gt;`_</p>
<p>i2c-tools もインストールしておく</p>
<pre class="literal-block">$ sudo apt-get install i2c-tools
</pre>
</div>
<div class="section" id="lcd">
<h3>2. LCD ディスプレイを接続して確認</h3>
<p>2-1. ディスプレイを挿してない状態で i2cdetect</p>
<pre class="literal-block">$ 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: -- -- -- -- -- -- -- --
</pre>
<p>2-2. ディスプレイを接続。ピンのどれを使うかはいろいろな所に画像がありますが、例えばここを参考に</p>
<p>Raspberry Pi でI2C: 温度センサーを使う - 猫ぱーんち！</p>
<p><a class="reference external" href="http://d.hatena.ne.jp/penkoba/20131215/1387119945">http://d.hatena.ne.jp/penkoba/20131215/1387119945</a></p>
<p>2-3. ディスプレイを指したあとで i2cdetect</p>
<pre class="literal-block">$ 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: -- -- -- -- -- -- -- --
</pre>
<p>3c で認識されています。</p>
</div>
<div class="section" id="wiring-pi">
<h3>3. wiring pi をインストール</h3>
<pre class="literal-block">$ git clone git://git.drogon.net/wiringPi
$ ./build
</pre>
<p>テスト</p>
<pre class="literal-block">$ gpio -v
$ gpio readall
</pre>
</div>
<div class="section" id="u8glib">
<h3>4. u8glib をインストール</h3>
<p>arduinoでよく使われているライブラリを Raspberry Pi でビルドして使う</p>
<p>Issue 171 - u8glib - Port U8glib to Raspberry Pi - Universal Graphics Library for 8 Bit Embedded Systems - Google Project Hosting</p>
<p><a class="reference external" href="https://code.google.com/p/u8glib/issues/detail?id=171">https://code.google.com/p/u8glib/issues/detail?id=171</a></p>
<p>上記ページを参考に。</p>
<pre class="literal-block">$ cd /tmp/
$ wget http://dl.bintray.com/olikraus/u8glib/u8glib_arduino_v1.16.zip
$ unzip u8glib_arduino_v1.16.zip
</pre>
<p>下記サイトに投稿されているパッチをもらう (上に書いてあるのと同じページ)</p>
<p><a class="reference external" href="https://code.google.com/p/u8glib/issues/detail?id=171">https://code.google.com/p/u8glib/issues/detail?id=171</a></p>
<p>この #24 の u8glib_1.16.RaspberryPi.patch をもらう。</p>
<p>URL をコピって、Raspberry Pi で wget するとか、PC でダウンロードして sftp で送るなど</p>
<p>/tmp/u8glib_1.16.RaspberryPi.patch とする。</p>
<pre class="literal-block">$ cd /tmp/U8glib/
$ patch -p1 &lt; /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/
</pre>
</div>
<div class="section" id="id1">
<h3>5. デモを実行</h3>
<pre class="literal-block">$ cd /tmp/U8glib/examples/U8gLogo
$ vim Makefile
</pre>
<pre class="literal-block"># INCLUDE=/opt/U8glib/include
INCLUDE=/tmp/U8glib/include
</pre>
<p>↑ INCLUDE 箇所を書き直す</p>
<pre class="literal-block">$ make
$ ./logo
</pre>
<img alt="http://ytyng.com/picture/raspberry-pi/u8g/IMG_4613.jpg" src="http://ytyng.com/picture/raspberry-pi/u8g/IMG_4613.jpg"/>
</div>
<div class="section" id="python">
<h3>6. Python から使うには…</h3>
<p>コード書き中</p>
</div>
</div>
