Accéléromètre et LEDs

Bonsoir à tous,

Je souhaite réaliser un petit programme allumant des leds en fonctions des valeurs fourni par mon accéléromètre (ADXL 345).

Cela fonctionne parfaitement sur un seul axe, mais dès que j'en ai deux dans la même condition les choses se compliquent.

Exemple :

  • Si axeX < 20 alors leds 1 2 et 3 ON --> OK
  • Si axeY > 20 alors leds 1 2 et 3 ON --> OK
  • Si axeX < 20 ou axeY > 20 alors leds 1 2 et 3 ON --> PAS OK --> Les leds s'allument si les deux conditions sont réunies alors que j'utilise bien un ou.

Je vous joins le code.

else if (((Accelerometre1_AxeY >= 26 && Accelerometre1_AxeY <= 31) || (Accelerometre1_AxeY <= 14 && Accelerometre1_AxeY >= -19)) || ((Accelerometre1_AxeX >= 31 && Accelerometre1_AxeX <= 42) || (Accelerometre1_AxeX <= -19 && Accelerometre1_AxeX >= -30)))
  {
    digitalWrite(2, HIGH);
    digitalWrite(3, HIGH);
    digitalWrite(4, HIGH);
    delay(70);
    digitalWrite(2, LOW);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
  }

Merci pour votre aide !

AnUnknownErrorHasOccured:
Bonsoir

Bonsoir Aussi
Je conçois bien que le choix d'un pseudo sur un forum n'est pas nécessairement simple/facile :grin:

Mais perso là , çà ne me donne pas là l'envie ... de lire plus avant

Je comprend, et évidemment je ne peux pas modifier mon pseudo...
C'est donc un post à supprimer et un profil à recréer.

Bonjour AnUnknownErrorHasOccured (c'est original mais à ne pas voire trop souvent dans nos programmes !!)

Ce petit bout de code à l'air de fonctionner:

if (Accelerometre1_AxeX < 20 || Accelerometre1_AxeY > 20)

Si j'ai bien compris l'énoncé du problème.

Cordialement
jpbbricole