So-net無料ブログ作成

DSMainR5のOLEDの話 その2 [DSmainR5]

 さて、だれも教えてくれなさそうなので、一昨年買ったAmazonで買ったOLED(1.3インチ)を使えるようにしていきたいと思います。
 説明書はこちらのようです。
 ということで、まずは、貧乏でいいのを組み立てて、I2Cでつないで。DSMainR5のスケッチをArduinoUnoとして、使ってみます。まあ、こうなります。
re_DSC02205.jpg

 スケッチをいろいろにらめっこしたり、いろんなところのサンプルを見た後、よくわかりませんが、Yaasan様が言うように2ドットXがずれているだけかなあと思い、
OzOLED.cppのvoid OzOLED::setCursorXY(byte X, byte Y)関数の中身でXを指定している
sendCommand(0x00 + (8*X & 0x0F)); //set column lower address
sendCommand(0x10 + ((8*X>>4)&0x0F)); //set column higher address

sendCommand(0x00 + ((8*X+2) & 0x0F)); //set column lower address
sendCommand(0x10 + (((8*X+2)>>4)&0x0F)); //set column higher address
(18.08.12修正)
としたら、あっさり普通に表示されるようになりました。
深くは考えずにこれで解決とします。下記のようにちゃんと表示されています。
re_DSC02206.jpg

で、DSMainR5のNanoスケッチに入れて、ちゃんと表示されることを確認して、
re_DSC02207.jpg

ケースの前面を加工するために、どのくらいが表示領域かを確認するため、OLED表示を反転させます。
re_DSC02208.jpg

やり方は、
DSMeister.inoのvoid setup()関数内の
LCD.setNormalDisplay(); //Set display to Normal mode

LCD.setInverseDisplay();
と命令を差し替えます。
これに合わせて、ケースの加工のためにケースをマーキングしていきます。
re_DSC02209.jpg

で、ホットナイフで大まかに加工します。
re_DSC02210.jpg

OLEDで現物合わせし、もうちょっと加工します。
re_DSC02211.jpg

で、仮止め用に両面テープをOLEDに貼ります。
re_DSC02212.jpg

で、OLEDを前面ケースに貼って、お決まりのようにセメダインスーパーXを横から盛って、固まるまで数時間待ちます。
re_DSC02213.jpg

で、完成です。
まずは、OLEDを反転表示させたとき。
re_DSC02214.jpg

次に、通常表示。
re_DSC02215.jpg

表示窓は大きくなりましたが、個々の文字は小さくなりました。
文字をすべて16ポイントで表示するとかできたら、もっと見やすいですかねえ?
(そして文字数が少なくなって液晶と変わらなくなるとかいうオチ?)

なお、スマイラー様が1.3インチ用ケースをYaasan様が持っているんじゃないか?とコメントしてくれた時分、すでに、ケースは加工済みでした。

コメント(0) 

raspi zero wでカメラを動かしWifi経由で配信するメモ [その他]

 へのへのもへじさんがやっているraspiでカメラを私もやりました。なんか、Linuxってわからないので、大変です。
 私のほうは、Raspbian Jessie Liteというやつでやっています。
 いろいろな人のページを見ましたが、以下の感じです。
 Raspbian Jessie Liteをインストールします。
 このページの右下のLiteのZIPファイルです。
 で、SDカードをフォーマットします。
 こちらのページのやつが公式だそうで、それでやります。
 クイックフォーマットしておきました。
 RaspberryのZIPファイルは解凍したらImgファイルなので、SDカードに展開しないとです。
 win32diskimagerというソフトを使いました。
 で、SDカードにIMGファイルを展開します。
 
 私も、キーボードやディスプレーを使わない方法でインストールしました。
 こちらのページを参考にします。
 WindowsでSDカード内のconfig.txtとcmdline.txtを編集します。私はVisualStudioを使用しました。メモ帳だと、改行が変なので。
sshというファイルも作っておきます。(じゃないとTeraTermからの接続でエラーが出てつながらない。ここは、はまりました)
で、Windowsから通信するための怪しいドライバをいくつか入れて、SDカードをRaspiに挿して、起動します。
 あとはTeratermもインストールしてRaspiと通信します。
 パスワードはraspberryなのだがrasberryだと勘違いしていて、はまりました。
 TeraTermでログイン出来たら、こちらのページを参考に、Wifiの設定をします。

 wifiの設定まで終わったら、Wifi経由でTaraTermでつながるようになります。
 で、

$ sudo apt-get update
$ sudo apt-get upgrade
とやって、とりあえずraspiの中身をなんとな最新にしておきます。これをやらないと、カメラの配信部分で、makeがうまくいきませんでした。

 で、こちらのページを参考にカメラの設定をしますが、メニュー構造がかなり変わってしまっています。
 私がやった感じでは、
$ sudo raspi-config
 とやり、
5 interfacing option を選び
P1 CameraをYesにします。
で、再起動します。

次にこちらのページを参考に、カメラの配信の設定をします。
”配信方法1-mjpg-streamer"のところをそのままやっていきます。で、
注意ですが、git は最初インストールされていないので先に
$ sudo apt-get install git
とやってgitをインストールしないと引っかかります。

ここまでやったらmjpg-streamer-experimentalフォルダで
$ ./mjpg_streamer -o "./output_http.so -w ./www" -i "./input_raspicam.so -x 1280 -y 720 -fps 30 -q 10"
とやれば、カメラから配信され、
PCのChromeブラウザで
http://XXX.XXX.XXX.XXX:8080/?action=stream
とやってやると、普通に動画は見れました。xxxはIPアドレス。
Androidのスマホからも普通にChromeで動画を見れました。
IPアドレスは
ifconfigのコマンドで見れます。

よくわかりませんが、さっきのこちらのページを参考にsambaを立ち上げておくと、
ブラウザから
http://raspberrypi:8080/?action=stream
で動画が見られるようになりましたが、なぜかは良くわかりません。
(その後また見れなくなったりでよくわからん)

なんか、この調子でいけば、Tomixのカメラカー状態まではできそうなことが分かりましたが、
これにDCCのギミックとかを入れていけるのか?、とかなり不安になる意味不明さです。
大体、インストールの手順が難しすぎる気がしますし。

で、まあ、単なるWebカメラですが、
このレイアウトの手前にRaspiZeroWを付けました。
re_DSC02203.jpg

カメラ自体はこんな感じで、USBも刺さっていますが、これは5V供給しているだけです。
re_DSC02204.jpg

で、まあ動画ですが、電車に載せないと、あまり面白くもなんともないですね・・・。





コメント(2)