potentiometre

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

"grosse flemme" c'était parce que vous ne mettez pas à jour les commentaires quand il le faut. ça ne change rien au fait que vous êtes bosseur ou pas en dehors... Mon point c'est que si c'est pour écrire de commentaires faux, autant ne pas les mettre :slight_smile:

(et Le code se fiche du moteur, il n'attendra pas 5s si vous dite delay(3500)...)

comme dit plus haut et comme indiqué par le compilateur

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

ne veut rien dire si Digital n'est pas un type. comme en plus vous n'utilisez pas ce tableau, autant le virer :slight_smile:

Bonsoir a tous,

j ais relus toute vos recommandation et parcouru pas mal le forum et sur le site arduino! :o

je vous poste le programme que j 'ai enfin :slight_smile: reussi a compiler mais je vous avez vous que je n 'est pas tout compris se qu j 'ais fais :confused:

et j 'aimerais que vous jetier un coup d'oeil car avant de le televersser je ne suis pas sur que sa fasse se que j ais envie!! :frowning: :slight_smile:

j ais changer comme vous me l avez recommander les noms des variables mais pour les deux autre lignes j ais galéré :slight_smile: a trouver!! "pour moi toujours :D"

merci encore de me dire se que vous en penser

const byte  pinDEL= A1;
const int analogPin = A0;
const byte ledDEL = 4;
const int ledCount = 4;
int ledPins[] = {
  8, 7, 6, 5
};
byte DELPins[] = {
 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);
    }
  }
}

.

merci encore de me dire se que vous en penser

Que vous n’écoutez pas ce qu’on vous dit?... :frowning:

Répondez aux questions de #17

haa! :frowning:

donc qui veut surment dire que se que j ais fait se n est bon apperement !! :confused:

je vois pas se que vous voulez dire par"Répondez aux questions de #17"

claas900:
je vois pas se que vous voulez dire par"Répondez aux questions de #17"

#17 c’est le numéro du post dans la file ci dessus
Une question c’est un bout du texte qui finit par un point d’interrogation :wink:

(et il y a des recommandations qui ne sont pas des questions mais qu’il faudrait suivre...)

J-M-l JE suis d accord avec vous ! :slight_smile: mais sa ne me donne pas la réponse a ma question :wink:

a savoir si ce que j ais codé( pour moi toujours :slight_smile: ) est correct pour vous,?

jouer au chat et a la sourie sa ne va pas m avancer beaucoup!! 8) :smiley:

j'entend bien que je ne doit pas faire comme vous voulez ! mais se n'est pas le manque d'essayer! :frowning:

sa vous saute surement au yeux a vous la betise ! mais pour moi ses moins évident!! :roll_eyes:

apres ci cela vous ofusque je peut comprendre!! :wink: le ci peut de projet que j ais realiser sur ce forum ma ete

tres utile !! car la plupart d entre nous somme debutant !! certain plus que d'autre certe!! :smiley: :smiley:

mais je pense ! sa n engage que moi bien sur :wink: étant chef de chantier quand mes gars ne comprenne pas

quelle que chose et même évident pour moi et qu ils me montre de la bonne fois je leur donne un exemple!

j'evite de leur repondre a une question par une question :wink: :smiley: sa fini que tous le monde perd son temps!

et je pense être sur un forum ou les connaisseurs comme vous (vue le nombre de post que vous avez) ne perde de temps pour rien dire ;D

vue l heure tardive :wink: :smiley: je ne vous poste pas ce que j ais refait de toute façon sa ne compile toujours pas! :slightly_frowning_face:

je vais ressayer demain en esperant avoir d'autre conseil de votre par! :wink: merci d'avance :wink: .

je suis un peu fatiguer 8) ;D