2009年7月21日火曜日

光電池をanalogReadしてXBeeで飛ばしてみる

追記(2009/07/22 9:18):2秒ごとのログ,1分ごとにその前10回の平均をログ,5分ごとに平均ログの最終行をtwitterにpost

訂正(2009/07/22):analogReadは0-1023の戻り値なので一バイト送信のSerial.writeの場合,4で割って0-255に納めてあげる必要があった.次の記事のprintlnの場合複数バイト送信できているようなので問題はないようだ.



動機
光量の変化を記録できないかしら?

ハード
送信:(光電池 -> Arduino(analog(0)) -> XBee)

(開放電圧1.7V)
受信:(XBee -> XBee Explorer USB -> MacBook)


ソフト
送信側(Arduino 0016)
 int sensorPin = 0;
int sensorValue = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
Serial.write(sensorValue/4);
delay(1000);
}

受信側(Processing 1.0.5)
import processing.serial.*;
Serial port;
int val;

void setup(){
port=new Serial(this,"/dev/tty.usbserial-A6005t2E",9600);
}
void draw(){
}
void serialEvent(Serial port) {
val = port.read();
println( "Raw Input:" + val);
}


あんまり色々考えてない.まずはこんなところ.

0 件のコメント: