ノリタケ伊勢電子のVFDモジュールに PowerShell からビットマップファイルを表示してみたテスト

function initializeVfd
{
    $a = [byte]0x1b, [byte]0x40
    $serialPort.write($a, 0 ,$a.Length)
}

function clearVfd
{
    $serialPort.write( [char]0x0c )
}

function displayCursorVfd
{
    $a = [byte]0x1f, [byte]0x43, [byte]1
    $serialPort.write($a,0,$a.Length)
}

function moveCursorVfd([int]$x, [int]$y)
{
    $a = [byte]0x1f, [byte]0x24, [byte]5, [byte]0, [byte]1, [byte]0
    $serialPort.write($a,0,$a.Length)

}

function drawBitmapVfd
{
    $a = [byte]0x1f, [byte]0x28, [byte]0x66, [byte]0x11, [byte]128, [byte]0, [byte]8, [byte]0, [byte]1
    $a.Length
    $serialPort.Write($a, 0, $a.Length)
    $serialPort.write($vfdimg, 0, $vfdimg.Length)
}

$serialPort = New-Object System.IO.Ports.SerialPort "COM1", 38400
$serialPort.Open()
initializeVfd
clearVfd
displayCursorVfd
#moveCursorVfd
$img = [System.Drawing.Image]::FromFile("D:\mkusunoki\Documents\i-tron128X64.bmp")
$vfdimg = New-Object byte[] ($img.Width * $img.Height / 8)
for($i = 0; $i -lt $img.Width; $i++)
{
    for($j = 0; $j -lt ($img.Height / 8); $j++)
    {
        $bb = 0
        if($img.GetPixel($i, $j * 8).G -gt 127)
        {
            $bb = 1
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 1).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 2).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 3).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 4).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 5).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 6).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 7).G -gt 127)
        {
            $bb++
        }
        $vfdimg[$i * ($img.Height / 8) + $j] = $bb
    }
}
drawBitmapVfd
# $serialPort.Write("HHHHH")
$serialPort.Close()
$serialPort.Dispose()

ということで、128×64ドットのディスプレイになんか表示しましょうということです。とりあえず、付属のCDROM に入っていたサンプルに i-tron128X64.bmp というビットマップファイルがあったのでこれを表示させてみることにしました。

今回は Windows の PowerShell というやつを使いまして、ビットマップファイルをロードして、シリアルポートに投げるというものです。まだ試行錯誤中のアプリケーションノートからロジック丸パクしたソースは以下に掲載します。あとは、ビットマップオジェクトをいじれば漢字だろうが何だろうが描画出来るので少しだけ前に進んだかな?

AVR Studio5 Beta2 が来たのでインストールした

AVR Studio5 Beta2 が来ました。

基本的にプロジェクト作成などの基本部分は問題ないようです。

あとは、以前失敗した AVRISP MKII, STK500, JTAGICE MKII のファームウエア更新です。

今回はJTAGICEMKII のみ失敗して、AVRISP MKII, STK500 は更新出来ました。
AVRISP MKII

STK500

JTAGICE MKII

ノリタケ伊勢電子のVFDモジュールが出てきたので何かに使えないかなぁ

何年も前に買って、ジャンクボックス入りしていたものです。経緯は覚えてませんが何故か2個あります。ひとつは 128×32 ドットのパネルでもうひとつは 128×64 ドットです。

で、壊れてないか動作確認ですが、壊れていないようです。かつ小さいほうは漢字フォントが搭載されてたのでこれは何かに使えそうです。

んで、もうひととつの大きいほうは残念ながら漢字フォントが搭載されていない機種だったので文字化けします。表示エリアが広いのでいろいろ使い出はありそうですが、手頃なアプリケーションが思いつきません。

どちらも、シリアルポートにコマンド流せば表示出来るので、どっちかというとプログラミングを楽しむためのオモチャというところでしょうか。

小さいほうなら漢字表示出来るので、webからhttpのテキスト拾ってきて、それをたれ流しするスクリプト実行しとくとか、大きいほうはどうでしょうか、バーグラフかなぁ、.net framework で各CPUの使用率とか拾えたっけ?なら Windows power shell さわったことないのでこれを機会にちょこっと組んでみたいです。

ニキシー管時計キットの電源とIN-14の半田付けだけした。

ニキシー管時計のキットです。なので、プリント基板に部品乗っけて半田付けするだけなので、間違えなければ組立られます。なお、このキットは nIxIe-tUbE.com の通販で買ったものです。
点灯確認で電圧かけただけなのでいきなり隣りの管にゴースト出てます。これはショートとかじゃなくて、たまった電荷のせいでボーっと光っているだけなのでちゃんと逃してやるとか光らない程度にバイアスかけるとかで防げます。

とりあえず、途中少しビデオカメラでも撮っているので余裕があればYoutubeかNicovideoにでもアップしたいと思いますが、いかんせケースを全然考えていないので、頓挫するかも知れません。が、とりあえず作業風景の動画はアップしました。

なんだかんだで半田付けは完了いたしました。DVテープ2本ぴったりだったので、上の写真状態までで2時間かかりました。
素材をカット アンド カットしまくって5分以内を目指しましたが編集は難しいです。とりあえずなんとかUPした動画は下のところを見てください。

[nicodo]sm14432258[/nicodo]

アクリル板が無いので、そこらへんにあったフニャフニャのプラ板に仮止めしてみてちょっと様子見てみることに。とりあえず、今の所順調に動いてます。

FMステレオトランスミッタキット(秋月)半田付けだけした。

ちょっとリハビリ。

 

防音コーナーに居てるときに玄関のピンポンが鳴ってもわからないので、お手軽にわかる方法は?ラジオに飛ばせばいいという昔アマチュア無線やってたオッサンの単純な発想。

ということで、先週大須のタケイ無線で、 1,050円で売ってた秋月のキットのハンダ付けと動作確認終了。76MHz で設定。音質もまぁまぁいいと思います。

ケースに入れるというよりかは板に基板ネジ止めして電池ケースは両面ブチルテープかなんかで固定して終りにしたいのですが、手頃なプラ板が無いなぁ。

AVR Studio5 は一旦削除

こんな短かい話しは Twitter で十分やろという話もありますが、 Blog の記事数があまりにも寂しいのでここで。

まぁ、今日も ATMEL も一応確認しましたが3月11日版のベータバージョンのままでんがな、ご紹介ビデオとか更新するのもいいんですけど本番リリースしてくれー。少なくとも私の家の Windows XP SP3 クリーンインストール状態で動かんぞ。

ということで、一旦削除しましたという愚痴。

 

この週末のお買い物

この週末のお買い物

大須の第2アメ横で電池ボックスと FMワイヤレスマイクキットを購入。ワイヤレスマイクは、防音室にこもっているときに、玄関のピンポンが鳴っても気が付かなかったということがありましたので、音飛ばせるようにしとこうと思って購入 1,050円なのでいいでしょう。

オーディオテクニカのスペアイヤピースはカナル型のイヤホンの交換用ピースですね。あまりカナル型は好きではないのですが、時々使います。普段はBOSE QC3というノイズキャンセルのヘッドホンです。汗かく時期になるとヘッドホンどれ持っていくか悩みます。また、耳が少し悪いのでドンシャリ系ヘッドホンのほうが好みです (^^)

車のシガーソケットに差す、5V変換器です。 1,200mA まで引っぱれるそうです。iPad も少しくらい充電出来たら儲け物と思って購入。それ以外の携帯電話など十分対応可能ですね。

最後は、赤外線コントロールのラジコンヘリです。大須第2アメ横のラジコン屋さんで 3,980円で買いました。まぁ、昔 HoneyBee で懲りてるはずなのに買ってしまいました。まぁ今回はボディが金属製なのでちょっとは長持ちするかもというやつでんな。USB充電も出来るらしい(棒読み)

「2枚入り! 組合せ自在! 超小型ARMマイコン基板」 という本を買った

メルマガや、Twitter などで出てるのは知っていたし、先日大阪へ帰ったときも先輩が電機屋のポイントカードで買ってたのも横で見てたというのもありますが、私は名古屋の三省堂書店のポイントを使うことにして帰ってから買いました。お値段 3,000円ナリ。ただし、単品でマイコンボード買うと1枚 1,980円なので本を買ったほうが安いです。

後はオプションで マルツパーツ館Web Shop で、LEDマトリクスや有機EL・GPSなどのボードが買えます。

ということで、またマイコンボードが増えたというお話でした。