javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。

バーサライタ

次回(回転型)

最新版

バーサライタとは

一列に並べたLEDを短い周期で点滅させ振ったときの残像で
表示物を作るものである。

ちなみに上の画像は下のフリスクを振りまくって撮影しました

下は中身です。かなり汚いです。

回路図

プログラム

test.c
CCS-Cを利用しています

1 void main(){ timer=0;timer2=0; move=0;kind=0;check=0b00000001;
2	while(1){move=0;
3		delay_us(200);
4		if(input(PIN_A1)==0){
5			move++;
6			kind=0;
7			output_bit(PIN_B0,1); //ぜんけし
8			output_bit(PIN_B1,1);
9			output_bit(PIN_B2,1);
0			output_bit(PIN_B3,1);
10			output_bit(PIN_B4,1);
11			output_bit(PIN_B5,1);
12			output_bit(PIN_A0,1);
13			delay_ms(10);//文字が始まるまでの時間
14                         if(check==0b00000001)aisiteru();
15 			else if(check==0b00000010)tasukete();
16			else{
17				movelet(timer++);
18				if(timer>49)  timer=0;
19			}
20		}
21		else{
22			kind++;
23			//delay_ms(6);
24			if(kind>12000){
25				kind=12001;
26				if(check==0b10000000) check=0b00000001;
27				else check=check<<1;
28				output_b(~check);
29				delay_ms(1000);
30			}
31			
32		}
33	}
34 }
プログラムのメイン部です。
ここでは、全体の流れのみが書かれています。
やっていることは、単純で水銀スイッチが押されたら(4行目)、表示スタート。
表示一回分が終わったらまた水銀スイッチが押されているか見に行きます。
これが押されていない状態が、12000(24行目)*200μ秒(3行目)以上続くと
表示文字選択モード(24~30行目)に移行します。
プログラムはページ下のtest.cです。興味見たい方はどうぞ。
test.cを見る方ように表示部分のプログラムも少し説明します。
上のプログラムのaisiteru();などが表示をしている部分です。
1msごとにLEDを点灯させるかどうか判断しています。判断するために配列
を用意しています。それが、test.cの5~68行目に書かれている配列です。
PICマイコンは持っているメモリが非常に少ないので本当は2次元配列にして
表示内容を作ってやると楽なのですが、これはint形(8bit)を配列の2次元目
の代わりに使い使用メモリを減らしています。めんどくさかったのでここでは
利用する文字のみしか作っていませんが、この方法ならアルファベットは全文字
いけるはずです。なお今回は

美咲フォント

を利用しました。
このフォントは7*7でほぼすべての文字を表現可能との事だったため今回の
バーサライタには最適でした。

実装

今回のメインです。バーサライタ自体は、システム的には簡単なもので、
工夫したのは、文字列選択モードを作ったことくらいです。今回大変だったのは
実装部分です。具体的には”フリスクをバーサライタにしよう”ということ
です。
  • 回路図
  • 部品選び
    そのため選んだ部品は、安い小さいの二つに気を配りました。
    
    • 部品リスト
      PIC16f88 ちょっと大きいがPIN数てきに仕方なし
      CR2032 & 電池ホルダー  小型化に最適ボタン電池
      LED緑 これは部品ミスだった。もっと広角タイプが良かった
      水銀スイッチ たまたま大須で発見
      フリスクケース 超重要部品
      あと抵抗とかピンヘッダとかそんな感じ
      合計で500円以内に収まってます。(フリスクケースはプライスレスで換算)
      

改善&改良 今後の展望

  • LEDはチップタイプに
    今回は、秋月の3mmのLEDを使ったが思ったより光が見える角度が狭く
    見辛くなることがあった。チップLEDなら広角になるのでその方向で
    
  • フルカラーに
    そのままです。1色は寂しい
    
  • LEDを増やす
    今回はフリスク実装ということで7つのLEDしかありません。次回は、
    絵が表示できるようにたくさんのLEDをつけます。
    
    • 作戦名 DFFを使え
      シフトレジスタとトランジスタを使えばもっとたくさんできるはず。
      
  • 自動で振る
    今回は、手でバーサライタを振っています。自動で振ったほうがかっこいい
    にきまってる。
    
    • クランク機構
      楽に作れるが、速度の制御が利かない
      
    • カム機構
      作るの難しいが、速度が作れる。
      

戻る

最終更新:2010年02月09日 21:34