#include // LCD settings LiquidCrystal lcd(12,11,10,5,4,3,2); //LED スピーカー接続 int BUZPin=6; int ledPin=9; int val=255; void setup(){ Serial.begin(9600); lcd.begin(2,16); lcd.print("KXM52-1050"); delay(500); lcd.clear(); lcd.print("EarthQuakeLogger"); delay(500); lcd.clear(); lcd.print("KXM52-1050"); lcd.setCursor(0,1); lcd.print("EarthQuakeLogger"); delay(600); } void loop(){ int x=analogRead(0); int y=analogRead(1); int z=analogRead(2); //XYZの初期値を0にする(外部から可変化が課題) x=x-514; y=y-514; z=z-742; //LCDに表示 lcd.clear(); lcd.setCursor(3,0); lcd.print("X: Y: Z"); lcd.setCursor(3,1); lcd.print(x,DEC); lcd.print(": "); lcd.print(y,DEC); lcd.print(": "); lcd.print(z,DEC); lcd.println(" "); //BEEPを鳴らす・LEDを点灯 { if(x+y+z<3)analogWrite(BUZPin,val/256); //揺れていないときは鳴らない if(x+y+z<3)analogWrite(ledPin,val/256); //揺れていないときは点灯しない if(x+y+z>-3)analogWrite(BUZPin,val/256); //揺れていないときは鳴らない if(x+y+z>-3)analogWrite(ledPin,val/256); //揺れていないときは点灯しない if(x+y+z>5)analogWrite(ledPin,val/10); if(x+y+z<-5)analogWrite(ledPin,val/10); if(x+y+z>7)analogWrite(BUZPin,val/255); if(x+y+z>7)analogWrite(ledPin,val/5); if(x+y+z<-7)analogWrite(BUZPin,val/255); if(x+y+z<-7)analogWrite(ledPin,val/5); if(x+y+z>10)analogWrite(BUZPin,val/127); if(x+y+z>10)analogWrite(ledPin,val/2); if(x+y+z<-10)analogWrite(BUZPin,val/127); if(x+y+z<-10)analogWrite(ledPin,val/2); if(x+y+z>15)analogWrite(BUZPin,val/3); if(x+y+z>15)analogWrite(ledPin,val); if(x+y+z<-15)analogWrite(BUZPin,val/2); if(x+y+z<-15)analogWrite(ledPin,val); } //パソコンにシリアル転送 if(x>=3) { Serial.print(x,DEC); Serial.print(","); Serial.print(y,DEC); Serial.print(","); Serial.println(z,DEC); } if(x<=-3) { Serial.print(x,DEC); Serial.print(","); Serial.print(y,DEC); Serial.print(","); Serial.println(z,DEC); } if(y>=3) { Serial.print(x,DEC); Serial.print(","); Serial.print(y,DEC); Serial.print(","); Serial.println(z,DEC); } if(y<=-3) { Serial.print(x,DEC); Serial.print(","); Serial.print(y,DEC); Serial.print(","); Serial.println(z,DEC); } if(z>=3) { Serial.print(x,DEC); Serial.print(","); Serial.print(y,DEC); Serial.print(","); Serial.println(z,DEC); } if(z<=-3) { Serial.print(x,DEC); Serial.print(","); Serial.print(y,DEC); Serial.print(","); Serial.println(z,DEC); } delay(150); }