Make一覧

ちょっと方針変更(電光掲示板)

 (下記配線図はてけとーなので概念の参考程度にしてください)

20130304_01

 本番機の配線を検討中。2階建てで横方向のシフトレジスタはLEDの真下に配置。1階のマイコンからはSPI 3線でインターフェイス。縦方向のシフトレジスタとシンクドライバは1階に設置して、8本のピンで2階とつなぐ。

 で、ちょっと方針変更して試してみる予定。

20130304_02

 LEDのアノードとシフトレジスタ間をビットが連番になるように配線するのではなく、なるべく配線が楽になるように。これをソフト側で吸収してみる感じ。
 どのみち、立て配列のフォントデータは横に変換する過程が必要だし。それより横スクロールのシフト動作が単純なシフト命令+右隣のMSBを持ってくるってだけではすまなくなるなぁと。1回のシフトで済んでた前半部分が7回のビット移動になる。
 人間の目の反応もあるからそれほど厳しくはないと思うけど、遅いようだったら、シフト前からシフト後に変換する256byteの変換配列使えば大丈夫かなと。フォントデータ自体を転置しても高速化できる。
 ちょっとブレッドボードで試してみる予定。

 で、上記の投稿画像をアップして気づいた。

20130304_03

 シフトレジスタとLED基板のとの配線。右側より左側の方が良いなと。まだ、実物作る前で良かった。自分はなんとなく左端から揃えたがる正確なのかなw。実際にはもっと発想の転換の余地もあるのだろうなあ・・・と。

 晩御飯食べた後見直してたら間違い発見。

20130304_04

 これが正しいアノード接続かな。連番ではない物は落ち着いて考えないとミスしますね。


やっぱ平面だと面積を取るので(マトリックスLED)

20130303_02

 ブレッドボードでつくったミニ8×8マトリックスLED基板の段重ねPCB基板の設計をしてた。やはりブレッドボードは楽だけど、場所取るので小さくしたいかなと。合間にシフト演算のコードを書き直してたら、ツレがピアノ楽曲を聞き出してちょっと困ったけど。シフト演算みたいなのは得意では無いので出来れば静かな環境で検討したいのだが。

 で、設計結果は結局上記画像のような3枚重ねの基板になってしまった。うちには、基板と基板をつなげるほどの長いピンヘッダは在庫が無くなっている。なので秋月に発注しました。

 このままミニ基板を作ってもなぁという感じがするので、本基板の配線を考えます。10桁~12桁くらいの予定。美咲フォトのままで。段重ね二段にするので、最初はmbedで楽して、あとでATmega1284化かな、そこまで気力と時間が取れるだろうか?


マトリックスLEDでニュース表示


 (カクカクするのはうちの撮影してるスマフォのmicroSDの性能の所為です)

 午前でスクロールが出来たので、午後はまずLANに接続。NTPで現在時刻をRTCにセットしたり。
 で、プチ問題発生。最近、mbedの新しいライブラリをいじってなかったのであるが、Ethernet周りやそれに付随するプロトコル周りのドライバが新しくなってて、それの把握と対応でちと時間かかった。(mbed2.0のやつなのか?スレッドまで要らないしタイマー割り込みで良いと思ってるのだが。)

 とりあえず、NTPとhttpは喋れるようになったので、自鯖の中継PHPを作成。いまのmbedのソフトはSJIS専用だし、今後もUTF8に対応する気はない。UTF8→SJISのコンバート配列かUTF8ベースのフォントデータが有れば違いますが。
 google newsを拾ってきてSJIS変換するようにして完了。

 mbed側も、保存バッファが1024byteだと妙なので4096byteに拡張。サイズチェックは入れてるので、はみ出したら表示されないだけで、メモリを壊す事はないだろう。ニュースは3回まわったら次を取りに行くようにしてみた。

 大体こんなかんじで、あとはニュースサイトを増やしていけば良いかな。天気情報取得の為にWeather Undergroundも登録しました。

 次はスイッチによる割り込みでの表示内容変更だ。ニュースとか、時刻表とか、天気とかを優先表示させるとか。でも、この辺りのソフト系は平日でもできるから、それよりハードよりの音声、音楽系を明日やろうと思う。
 でも、実際にニュースとかをみてみると・・・。1文字16×16にしたい気がする。今の8x8LEDを4個使えば1文字表すことが出来る計算。行の方向の電力量がキビシーし、財布にも厳しい。8×8で100円のでも、10文字だと4,000円ですよ。無理無理。それよりSBCSを半分幅でDBCSと同時表示できるソフトにするのが先だ。

 ともあれ回路も固まってきたし、ソフトの改造と並行して本番のパーツで作りはじめましょうかね?1日2こ程度で。


マトリックスLEDで枕草子

 昨日の予定どおり、バッファ入りのスクロールにしました。

 文字列は、起動時にシリアルコンソールから投入できます(但し2byteのSJISのみ。1024byteまで。)。素直にLocalFileSystemのフラッシュメモリにSJISファイルを置いて読み込んだほうが、fgetcしつつEOFになったら巻き戻せば良いので楽だったと思われる。

 ベース動作が確認できたので、表示するネタ文章をネットから取ってくる部分を作成します。


マトリックスLEDのToBE

今作ってるマトリックスLEDによる電光掲示板。その目標を挙げてみる。

・ニュースや天気予報(自宅ピンポイント)の表示。
・バス、電車の直近からその2つあとくらいまでの時刻表示およびバス、電車の運行状況表示。
・気温などの自宅センサーの値を表示。
・自分が会社から帰るときにWebでセットして、「まもなく○○が帰宅します。」とか東海道新幹線の停車前のメロディも付けたい。
・AquesTalk picoを付けて表示内容を喋らせる。

などを想定しています。

あ、忘れてた。

・フォントをi2cなEEPROMとかに置いて脱mbedしてAVRで駆動。

 ここまで行きたいかな。ただAVRだとネットワークをwiznetに依存するのだけど、安定性が・・・。でも、最近wiznetのW5100を使ってる金魚水槽カメラは安定してるなぁ。やっぱ放熱が問題か?このチップ滅茶苦茶熱を出すので。
 SPIを3つ(LANと、LEDの縦と横)使う事になるが大丈夫だろうか?ワクワク。


今日のEIC-108(マトリックスLEDテスト)

20130301_01

 ちょっと変更。

 うっかりしていて、mbedにLANコネクタを付けるピンが取り出せなくなっていたので、mbedをずらした。

 そして、リセットボタンが押しにくくなったので、タクトスイッチでリセットスイッチを増設。

 あとは、LEDの横方向の配線を逆にしたほうが良いかもと思っている。現状は左側がlsbで右側がmsb。まぁ、ソフトウエア的にはなんとでもなるから現状でも構わないのだけど。左から右、上から下の方が高齢な自分が理解しやすいだけです。

 ソフトウエアの方は、単純スクロールしてみた。この土日で何処まで出来るだろうかね。とりあえず一番右に見えないバッファをおいて、そこにフォント投入してスクロールにしないとね