[AIDE] Détecteur accélération/décélération/statique à l'aide d'un accéléromètre

Bonjour,

Je réalise actuellement un projet étudiant utilisant un accéléromètre MMA7660FC dont je dois tester l’accélération, la décélération et le “non mouvement” du système, pour par la suite, pouvoir intégrer ce programme dans mon projet (détection de la décélération d’un vélos pour afficher un logo lumineux pour avertir les autres usagés de la route). Et nous voici a notre problème : notre programme ne marche absolument pas (LED statique qui s’allume en accélération, deux LED allumées en même temps par moment, LED qui ne s’allume jamais, etc …). Voici notre code :

#include <Wire.h>
#include “MMA7660.h”
MMA7660 accelemeter;
int LED_ACCELERATION = 2;
int LED_DECELERATION = 4;
int LED_STATIQUE = 6;
void setup()
{
accelemeter.init();
Serial.begin(9600);
pinMode(LED_ACCELERATION, OUTPUT);//acceleration
pinMode(LED_DECELERATION, OUTPUT);//deceleration
pinMode(LED_STATIQUE, OUTPUT);// pas de mouvement

}
void loop()
{
int8_t x;
int8_t y;
int8_t z;
float ax,ay,az;
accelemeter.getXYZ(&x,&y,&z);

Serial.print("x = ");
Serial.println(x);
Serial.print("y = ");
Serial.println(y);
Serial.print("z = ");
Serial.println(z);

accelemeter.getAcceleration(&ax,&ay,&az);
Serial.println(“acceleration of X/Y/Z: “);
Serial.print(ax);
Serial.println(” g”);
Serial.print(ay);
Serial.println(" g");
Serial.print(az);
Serial.println(" g");
Serial.println("*************");
delay(500);

if(ax < -0.20)
{digitalWrite(LED_DECELERATION, HIGH);
digitalWrite(LED_ACCELERATION, LOW);
digitalWrite(LED_STATIQUE, LOW);}
else
{digitalWrite(LED_DECELERATION, LOW);}

if (ax > 0.20)
{digitalWrite(LED_DECELERATION, LOW);
digitalWrite(LED_ACCELERATION, HIGH);
digitalWrite(LED_STATIQUE, LOW);}
else
{digitalWrite(LED_ACCELERATION, LOW);}

if (-0.20 < ax < 0.20)
{digitalWrite(LED_DECELERATION, LOW);
digitalWrite(LED_ACCELERATION, LOW);
digitalWrite(LED_STATIQUE, HIGH);}
else
{digitalWrite(LED_STATIQUE, LOW);}

}

Merci d’avance pour votre aide, si vous avez besoin d’informations, n’hésitez pas, je suis a vôtre disposition.
Cordialement,
Jeroo.

Ce qui pourrait nous aider, c'est tes sorties Serial et l'état de tes LED dans des cas concrets.