incrementation de variable

Bonjour

Je suis toujours sur mon arduino avce mon shield LCD et je souhaite a l'appui de mon bouton up in cremente une varible afin de permettre d'augmente la luminosité d'une led ( comme un potentiometre ) voila mon code

#include <LiquidCrystal.h>
#define boutons A0
LiquidCrystal lcd( 8, 9, 4, 5, 6,  7);

void setup()
{
  lcd.begin(16, 2);
  lcd.clear();
  Serial.begin(19200);

}
void loop(){

  int bouton = analogRead(A0);
   int Power;
      
  
  if(bouton >= 135  && bouton <= 155) 
 {
     
      Power= Power++ ;
      Serial.println(Power);
      
      
 
 } 
 delay (100);



}

Ce forum est ORGANISE ce n'est pas un vrac.

Si tu avais un tout petit peu lu tu te serais rendu compte qu'il y avait ce message, épinglé de surcroît :
http://forum.arduino.cc/index.php?topic=315372.0

Ici dans REALISATIONS FINIES tu n'aura pas de réponse, la consigne est de ne pas en donner.

Alors tu clique sur le lien "Report to Moderator" et tu demande à faire déplacer ton message dans le forum principal et là tu obtiendra toutes l'aide dont tu aura besoin.

A bientôt.

Bonjour,

  • tu es dans la mauvaise section. Demande à un modérateur de déplacer ton sujet
  • pourquoi n'as tu pas continué ton sujet précédent ?
  • quelle est la question ?

bonjour,
si tu remets à zéro power à chaque loop, normal que ca ne monte pas

   int Power;

+1 avec infobarquee, ta variable Power doit être soit statique soit globale et initialisée avec une valeur (disons 0 au hasard) avant de l'utiliser. Comme tu sembles l'ignorer, la fonction loop() est appelée indéfiniment (en boucle), ce qui veut dire que tu passes au début de ta fonction tout le temps et en fait à chaque fois qu'elle se termine, ca recommence... Mettre "static" fait en sorte que ta déclaration & initialisation n'est faite qu'une fois mais ta variable est accessible seulement dans loop(), la mettre en global la déclare une seule fois, mais fait en sorte qu'elle est accessible ailleurs dans les autres fonctions, dans init() par exemple aussi.
Il faut "initialiser" sa variable (lui donner une valeur initiale) car sinon elle a une valeur au hasard, donc faire Power++ quand tu ne sais pas ce que vaut Power ca ne rime pas à grand chose, tu ne crois pas ? :wink:

Ce qui veut dire concrètement que soit tu mets :

static int Power = 0;

soit tu mets :

int Power=0;
// AVANT et à l'extérieur de ta boucle loop() :
void loop()
{
   // ... ton code
}

Voilà. Par contre toutes ces petites lacunes laissent présupposer que tu n'as pas encore bien lu les tutos pour coder. Celui de eskimon est plutôt bien fait.