CdSと振動スイッチを使った。
xtel基盤のDigitalReadAnalog Readのページが大変参考になりました。


このサイズのCdSだと、330ΩをGNDにつないで分圧したら丁度良くなった。
DSCF4111


まずブレッドボードで回路を組んでみた
DSCF4114


それからはんだづけ
明るさ、振動


プログラム。
連続でシリアル通信すると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();
}



PCでシリアル通信受信したところ
振動と明るさ