やっぱりたくさん光らせたいじゃない | |
jksoft氏のつぶやきからArduinoを知りました 早速Arduino Duemilanoveを購入してLEDをチカチカさせたりセンサーから情報を取得したりしてました でもLEDを2,3個光らせてもあまり面白くありません、電光掲示板みたいにたくさん光らせたいなぁ なら電光掲示板を作ってみるか、それでつぶやきを表示したら面白いかな? そんな訳で出来たのがこれです なお、つぶやきを取得するにはArduinoでは力不足な感じなので、データの取得・変換にはパソコンを使い、シリアル通信にてArduinoへ転送して表示させてます |
ソースファイルについて | |
パソコン側のプログラムは「Visual Basic 2008 Express Edition」にて作成しました twitter_disp_con.lzh 解凍して「twitter_disp_con.sln」をVisualStuidoで開けばビルド出来ます Arduino側のプログラムはこれです led_disp.lzh こちらも解凍してArduinoIDEのスケッチブックの場所(Sketchbook location)へディレクトリごとコピーすればIDEで簡単に開けます ソースファイルの権利云々ですが、商用非商用利用問わずご自由にお使い下さい でも「利用したよ〜」って連絡が来ると嬉しがります(笑) |
電光掲示板を作る | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
今回作った電光掲示板は8×8のドットマトリクスLEDを表示させるモジュールを4個繋げてます モジュール1つ分の部品は以下の通りです
回路自体もデータシートのそれと変わりません、というかオリジナルで組める程の能力は私にはありません(苦笑) 基板への配置・配線はこんな感じにしてみました LED-IC間の配線は見づらいので表にしました
次のモジュールへの配線が楽なように、モジュール間の配線の位置を合わせてあります モジュール1つ分で基板を作れば、連結させる事で表示エリアを増やせられます 今回は基板の加工が面倒だったので4つのモジュールを1つの基板に配置してます Arduinoとの配線はこんな感じです 電光掲示板の端子は上から順になってます(LEDと反対側から)
|
フォントを準備するの | |
文字を表示させるにはフォントが必要です しかし今回の電光掲示板は縦が8ドットしかないので通常のフォントで表示させると読めたものではありません
8ドットのテストです abcABC012
そこで8ドット表示に最適化された「恵梨沙フォント」を使います英数字やひらがな・カタカナは何とかなりますが、漢字を使うと大変な事になります(苦笑) しかし、Windows上で使うフォント形式であるTTF形式では公開されていません なので今回はX Window Systemのフォント形式であるBDF形式のファイルからTTF形式へ変換してみます 別ページにしましたのでご覧下さい >TTF版恵梨沙フォントの作り方< 出来た「elisa.ttf」ファイルはパソコン側のプログラムの実行ファイルのある場所に置いておきます VisualStudio上でのデバッグ動作時は \twitter_disp_con\twitter_disp_con\bin\Debug\ に実行ファイルが作成されるのでここに置きます |
電光掲示板とArduinoの準備 | |
ここまで準備が出来たら動作テストです まずArduinoとパソコンを接続します 先に電光掲示板とArduinoを接続してもいいのですが、元々どんなプログラムがArduinoに入っているのか分からないので電光掲示板は後で繋ぎます ArduinoIDEからArduino側のプログラムを転送します 転送が終わったら一度パソコンからArduinoを抜きます(念の為) 電光掲示板とArduinoを接続して再度パソコンとArduinoを接続します すると電光掲示板に「OK」と表示されていると思います、これはArduino側のプログラムが起動した事を表す為に表示させています これで電光掲示板とArduinoの準備が出来ました |
つぶやきを表示するよ | |
そして遂につぶやきを表示させる時が来ました パソコン側のプログラムは2種類の動作モードを実装してあります ・指定IDのユーザーのつぶやきを表示させる(-i) ・指定キーワードの検索結果を表示させる(-s) ()内が動作モードを指示するコマンドです 2つの動作モードについての例は下記の通りです ユーザーmulsysのつぶやきを表示させる twitter_disp_con.exe -i mulsys キーワード#c78の検索結果を表示させる twitter_disp_con.exe -s #c78VisualStudio上で実行するなら「コマンドライン引数」へ「-s #c78」等入れればOKです 特に問題がなければ電光掲示板に「twitter_disp_con」と表示された後、指定した動作で取得したつぶやきが次々に表示されます また、プロンプトの画面には電光掲示板に表示される内容が出ます 先頭の()内は現在取得されているつぶやきの総数です、60000ミリ秒(=1分)ごとにつぶやきを再取得しているので更新があれば追加されます 表示の最初にノイズが一瞬表示されるのですが今は気にしない事にします(苦笑) |
電光掲示板わふたー | |
電光掲示板の今後について考えてみる やはり縦8ドットでは「恵梨沙フォント」をもってしてでもきついですね 次は文字縦10ドットにしたいです、モジュールを上下逆にして繋げれば8×2で16ドット分になるので余裕です 横は現在8×4で32ドットですが、4文字分は同時に表示させたいのでもう1つモジュールを追加して40ドットが理想です 今回の基板で1つ分のスペースを確保してあるのはこの為だったりします それとパソコン側のプログラムは本来「玄柴」で動かそうと思っていました .NETで作成したプログラムをMonoを通して動かそうとしてたのですが、思うように動かなかったのでそのままパソコンで動かす事にしました いずれは「mbed」等もっと高性能なマイコンを使ってパソコンが無くても全ての処理が出来るようにしたいですね |