Comment commander une led par une photorésistance branchée sur une entrée analogique d'une carte arduino mega 2560?

bonjour les amis,

j'ai un projet dont un sous-sytème est l'éclairage automatique:
Pour commander une led par une photorésistance branchée sur une entrée analogique d'une carte arduino mega 2560, j'ai crée ce programme mais quand je le simule sur l'environement proteus isis, la tension détectée reste toujours à 5V meme si je change l'intensité lumineuse. Et du coups la led ne s'allume pas.
Mais quand je le teste par une carte UNO ça marche très bien.
je sais dans quel niveau j'ai un problème est ce que au niveau du code ou du brochage sur isis.

s'il vous plait, j'ai besoin de l'aide.
Merci.

code arduino:
//détecter la présence ou l'absence de lumière par une photorésistance
//dont sa valeur lue et comparée au seuil afin de décider si on allume la led ou non

const int photoR=A0;
const int led=10;
int valeur_lue;
float tension, seuil=2.5;

void setup() {
pinMode(led,OUTPUT);
Serial.begin(9600);

}

void loop() {
valeur_lue=analogRead(A0);

tension=map(valeur_lue,0,1023,0,5000)/1000.0; //tension correspondant en Volt

if(tension>seuil){ //c'est la journée (présence de lumière)
digitalWrite(led,LOW); //on étient la led
}else{ //c'est le soir (absence de lumière)
digitalWrite(led,HIGH); //on allume la led
}
Serial.print("la valeur lue: ");
Serial.println(valeur_lue);
delay(500);
Serial.print("la tension: ");
Serial.println(tension);
delay(500);
}

Bonjour. Parlez Vous Anglais?

1 Like

oui

Forum Franciase?

You posted in the English speaking forum..

ok thnx

1 Like

i posted my question on the english forum but i see no reaction i don't know is it posted in a way that everyone can see...

Posting in the English forum You need to use the English language. "Nobody" understand French.....

@fafa9
Would you like me to move this to the French forum? Alternatively you could edit your original post and put an English translation there.

Moved to the French forum. Déplacé dans le forum en français puisque le sujet principal est en français.

:warning: lisez « Les bonnes pratiques du Forum Francophone”

1 Like

Si en réalité cela fonctionne, vous devriez peut-être modifier les propriétés des composants du proteus pour les faire correspondre aux vrais.
Salutations.

Bonjour,

Comment est connectée ta photorésistance?

Bonjour fafa9

J'ai contrôlé ton programme sur un UNO, si ta cellule est câblée ainsi,
image
ton programme fonctionne parfaitement.

Cordialement
jpbbricole

oui exactement il fonctionne sur le UNO, mais sur la carte mega je dois placer la photorésistance sur une entrée numérique pour qu'il puisse commander les leds.

comme la figure de @jpbbricole

thank you :slight_smile:

Bonjour fafa9

Oui, ça fonctionne aussi, ainsi, le problème est que l'on ne peut pas régler le seuil de déclenchement sans changer la valeur de la résistance.
Je pense que tu as un problème de simulateur, parce qu'un programme qui tourne sur UNO, avec lecture de A0, doit fonctionner sans changement sur Mega.

Cordialement
jpbbricole

je sais pas, vraiment c'est un problème que je dois résoudre.
voila le branchement que j'ai fais, mais toujours les 5V reste inchangeables et du coup les leds restent éteintes.

sans doute que la pin de sortie n'a pas assez de courant pour alimenter toutes les LEDs en parallèle

1 Like

Bonjour J-M-L

D'après le terminal, ce serait d'abord à l'entrée qu'il y a un problème, la valeur lue est constante.

Ca doit quand même s'allumer, un peu?

Cordialement
jpbbricole