Hey
j'ai un projet de faire fonctionner une led en fonction de la luminosité , et j'aimerais faire en sorte que l'intensité lumineuse soit toujours au même stade c'est a dire si j'ai une grande luminosité la led doit peu s'allumer et inversement mais dans les deux cas l'intensité total de luminosité doit être la même.
je veux que dans une pièce il y est constamment 300lux donc je veux calculer l intensité lumineuse extérieure et ensuite ajuste avec la led
int ledv = 0; //led Verte pin 0
int capteur = A0; //photoresistance sur pin A1
int photocellPin = 0;// Photocell connected to analog pin 0
int photocellVal = 0; // define photocell variable
en fait je veux que dans une pièce il y est constamment 300lux par exemple donc je veux calculer l intensité lumineuse extérieure et ensuite ajuste avec la led . Tu as compris?
Ton programme fonctionne très bien.
As tu bien mis la console à 9600?
Pour les conditions: if (photocellVal < 300)
et else if (photocellVal > 300)
tu as, pour les 2 conditions, 2 fois le texte affiché: Serial.println("led verte on");//affiche la tension
La LED verte est sur la pin 0: int ledv = 0; //led Verte pin 0
Si tu as un Arduino, ce n'est pas conseillé, les pin 0 et 1 sont utilisées par la liaison série de la connexion USB, choisis en une autre la sept, par exemple.
as tu lu le post dont j'ai parlé et qui est épinglé en premier dans le forum Français ?
Du coup ce n'est pas seulement la première ligne qui contient des valeurs aléatoires ?
D'ailleurs du coup ce n'est pas vraiment des valeurs, mais plutôt des caractères?
Quand on te le demande 2 fois c'est sans doute qu'il y a une raison !
Il me semble que c'est demandé dans le message d'accueil.
Pour commencer, tu n'oublies pas d'indenter ton code dans l'ide.
Cela se fait en cliquant sur Ctrl +T
L'indentation rend le code plus lisible et permet de trouver plus facilement les erreurs.
Une fois l'indentation faite, tu copies le code et tu le colles dans un message.
Avec la souris tu sélectionnes la zone de code et tu cliques sur l'icône <CODE/> qui est dans la barre d'icones.
Exemple
void loop()
{
photocellVal = analogRead(photocellPin);// read the analog from photocell
Serial.println( photocellVal); // output to screen
deviendra :
void loop()
{
photocellVal = analogRead(photocellPin);// read the analog from photocell
Serial.println( photocellVal); // output to screen
Ce qui est quand même plus lisible et si c'est plus lisible il y aura plus de gens qui liront ton code.
Conseil : l'opération d'écriture avec Serial.print peut être longue et bloquer peut-être pas ce programme, mais un autre plus tard.
Prend l'habitude de travailler avec un débit supérieur comme Serial.begin(115200).