投稿者名:TOKIDA

このサイトは備忘録であるとともにIT界隈の人に情報をお返し出来たら良いなぁという物です。

懐かしいOldパソコンの画面をエミュレーションする「Retro-Term」

レトロなターミナル

フルスクリーンで表示すると懐かしい画面が。
それにしても微妙なブラウン管のゆらぎとかその辺りを必死で描画する性能の無駄遣い加減が素晴らしい。こんどこれでプレゼンテーションをしよう。

NewImage

手順に従って

brew install qt5
git clone --recursive https://github.com/Swordfish90/cool-retro-term.git
export CPPFLAGS="-I/usr/local/opt/qt5/include"
export LDFLAGS="-L/usr/local/opt/qt5/lib"
export PATH=/usr/local/opt/qt5/bin:$PATH
cd cool-retro-term
qmake && make
mkdir cool-retro-term.app/Contents/PlugIns
cp -r qmltermwidget/QMLTermWidget cool-retro-term.app/Contents/PlugIns
open cool-retro-term.app

を実施すれば動きます。最後に cool-retro-term.app を /Applications にコピーしておけばよいです。設定項目で色々パフォーマンスを変更できるので調整しましょう。またプリセットで色々な機種風にテーマを帰ることが出来ます。

温度センサーBME280の値をLCD(AQM0802A)に表示

温度センサーBME280の値をLCD(AQM0802A)に表示してみた。

IMG 5479

やっている内容はシンプルで1秒毎にセンサーから値を取得し、LCDに描画させました。

結構普通に描画されています。
描画スペースが 8×2しか無いので何に使うのか悩みますがとりあえずボタンでこの機能をON/OFF出来るようにはしておきたいと思います。

秋月の「I2C接続小型LCDモジュール(8×2行)ピッチ変換キット」をZeroに繋げる

ハマりました。

商品のページに確かに注釈が追記されているように、Raspberry Piでは上手く動作しません。I2Cで認識する所から上手く動かないと思います。

Raspberry PI の GPIO2番/3番がプルアップを基盤上でしているために上手く認識が出来ないというのが理由のようです。従ってこれを解消するためには、基盤上の抵抗を取り除か(Zeroではかなり厳しい位置にありますし他にも影響しそうなのであまりしたくありません)ないと行けない模様です。ハードウェアで設定されてしまうためgpioコマンドを利用してもプルアップルを変更できていません。

  • Raspberry Pi Zero
  • [RaspberryPi] GPIO 入力端子のプルアップ/ダウン設定について](http://www.magicvox.net/archive/2015/09132143/)

こちらのサイトに回避方法が掲載されています。現在この回路を持っていないので試しにSDAを「プルダウン」してみたいと思います。抵抗は2Ωx2個をGNDに接続してみます。
既に半田してしまったのだけどプルアップ用のジャンパ(PU)をしなくても良いだけかもしれない。

商品はこのサイズです

IMG 5445

半田はかなり小さくなります。先にハンダゴテの先に半田を盛っておいてサッとポイントに塗ると上手く半田が移動してくれます。

IMG 5446

ちょっと面倒な繋げ方になりましたが抵抗を挟んでいます。

IMG 5447

この状態で

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

見えました。
では次に以下のコマンドを実行してみます。

i2cset -y 1 0x3e 0 0x38 0x39 0x14 0x78 0x5f 0x6a i
sleep 0.3
i2cset -y 1 0x3e 0 0x0c 0x01 i
sleep 0.3
i2cset -y 1 0x3e 0 0x06 i
sleep 0.3
i2cset -y 1 0x3e 0 0x80 b
i2cset -y 1 0x3e 0x40 0x31 0x32 0x33 0x34 i
i2cset -y 1 0x3e 0 0xc0 b
i2cset -y 1 0x3e 0x40 0x41 0x42 0x43 0x44 0x45 i

無事に表示されました。

IMG 5448

これで液晶に文字を書くことが出来るようになりました。Pythonで利用するためのライブラリとかあれば使ってみたいですし pyLCI で正しく動作するかも確認したいところです。

参考

Pi Zero で Scroll pHat を試す

Scroll pHat は、LEDの電光掲示板のようなガジェットです。
以前にZeroを購入した際に pHatセットで購入したのですが全く触っていなかったのでようやくピンをはんだづけして使ってみました。

IMG 5443

LEDの生身の状態です。

IMG 5438

光を抑えてくれるボードが付いているので付けてみました。

IMG 5439

背面には謎の文字が

IMG 5440

装着するとこのような感じです。

IMG 5441

メーカーから操作をするためのサンプルコードとライブラリが提供されています。python用のものになります。

導入は以下のコマンドを実行します。~/Pimorino に導入されることになります。

curl -sS https://get.pimoroni.com/scrollphat | bash

では実際に利用してみるとこのような感じになります。

結構面白いですね。もう少し自由に使えるようになれば最小サイズの情報画面としても利用できます。

ちなみにこのボードはi2c接続となっていて

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

の様に認識されています。なので他のGPIOのピンは実際には使用していないと思うので上手く他のピンを活かして使いたいものです。

購入配下のサイトから出来ます

Raspberry Pi zero 1.3 発売

Raspberry Pi zero に v1.3 という新しいものが登場していました。

カメラ欲しかった人も居ると思いますので嬉しいアップデートだと思います。とはいえ専用のケーブルになってしまったのは残念です。

お昼ごろまで色々なサイトでStockがある状態でしたが先ほど見たら既に売り切れになっていますね、一人1台の制限が付いていたと思いますが早い。。

制限がなくなって複数台変えるように成ると送料が割安になりだいぶお得なので在庫が増えることを期待しています。

上部へスクロール