Programmation d'un Arduino

Programmation d'un Arduino - C++ - Programmation

Marsh Posté le 16-02-2014 à 19:15:13    

Bonjour à tous je ne sais pas vraiment dans quoi classer ma demande donc j’espère ne pas mettre trompé.
Voila mon petit problème j'ai programmer ma carte Arduino de façon ce que la DEL réagisse en fonction de l’intensité lumineuse. jusque la cava à peu près. mais maintenant j'aimerai faire en sorte que la lampe ne s'allume que quand la luminosité baisse, c'est-à-dire définir une valeur type que quand le seuil est passer la DEL s’éclaire et que sont intensité augmente au fur et à mesure que la luminosité environnante descend.
Voici mon code ci jamais quelqu'un trouve je lui en serai extrêmement reconnaissant.
 
/*Arduino */
/* progdomotique */
 
const int greenLEDPin = 9;
const int redLEDPin = 11;
const int blueLEDPin = 10;
const int redSensorPin = A0;
const int greenSensorPin = A1;
const int blueSensorPin = A2;
int redValue = 0;
int greenValue = 0;
int blueValue = 0;
int redSensorValue = 0;
int greenSensorValue = 0;  
int blueSensorValue = 0;
void setup ()
{
  Serial.begin(9600);
  pinMode (greenLEDPin, OUTPUT);
  pinMode (redLEDPin, OUTPUT);
  pinMode (blueLEDPin, OUTPUT);
}
void loop()  
{
  redSensorValue = analogRead(redSensorPin);
  delay(5);
  greenSensorValue = analogRead(greenSensorPin);
  delay(5);
  blueSensorValue = analogRead(blueSensorPin);
  delay(5);
  Serial.print("raw Sensor Value \t red:" );
  Serial.print(redSensorValue);
  Serial.print("\t Green: " );
  Serial.print(greenSensorValue);
  Serial.print("\t Blue: " );
  Serial.print(blueSensorValue);
  redValue = redSensorValue/-4;
  greenValue = greenSensorValue/-4;
  blueValue = blueSensorValue/-4;
  Serial.print("Mapped Sensor Value\t Red:" );
  Serial.print(redValue);
  Serial.print("\t Green: " );
  Serial.print(greenValue);
  Serial.print("\t Blue: " );
  Serial.println(blueValue);
  analogWrite(redLEDPin, redValue);
  analogWrite(greenLEDPin, greenValue);
  analogWrite(blueLEDPin, blueValue);
}
 
 
 
Merci d'avance à tous  
Bonne soirée

Reply

Marsh Posté le 16-02-2014 à 19:15:13   

Reply

Marsh Posté le 18-02-2014 à 14:15:32    

Bonjour,
 
Je ne suis pas sûr d'avoir tout compris.
 
Comment récupères-tu la valeur correspondant à la luminosité? Tu as 3 capteurs
(rgb)?
 
Quelles sont les bornes de cette valeur?
 
Si l'on admet pour l'exemple que cette valeur varie entre 0 et 255, est-ce qu'il
ne te suffit pas le faire quelque chose comme ceci:
 

Code :
  1. const int seuil = 200;
  2. ...
  3. if (redSensorValue < seuil)
  4.     redValue = redSensorValue/-4; /* pourquoi /-4 ? */
  5. else
  6.     redValue = 0;


 
Ensuite à toi de trouver la formule reliant la luminosité de la led à la valeur
de ton capteur selon ton besoin.


---------------
deluser --remove-home ptitchep
Reply

Marsh Posté le 19-02-2014 à 09:01:30    

bonjour  
je te remercie pour ton aide c'est vraiment sympa de ta part je vais essayé ce week-end.
bye bonne journée

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed