TRYING TO MEASURE CHANGES IN MOVEMENT USING ACCELEROMETER


i've written code turns on "song" represented in void scale, when accelerometer value less 520. however, i'd song turn on when accelerometer detects changes in movement, i.e. when serial monitor values changing amount, on period of time. when accelerometer values remaining within small range (i.e. little movement), i'd song turn off. code i've written (it's pretty basic it's first time writing own!). suggestions?

thanks =)

code: [select]

int accelerometer = a2;
int speakerpin = 5;
int sensorvalue;

void setup() {
pinmode(a2, input);
pinmode(5, output);
serial.begin(9600);

pinmode(a2, input);
serial.begin(9600);
}


void loop() {
 int sensorvalue = analogread(a2);
 serial.println(sensorvalue);

 
 
 if (520 > sensorvalue) {
 digitalwrite(5, low);
 delay(1000);
 }
 else{
   digitalwrite(5, high);
   scale();
   delay(1000);
 }  
}


void beep (unsigned char speakerpin, int frequencyinhertz, long timeinmilliseconds)     // sound producing function
{
int x;
long delayamount = (long)(1000000/frequencyinhertz);
long looptime = (long)((timeinmilliseconds*1000)/(delayamount*2));
(x=0;x<looptime;x++)
{
digitalwrite(5,high);
delaymicroseconds(delayamount);
digitalwrite(5,low);
delaymicroseconds(delayamount);
}
}


void scale ()
{

         beep(5,330,600);
         beep(5,392,500);
         beep(5,659,500);
         beep(5,587,1000);
         beep(5,523,500);
         beep(5,330,500);
         beep(5,392,500);
         beep(5,523,500);
         beep(5,494,1000);
         
         beep(5,349,600);
         beep(5,392,500);
         beep(5,698,500);
         beep(5,659,500);
         beep(5,587,500);
         beep(5,387,500);
         beep(5,523,500);
         beep(5,440,500);
         beep(5,392,700);
         
         
         beep(5,330,600);
         beep(5,392,500);
         beep(5,659,500);
         beep(5,587,1000);
         beep(5,523,500);
         beep(5,330,500);
         beep(5,392,500);
         beep(5,523,500);
         beep(5,494,700);
         beep(5,440,500);
         
         beep(5,392,500);
         beep(5,523,500);
         beep(5,698,1000);
         beep(5,659,500);
         beep(5,523,500);
         beep(5,587,500);
         beep(5,523,500);
         beep(5,440,700);
         beep(5,494,1000);
         beep(5,523,1000);
         
         

}      
(code tags added moderator)

duplicate post deleted.


Arduino Forum > Topics > Science and Measurement > TRYING TO MEASURE CHANGES IN MOVEMENT USING ACCELEROMETER


arduino

Comments

Popular posts from this blog

Connecting Raspberry Pi 2 to P10(1R)-V706 LED Dot Matrix - Raspberry Pi Forums

TypeError: <unknown> is not a numpy array - Raspberry Pi Forums

datso and removing imagetitle - Joomla! Forum - community, help and support