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;
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);
}
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.
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.
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.
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.