10月212008
0
CdSと振動スイッチを使った。
xtel基盤のDigitalReadとAnalog Readのページが大変参考になりました。
このサイズのCdSだと、330ΩをGNDにつないで分圧したら丁度良くなった。
まずブレッドボードで回路を組んでみた
それからはんだづけ
プログラム。
連続でシリアル通信するとPCが大変なので、1秒ぐらいのインターバルを取る。
明るさはアナログ値なのでその時間内の平均を取った。
振動も、一度でも振動センサが反応したらshaked:trueになるようにして、serialSendでまとめて送った。
serialInit(9600);
pinMode(0, true); // 振動センサ
function loop(){
var an = 0;
var shaked = false;
var loopTime = 1000;
for(var i = 0; i < loopTime; i++){
an += analogRead(0); // 明るさ
if(!digitalRead(0)) shaked = true;
}
an = an/loopTime;
serialSend("light:"+an+",shake:"+shaked+"¥r¥n");
sleep(1);
}
function sleep(count){
for(var i = 0; i < count*10; i++){
}
}
while(true){
loop();
}