comment paramétrer un capteur de lumière

Bonjour
Je suis nouveau et novice, je viens de m'offrir une carte arduino, un moteur
futaba S3003 et un détecteur de lumière Grove SEN11302P.
en faisant des recherche sur le net j'ai trouvé ce code pour le détecteur de lumière, mais je ne sais pas quoi mettre comme paramètre pour que mon moteur s'arrête la nuit et se remette en marche lorsqu'il fait jour.
j'aimerai savoir aussi comment intégrer ce code avec mon moteur.
auriez vous des liens ?, des tutos ?, des explications ?
Je vous remercie

/*
/* Grove - Light Sensor demo v1.0
* 
* signal wire to A0.
* By: http://www.seeedstudio.com
*/
#include <math.h>
const int ledPin=12;                 //Connect the LED Grove module to Pin12, Digital 12
const int thresholdvalue=10;         //The treshold for which the LED should turn on. Setting it lower will make it go on at more light, higher for more darkness
float Rsensor; //Resistance of sensor in K
void setup() {
  Serial.begin(9600);                //Start the Serial connection
  pinMode(ledPin,OUTPUT);            //Set the LED on Digital 12 as an OUTPUT
}
void loop() {
  int sensorValue = analogRead(0); 
  Rsensor=(float)(1023-sensorValue)*10/sensorValue;
  if(Rsensor>thresholdvalue)
  {
    digitalWrite(ledPin,HIGH);
  }
  else
  {
  digitalWrite(ledPin,LOW);
  }
  Serial.println("the analog read data is ");
  Serial.println(sensorValue);
  Serial.println("the sensor resistance is ");
  Serial.println(Rsensor,DEC);//show the ligth intensity on the serial monitor;
  delay(1000);

}

Bonjour,

Ce qu'il faut retenir c'est :

int sensorValue = analogRead(A0); 
float Rsensor = (float)(1023 - sensorValue) * 10 / sensorValue; // Résistance du capteur en Kilo ohms

Après à toi de voir ce que tu veut faire de la valeur obtenu et comment tu veut actionner ton servo en conséquence.

Bonjour,

  int sensorValue = analogRead(0); 
  Rsensor=(float)(1023-sensorValue)*10/sensorValue;

Outch, il va y avoir un souci si sensorValue = 0

Mais ca n'arrivera jamais, n'est-ce pas ? 8)

est-ce possible d'avoir un exemple pour mieux comprendre ? c'est un peu difficile pour moi !
je vous remercie beaucoup

casimir:
est-ce possible d'avoir un exemple pour mieux comprendre ? c'est un peu difficile pour moi !
je vous remercie beaucoup

Dans le code d'exemple tu as un exemple justement d'intégration du capteur avec une led :

if(Rsensor > 10) { // Si la résistance du capteur est sup. à 10K
   digitalWrite(13, HIGH); // la led est allumé
} else { // Sinon
  digitalWrite(13, LOW); // elle est éteinte
}

Tu peut donc imaginer un code du genre :

if(Rsensor > 10) { // Si la résistance du capteur est sup. à 10K
   myservo.write(0); // le servomoteur est à 0°
} else { // Sinon
  myservo.write(255); // le servomoteur est à 180°
}

Ou n'importe quoi d'autre, tout dépend de ce que tu veut faire sur ton servomoteur en fonction de la lumière ambiante.

merci beaucoup pour la réponse
j'aimerai faire bouger un gadget lorsqu'on allume la lumière et que ça s'arrête lorsqu'on éteint .

et ici il faut mettre quelque chose ?

Serial.println("the analog read data is ");
  Serial.println(sensorValue);
  Serial.println("the sensor resistance is ");
  Serial.println(Rsensor,DEC);//show the ligth intensity on the serial monitor;
  delay(1000);

j'ai essayé de programmer ma Uno avec une led et le detecteur mais ça ne marche pas

Je suis étonné que personne n'a évoqué les bienfait des fonctions Arduino, il y a la possibilité d'utiliser la fonction map et constrain pour faire bouger la position d'un servo en fonction de la luminosité.
Edit : Si sa peut aider certains voila un code tres tres tres basique que j'ai fait

//Capteur de lumiere

int photo_res = 0;
// Photorésistance sur la broche analogique
int photo_val;
// Varibale qui va contenir les valeur de la Photorésistance
int led = 13;

void setup()

{
Serial.begin(9600);
// Initialisation de la liasion serie a 9600 Bauds
pinMode(led,OUTPUT);

}

void loop()

{
// Lecture de la photoresistance
photo_val = analogRead(photo_res);

// Si la valeur est plus petite que 10 on eteint
if (photo_val < 10)
{
digitalWrite(led,LOW);
}
// Sinon on allume
else if (photo_val > 15)
{
digitalWrite(led,HIGH);
}

}

merci je vais essayer de suite !
je vous tiens au courant ! :slight_smile:

ça marche !! merci à vous tous pour votre aide !!
heu ??? j'ai encore une petite question, pour brancher ma UNO sur des piles je dois mettre 1 fil le rouge sur 5V et le noir sur GND ??? les fils vont tenir si je les met juste comme ça ou il y a des fils exprès ? combien de piles AAA pour 2 moteurs ?

Le plus simple c'est sa x2 : DIY 1-Slot 18650 Battery Holder w/ 2 Leads - Black - Free shipping - DealExtreme

Avec un pont en H qui va te permettre de piloter tes moteurs tres facilement avec avec la library "Adf robot" ? bref je me souviens plus du nom exact : DIY 16mm GX16 Aviation Plug Socket Connector - Free shipping - DealExtreme

merci beaucoup je vais faire ma commande.