加速度センサ
Arduinoで実験中
何も考えずに書いていったものなのであまり綺麗ではないですが。
int base; int y,prevy; void setup(){ Serial.begin(9600); //シリアル通信開始 pinMode(7,OUTPUT); //7番ピンをLED出力として利用 digitalWrite(7,HIGH); //初め、点灯 base = 350 ; // 中心値:値を較正するための値 y = 0 , prevy = 0 ; //初期化 for(int i = 0; i < 50 ; i++){ prevy = (15 * prevy + (analogRead(1) - base) ) / 16 ; delay(20); } } void loop() { while(abs(prevy - y) < 15 || x == 0){ y = (15 * y + (analogRead( 1 ) - base) ) / 16 ; if(abs(prevy - y) > 8){ analogWrite(7,40); } else if(abs(prevy - y) > 4){ analogWrite(7,80); } else if(abs(prevy - y) > 2){ analogWrite(7,150); } else{ digitalWrite(7,HIGH); } prevy = y; delay(25); Serial.println( y ) ; } }
加速度センサの値によってLEDの明るさが変動
因みに、何故y軸方向だけかと言うと、私の持ってるジャンパワイヤの長さの都合上、一番y軸方向にブレッドボードを動かしやすいためです笑