potentiometre

bonjour a tous,

pour un petit projet personnel,j aurais aimer savoir si cela est possible d allumer 4 leds les une après les autres jusqu a elles sont les 4 allumer quand le potentiomètre est au max et qu'elles s’éteignent les une après les autres plus on diminue le potentiomètre ?
mais il ne faut pas qu elles s'allume progressivement chaque led! on allume la led 1 puis la 2avec la 1 puis 3 avec la 2 et 1 puis 4 avec 3 la 2 et la 1 et inversement.
merci d'avance pour vos réponses.

Non ce n’est pas possible.

:slight_smile:

... Réfléchissez un peu vous avez décrit plus ou moins un algo pour le faire (plutôt moins que plus c’est très confus ce que vous avez écrit) donc bien sûr que c’est possible

J-M-L:
Non ce n’est pas possible.

:slight_smile:

:grin:

a l aide d un arduino, j ais oublier de préciser :slight_smile:

Non non c’est insurmontable. Il faudrait 4 arduino, un par led :slight_smile:

Sérieusement - montrez nous un bout de code où vous essayez. On va pas faire vos devoirs...

bon tres bien,
merci pour vos reponsse rapide :wink:
c'etait pour installer un niveau d'eau avec une graduation par led !

quelle est la relation entre le potentio et le niveau d'eau ?
basiquement, indiquer la "position" d'un pot par des leds : il suffit de brancher le pot sur une entrée adc et suivant les valeurs récupérées allumer les leds comme on le désire
exemple basique

Bonjour, une piste..

Recherche avec les mots clé suivant "vumetre led arduino" à faire

bonsoir a tous et merci encore pour vos reponces! :slight_smile:

electrax:je vien de visionner se que tu ma envoyer ses presque ca que je recherche!

sauf que il faut que les 4 leds s'allume de 1 a 4 suivant que l 'on change la valeur du potentiometre,

je vais essayer de m 'expliquer un peu mieux :confused: :slight_smile:

j aimerais fabriquer comme une petite balance pour un récipient et savoir quand il est plein a la moitié ou presque vide,avec mon potentiomètre je vais l'installer avec une petite biellette et un support a ressort qui fait
que quand le récipient est plein sa bascule le potentiomètre vers une position x donc les 4 leds allumer et quand le récipient est a au 3/4(environ) plus que trois leds ect...

leptro:je viens juste de voir que vous ma écrit les mots clée " vuemetre"

et ses tout a fait sa que je veut faire :slight_smile: :slight_smile:

mais dans l'exemple il tourne le potar énormément voir a fond de celui ci ! avec moin d 'angle je pourrait également allumer 4 leds,?

je post la combinaison de deux programme mais j ais beau essayer plusieur manipulation

mais je n 'arrive pas a installer le deuxieme potentiometre sur l entrée a1 :confused:

je n'arrive pas a compilé il bloque en m affichant "exit status 1 redefinition of ' const int analog pin "

merci pour vos renseignement.

const int analogPin = A1; //entrer du potar 1
const int ledCount = 4; // 4 leds
const int analogPin = A0; // entrer du potar 2
const int ledCount = 4; // 4 leds pour le deuxieme aussi

int ledPins[] = { // led pour le potar 2
9, 10, 11, 12
};

int ledPins[] = { // led le potar 1
8, 7, 6, 5
};
const int APPUI=0;
const int PAS_APPUI=1;
const int BP=2;
const int LED3=3;
const int LED4=4;
int ETAT_BP;

void setup() {
{
pinMode (LED3,OUTPUT);
pinMode (LED4,OUTPUT);
pinMode (BP,INPUT);
digitalWrite (LED3,LOW);
digitalWrite (LED4,LOW);
digitalWrite (BP, HIGH);
}

for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
}
}

void loop() {
ETAT_BP=digitalRead(BP);
if (ETAT_BP==APPUI){//si l'eta du bouton est appuier alors
delay (800);
digitalWrite(LED3,HIGH);//allume la led 3 s'allume
delay (3500);//attend 5 secondes
digitalWrite (LED3,LOW);//eteint la led 3
delay (1000);//attend 2 secondes
digitalWrite (LED4,HIGH);// allume la led 4
delay (5250);//attend 9 secondes
digitalWrite (LED4,LOW);
delay (5000);
}
else {//sinon si le bp o est ouvert
digitalWrite(LED3,0);
digitalWrite(LED4,0);
} // read the potentiometer:
int sensorReading = analogRead(analogPin);

int ledLevel = map(sensorReading, 0, 100, 0, ledCount);

for (int thisLed = 0; thisLed < ledCount; thisLed++) {

if (thisLed < ledLevel) {
digitalWrite(ledPins[thisLed], HIGH);
}

else {
digitalWrite(ledPins[thisLed], LOW);
}
}
}

Oui avec moins d'angle on peu allumer les quatres leds, ce n'est que du codage.

Avez-vous essayé de compiler ce sketch?

const int analogPin = A1;  //entrer du potar 1 
const int ledCount = 4;    // 4 leds
const int analogPin = A0;  // entrer du potar 2 
const int ledCount = 4;  // 4 leds pour le deuxieme aussi
int ledPins[] = { // led pour le potar 2
  9, 10, 11, 12
};

int ledPins[] = { // led le potar 1
  8, 7, 6, 5
};

Déclaration redondante pour ledcount, analogpin,ledpins .. si plusieurs variable ont le même nom ça va pas aller.

A corriger donc avant d'aller plus loin.

bonjour LEPTRO

oui j'ais essayer de compiler mais il m'indique une erreure

je ne vois pas ce que vous voulez dire par meme nom?

les deux doivent faire la meme chose mais avec des leds different,

comme il y aura deux récipient je vois pas ou est mon erreurs :frowning:

claas900:
je ne vois pas ce que vous voulez dire par meme nom?

C’est simple

const int [color=red]analogPin[/color] = A1;  //entrer du potar 1 
const int ledCount = 4;    // 4 leds
const int [color=red]analogPin[/color] = A0;  // entrer du potar 2

D’après vous comment le compilateur va savoir si analogPin c’est A1 ou A0 puisque vous avez le même nom de Variable pour les 2....

Et quitte à modifier le code, Pour les pins utilisez des const byte

et l'erreur disais : "redefinition off 'const int analogpin'"
et ce n'est qu'un début.
Chaque variable doit avoir un nom différent . 1 pour réservoir 1 et 1 pour réservoir 2.

bonsoir a vous,merci pour vos reponces,

je viens de mis remettre :slight_smile:

je comprend pas tous ce que vous me dite :confused: mais je vais refaire une autre tentative et lisant vos conseils et je vous tien au courant se soir .

bonjour a tous

hier soir apres plusieurs tentative je n 'est pas reussie a trouver la solution! :frowning:

voici la derniere modification mais qui ne compile pas non plus >:( :

si vous voyer ou est l erreurs,? :slight_smile:

const int analogPin = A0;
const byte pinDEL = A1;

const int ledCount = 4;
int ledPins[] = {
8, 7, 6, 5
};

const byte CountPin = 4;
Digital Pin[] = {
9, 10, 11, 12
};
const int APPUI=0;
const int PAS_APPUI=1;
const int BP=2;
const int LED3=3;
const int LED4=4;
int ETAT_BP;

void setup() {
{
pinMode (LED3,OUTPUT);
pinMode (LED4,OUTPUT);
pinMode (BP,INPUT);
digitalWrite (LED3,LOW);
digitalWrite (LED4,LOW);
digitalWrite (BP, HIGH);
}

for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
}
}

void loop() {
ETAT_BP=digitalRead(BP);
if (ETAT_BP==APPUI){//si l'eta du bouton est appuier alors
delay (800);
digitalWrite(LED3,HIGH);//allume la led 3 s'allume
delay (3500);//attend 5 secondes
digitalWrite (LED3,LOW);//eteint la led 3
delay (1000);//attend 2 secondes
digitalWrite (LED4,HIGH);// allume la led 4
delay (5250);//attend 9 secondes
digitalWrite (LED4,LOW);
delay (5000);
}
else {//sinon si le bp o est ouvert
digitalWrite(LED3,0);
digitalWrite(LED4,0);
} // read the potentiometer:
int sensorReading = analogRead(analogPin);

int ledLevel = map(sensorReading, 0, 100, 0, ledCount);

for (int thisLed = 0; thisLed < ledCount; thisLed++) {

if (thisLed < ledLevel) {
digitalWrite(ledPins[thisLed], HIGH);
}

else {
digitalWrite(ledPins[thisLed], LOW);
}
}
}

Bonjour - et si vous nous donniez l’erreur du compilateur qui indique exactement le problème vous ne Pensez pas que que ça pourrait être utile ?

A quoi Sert le “tableau”

Digital Pin[] = {
   9, 10, 11, 12
};

pensez vous que ce soit correct?

Je vois toujours des const int Donc si vous n’écoutez pas les conseils généraux..

virez les 0 et 1 si vous voulez dire HIGH ou LOW, utilisez les bons termes

metttre des commentaires faux ne sert absolument à rien... grosse flemme? Dans ce cas ne pas taper du tout des commentaires idiots (et ça évite aussi des fautes d’orthographe).

delay (3500);//attend 5 secondes   
delay (1000);//attend 2 secondes
delay (5250);//attend 9 secondes

...
  } // read the potentiometer:

Quand vous faites

int sensorReading = analogRead(analogPin);
  int ledLevel = map(sensorReading, 0, 100, 0, ledCount);

quel est l’intervalle possible pour sensorReading. Que va faire map() au delà de 100?

merci de corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].

ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l’IDE avant de copier le code pour qu’il soit indenté correctement)

const int analogPin = A0;
const byte pinDEL = A1;

const int ledCount = 4;
int ledPins[] = {
  8, 7, 6, 5
};

const byte CountPin = 4;
DigitalPins[] = {
  9, 10, 11, 12
};
const int APPUI = 0;
const int PAS_APPUI = 1;
const int BP = 2;
const int LED3 = 3;
const int LED4 = 4;
int ETAT_BP;

void setup() {
  {
    pinMode (LED3, OUTPUT);
    pinMode (LED4, OUTPUT);
    pinMode (BP, INPUT);
    digitalWrite (LED3, LOW);
    digitalWrite (LED4, LOW);
    digitalWrite (BP, HIGH);
  }

  for (int thisLed = 0; thisLed < ledCount; thisLed++) {
    pinMode(ledPins[thisLed], OUTPUT);
  }
}

void loop() {
  ETAT_BP = digitalRead(BP);
  if (ETAT_BP == APPUI) { //si l'eta du bouton est appuier alors
    delay (800);
    digitalWrite(LED3, HIGH); //allume la led 3 s'allume
    delay (3500);//attend 5 secondes
    digitalWrite (LED3, LOW); //eteint la led 3
    delay (1000);//attend 2 secondes
    digitalWrite (LED4, HIGH); // allume la led 4
    delay (5250);//attend 9 secondes
    digitalWrite (LED4, LOW);
    delay (5000);
  }
  else {//sinon si le bp o est ouvert
    digitalWrite(LED3, 0);
    digitalWrite(LED4, 0);
  } // read the potentiometer:
  int sensorReading = analogRead(analogPin);

  int ledLevel = map(sensorReading, 0, 100, 0, ledCount);


  for (int thisLed = 0; thisLed < ledCount; thisLed++) {


    if (thisLed < ledLevel) {
      digitalWrite(ledPins[thisLed], HIGH);
    }

    else {
      digitalWrite(ledPins[thisLed], LOW);
    }
  }
}

Bonjour J.M.L

Voici le code copier comme dans LIDE

pour les fautes d'hortographe desoler j essais de les corriger au mieux mais je vois que je ne suis pas le seul!

" metttre des commentaires faux " :slight_smile: :stuck_out_tongue:
et cette parti du code fonctionne tres bien j ai deja realiser une machine avec ! les temps ne sont pas tres respecter dans le programme mais en realiter avec les moteur sa donne a peu pres sa !

et ce n 'est pas que je ne veut pas ecouter se que l on me dit mais je ne connais pas aussi bien que vous la programmation!!

" grosse flemme"etant une personne qui travaille a peu pres 15 heures par jour et ce presque du 1 janvier au 31 decembre y a surement plus flemmar que moi :slight_smile:

je doit repartir au travail mais se soir tard :slight_smile: je vais réessayer de faire mieux et je posterais ce que j ais fais!

merci encore pour vos réponses

pour ce qui est de l erreurs indiquer dans l'IDE il m'indique "exit statu 1 digitalpins does not name a type"

tu déclares un tableau digitallpins que tu n'utilises pas, et qui en plus n'a pas de type. compare avec le tableau ledpins, tu vas trouver ton erreur tout seul