**概要 [#nd4d04e0] RaspBerry Pi に I2C 接続のモノクロ 128*64 ドットの有機 EL ディスプレイを接続して、コンソール画面(CTRL+ALT+F1 を押したときの画面)を表示させる手順です。 #ref(oled01.jpg,zoom,320x240) -機種: RaspberryPi(Model-B, Model-B+)で動作確認済み -OS: NOOBS v1.5.0 --Linux pi 4.1.13+ #826 PREEMPT Fri Nov 13 20:13:22 GMT 2015 armv6l GNU/Linux -OLED: SSD1306 制御の製品(4ピン, I2C インタフェースのもの, I2Cアドレス=78H) **設定 [#s155fee4] (1) 配線 -RaspberryPi の I2C 出力と OLED を結線(4本) --参考ページ: [[Raspberry PiでI2C接続の128×64 OLEDに日本語を表示(美咲フォント):http://ytkyk.info/blog/2016/06/19/raspberry-pi%E3%81%A7128x64%E3%81%AEoled%E3%81%AB%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%92%E8%A1%A8%E7%A4%BA%E7%BE%8E%E5%92%B2%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88/]] (2) oled コマンドを /bin/oled に置く -&ref(oled.zip); -I2Cアドレスが 78H 以外のディスプレイを使う場合はソースを修正して再コンパイルが必要(gcc -o oled oled.c) (3) 8dot フォントをインストール - フォントファイルが /usr/share/consolefonts に追加される # apt-get install console-data (4) I2C の有効化 -メニューから "Advenced Options" → "I2C" を選択して有効化 -メニューから日本語キーボードの設定もできる -再起動 # raspi-config (5) 解像度の追加 -/etc/fb.modes を編集して下記の行を追加 mode "128x64-60" # D: 25.175 MHz, H: 31.469 kHz, V: 59.94 Hz geometry 128 64 128 64 8 timings 39722 48 16 33 10 96 2 endmode (6) サービスの追加 -/etc/systemd/system/oled.service を作成して下記の内容を入力 [Unit] Description = oled daemon [Service] ExecStartPre=/bin/bash -c "/bin/chvt 1; /bin/fbset '128x64-60'; /bin/setfont (行継続) 'alt-8x8'; export TERM=linux; setterm -blank 0 > /dev/tty1" ExecStopPost=/bin/bash -c "/bin/fbset '800x600-60'; /bin/setfont 'default8x16'" ExecStart = /bin/oled Restart = always Type = simple [Install] WantedBy = multi-user.target **使い方 [#l0e7ca2f] -表示開始 --コンソール(CTRL+ALT+F1)の解像度が 128*64 になり、OLED にも表示されるようになる # service oled start または # systemctl start oled -表示停止 --コンソール(CTRL+ALT+F1)の解像度が 800*600 になり、OLED の更新が停止される # service oled stop または # systemctl stop oled -OS 起動時に表示開始 # systemctl enable oled -OS 起動時に表示開始しない # systemctl disable oled **注意 [#xdb433d7] -上記の「表示停止」を実行しても X-Window の解像度が 128*64 のままで、本来の解像度に戻りません RIGHT:[https://goo.gl/ZAZqIj]