「大人の科学」の8ビットマイコン (2) 見えないライントレーサ
ラジオコイルの方も気になるのですが。。。ちょっと横道にそれてまだ「大人の科学」のマイコンをいじってます。少し前に100円ショップでまた変なものを見つけていまして、それとマイコンの組み合わせを試みているところです。
変なものというのは、下の写真のシークレットペンです。
← キャップの中にブラックライト(紫外線LED)が入っていて、書いたものをそれで照らすと読める、という。。。おもちゃですね。
左下が紫外線照射無し、右下が照射ありです。
このペンとLEDを使えば見えない線を追うライントレーサができそうだな、と見つけたときから思っておりました。
ちょうど大人の科学のCPUの開発言語が、AD変換やPWM制御を1コマンドで実行できることがわかり、それなら制御ソフト作るのも簡単だろうし、そもそもボードが出来合いだし、ということで今回の製作を開始しました。
まず、LEDの入ったキャップを分解します。
なんと、LED,電池、タクトスイッチが電池抑えバネの力とLEDピンだけで固定されており、LEDを引張るとばらばらに分離しました。さすが100円ショップ。こうして組立工数を小さくするのですね。
取り外したLEDと手持ちのCDSを使って予備実験をしたところ、CDSの抵抗値がこのペンで引いた蛍光ライン上で1~2KΩ、ライン外で3~4KΩとなりました。どうやら使えそう、ということでLEDとCDS2個を小基板につけてライン用センサ部を作ります。
簡単ですが回路図は下の通りです。LEDは抵抗内蔵型のようですが、そのままだと強すぎるので半固定抵抗を入れています。
← できたものをCPUボードに付けて調整&確認中です。確認プログラムは下のように簡単なものです。
#include <EEPROM.h>
#define CDS_RIGHT 7
#define CDS_LEFT 6
void setup() {
Serial.begin(9600); // デバッグ用シリアル通信の初期化
}
void loop() {
unsigned char val;
int i;
Serial.print("value");
val = (unsigned char)(analogRead(CDS_RIGHT) / 4);
Serial.print(val,HEX); // デバグ用に送信
val = (unsigned char)(analogRead(CDS_LEFT) / 4);
Serial.println(val,HEX); // デバグ用に送信
delay(100);
}
これにより数値的にもライン上とライン外の差が得られましたので、あとは装置と合わせて調整しようかと思い、今日はここまでとしました。
次はライントレーサの足回りを作ろうと思います。
以上
にほんブログ村 ←記事が面白かったらクリックしてやってください。
コメント