FRISKディスプレイを作ってみた

FRISK ケースに16文字x2行のキャラクタ液晶*1を組み込んでみた。
USB シリアル変換である FT232RL の Bit-Bang モードを使ってキャラクタ液晶を PC から直接制御している。本当はマイコン(ATTiny2313のSOP)も組み込んで、電源供給だけで表示するようにしたかったけど、予定外にSOPパッケージの厚みがあって断念した。

PCソフトはC#で鋭意開発中。完成したら、ニコ動にうp予定。

以下の表示はhttp://ore-kb.net/hard/FTLcd/のソースをお借りし、一部書き換えて表示している。



電光掲示板を作ってみた

3mm の緑色 LED を大量に並べて電光掲示板を作ってみた。
表示にはダイナミック点灯方式*1を採用して配線量を減らしている。
表示サイズは 26cm x 7cm、52ドット x 14ドット。
ドット数が変則的なのは後々これを使ってあるものを作るためである。



LED基板 表 52 x 16ドット



3mmLED



LED基板 裏



配線は格子上になっている



列制御基板 表



列制御基板 裏



行選択基板 表



行選択基板 裏



テスト表示1



テスト表示2

*1:1行ずつ点灯させ、高速に点灯行を変えると目の残像で全てが点灯しているように見える点灯方式。

マイコンボードを作ってみた

何かと便利な Arduino マイコンボードがもっとほしくなったので基板から作ってみた。
Arduinoオープンソースハードウェアなので回路図や基板パターンなどが全て公開されているので簡単にオリジナルのマイコンボードが作れる。
今回は Arduino 互換機の一つである Boarduino をベースに改造した。

Boarduino は本家 Arduino に比べて小型でブレッドボード*1に直接挿して使うタイプのボードである。小さくても同じ機能を持っていて本家同様 USB から直接プログラムを書き込める。

便利なBoarduinoではあるが、ちょっと不満があったので、調整してみた。

  • 引き抜きにくい

  →基板の幅を広げてピンヘッダーの脇に指が引っかかるようにする

  • 小型ゆえにピン名の表示が見にくい

  →配置を工夫する

  • PWMや割り込みピンが分かりにくい

  →マーキングする □マーク:PWM ○マーク:割り込み

  • 配線が細い部分がある

  →他に干渉しない程度に太くする

  • その他、部品の配置を調整


調整できたので、ミスがないことをよく確認して EAGLE CAD でガーバーデータを出力する。これを ZIP形式 で固めて
P板.comに発注すればOK!

ね、簡単でしょ?






左 :本家 Arduino Duemilanove
中央:今回製作マイコンボード
右 :ワンチップArduinoRS232Cで書き込み)

*1:実験用基板

明けましておめでとうございます

年も明けたので、今年の予定を考えてみた。

2010年の目標「ニコニコ動画デビュー」

マイコンを始めて作品も増えてきたので、ニコニコ動画で紹介できたらと思う。

以下作品のひとつ(Boarduinoを改良したマイx2コンボード)

今年の反省

「キーボードライトアップ プロジェクト始動」から気付くともう3ヶ月が経っていた。その間、計画変更やら設計変更やら仕事やらでなかなか進まなかった。さて、今年も終わりというということで反省を。

・その1 もっと更新しよう
・その2 内容を濃くしよう
・その3 計画に近づけられるようにしよう


近々、作品を公開する予定です。乞うご期待!

キーボードライトアップ プロジェクト始動

ある人の発言から始まった「キーボードライトアップ」プロジェクト。以下が完成予想図。


仕様
・ひとつのキーに赤色 LED 、緑色 LED を各2個づつ組み込んで発光させる。
・制御は AVR マイコンを使ってLEDを1個単位で点灯消灯できるようにする。
・キーボードを電光掲示板化する。
・キーボードの外見は変えない。


消灯時


緑色 全点灯


赤色 全点灯


緑色赤色 全点灯

文字列からFontStyleの変換モジュール

VB2005でテキストからFontStyleに型変換する方法が分からなかったので、力技で解決してみた。以下そのコード。

    Private Function ConvertFontStyle(ByVal FontStyleString As String) As FontStyle
        '// フォントスタイル文字列をフォントスタイルに変換 //
        If IsNumeric(FontStyleString) Then
            Select Case Val(FontStyleString)
                Case 0
                    Return FontStyle.Regular

                Case 1
                    Return FontStyle.Bold

                Case 2
                    Return FontStyle.Italic

                Case 3
                    Return FontStyle.Bold Or FontStyle.Italic

                Case 4
                    Return FontStyle.Underline

                Case 5
                    Return FontStyle.Bold Or FontStyle.Underline

                Case 6
                    Return FontStyle.Italic Or FontStyle.Underline

                Case 7
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline

                Case 8
                    Return FontStyle.Strikeout

                Case 9
                    Return FontStyle.Bold Or FontStyle.Strikeout

                Case 10
                    Return FontStyle.Italic Or FontStyle.Strikeout

                Case 11
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Strikeout

                Case 12
                    Return FontStyle.Underline Or FontStyle.Strikeout

                Case 13
                    Return FontStyle.Bold Or FontStyle.Underline Or FontStyle.Strikeout

                Case 14
                    Return FontStyle.Italic Or FontStyle.Underline Or FontStyle.Strikeout

                Case 15
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline Or FontStyle.Strikeout

            End Select
        Else
            Select Case FontStyleString
                Case "Regular"
                    Return FontStyle.Regular

                Case "Bold"
                    Return FontStyle.Bold

                Case "Italic"
                    Return FontStyle.Italic

                Case "Bold, Italic"
                    Return FontStyle.Bold Or FontStyle.Italic

                Case "Underline"
                    Return FontStyle.Underline

                Case "Bold, Underline"
                    Return FontStyle.Bold Or FontStyle.Underline

                Case "Italic, Underline"
                    Return FontStyle.Italic Or FontStyle.Underline

                Case "Bold, Italic, Underline"
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline

                Case "Strikeout"
                    Return FontStyle.Strikeout

                Case "Bold, Strikeout"
                    Return FontStyle.Bold Or FontStyle.Strikeout

                Case "Italic, Strikeout"
                    Return FontStyle.Italic Or FontStyle.Strikeout

                Case "Bold, Italic, Strikeout"
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Strikeout

                Case "Underline, Strikeout"
                    Return FontStyle.Underline Or FontStyle.Strikeout

                Case "Bold, Underline, Strikeout"
                    Return FontStyle.Bold Or FontStyle.Underline Or FontStyle.Strikeout

                Case "Italic, Underline, Strikeout"
                    Return FontStyle.Italic Or FontStyle.Underline Or FontStyle.Strikeout

                Case "Bold, Italic, Underline, Strikeout"
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline Or FontStyle.Strikeout

            End Select
        End If
    End Function