Pages: [1] 2   Go Down
Author Topic: LDR et LEDS comment les programmer?  (Read 2447 times)
0 Members and 1 Guest are viewing this topic.
paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour, je viens aujourd'hui même de flasher ma arduino BT, et je suis bien heureux.
Malgré tout il y a des problèmes, toujours des problèmes qurtout quand on débute dans ce type de programmation.
Voici mon projet. J'ai une led sur le port digital 9, que j'utilise en PWM pour la faire varier.
J'ai un capteur de lumière LDR en port analog In 2, que je veux utiliser  pour faire varier cette même Leds...
J'ai tout programmé dans max et çà marche! quand j'approche mon doigt du capteur de lumière je lui enlève de la lumière et la led se met à briller plus fort. quand j'enlève mon doigt la led s'éteind petit à petit...
J'ai essayé de faire un mix de programme, mais c'est pas la fête...
Arduino11 dit : In function 'void loop()':
error: a function-definition is not allowed here before '{' tokenCouldn't determine program size: hardware/tools/avr/bin/avr-size: '/tmp/build31835.tmp/led-light-sensors.hex': No such file


et mon programme qui est un croisement de plusieurs est celui-ci... :
// Fading LED
// by BARRAGAN <http://people.interaction-ivrea.it/h.barragan>

int value = 0;                            // variable to keep the actual value
int ledpin = 9;                           // light connected to digital pin 9
 int LDR = 2;       // select the input pin for the LDR
 int val = 0;       // variable to store the value coming from the sensor


void setup()
{
 pinMode(LDR, INPUT);       // declare the LDR as an INPUT
}
 
void loop()
{   val = analogRead(LDR);       // read the value from the sensor


{
  for(value = 0 ; value <= 255; value+=5) // fade in (from min to max)
  {
    analogWrite(ledpin, value);           // sets the value (range from 0 to 255)
    delay(90);                            // waits for 30 milli seconds to see the dimming effect
  }
  for(value = 255; value >=0; value-=5)   // fade out (from max to min)
  {
    analogWrite(ledpin, value);
    delay(90);
  }  
}

Mais bien sur rien ne fonctionne!!
Quelqu'un pourrais m'aider s'il vous plaît...
merci et à bientôt
retake77
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il y a une { en trop au début de la fonction loop
Logged

paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci à toi pour ta réponse rapide
comme çà tu penses que c'est bon, en tout cas çà ne marche toujours pas..


int value = 0;                            // variable to keep the actual value
int ledpin = 9;                           // light connected to digital pin 9
 int LDR = 2;       // select the input pin for the LDR
 int val = 0;       // variable to store the value coming from the sensor


void setup()
{
 pinMode(LDR, INPUT);       // declare the LDR as an INPUT
}
 
void loop()
 val = analogRead(LDR);       // read the value from the sensor



  for(value = 0 ; value <= 255; value+=5) // fade in (from min to max)
  
  {
    analogWrite(ledpin, value);           // sets the value (range from 0 to 255)
    delay(90);                            // waits for 30 milli seconds to see the dimming effect
  }
  for(value = 255; value >=0; value-=5)   // fade out (from max to min)
  {
    analogWrite(ledpin, value);
    delay(90);
  }
Logged

paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ça y est j'ai réussi à l'uploader mais çà ne fait pas ce que je veux == les leds blink et le capteur n'est pas pris en compte...
aurais tu une idée?
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Maintenant il manque une {  smiley-wink
Et tu n'as pas déclaré ledpin comme sortie dans la fonction setup()
Et je pense que val = value.

Code:
int value = 0;                            // variable to keep the actual value  
int ledpin = 9;                           // light connected to digital pin 9
int LDR = 2;       // select the input pin for the LDR
int val = 0;       // variable to store the value coming from the sensor
 
 
void setup()  
{  
 pinMode(LDR, INPUT);       // declare the LDR as an INPUT
 pinMode(ledpin, OUTPUT);
}  
  
void loop()
{
  
 value = analogRead(LDR);       // read the value from the sensor
 
 for(value = 0 ; value <= 255; value+=5) // fade in (from min to max)  
  
  {  
    analogWrite(ledpin, value);           // sets the value (range from 0 to 255)  
    delay(90);                            // waits for 30 milli seconds to see the dimming effect  
  }  
  for(value = 255; value >=0; value-=5)   // fade out (from max to min)  
  {  
    analogWrite(ledpin, value);  
    delay(90);  
  }
Logged

paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Meci pour la réponse, en fait ce que tu m'as envoyé en code dis encore l'erreur suivante...:
In function 'void loop()':
error: a function-definition is not allowed here before '{' token

Aurais tu une idée du problème là je bloque..
à plus
Logged

paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

de plus :
error: expected unqualified-id before '{' toke


Je ne comprends plus rien...
désolé je suis vraiment débutant...
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai oublié une } pour fermer le void loop() smiley-wink

Code:
int value = 0;                            // variable to keep the actual value  
int ledpin = 9;                           // light connected to digital pin 9
int LDR = 2;       // select the input pin for the LDR
int val = 0;       // variable to store the value coming from the sensor
 
 void setup()  
{  
 pinMode(LDR, INPUT);       // declare the LDR as an INPUT
 pinMode(ledpin, OUTPUT);
}  
  
void loop()
{
  
 value = analogRead(LDR);       // read the value from the sensor
 
 for(value = 0 ; value <= 255; value+=5) // fade in (from min to max)  
  
  {  
    analogWrite(ledpin, value);           // sets the value (range from 0 to 255)  
    delay(90);                            // waits for 30 milli seconds to see the dimming effect  
  }  
  for(value = 255; value >=0; value-=5)   // fade out (from max to min)  
  {  
    analogWrite(ledpin, value);  
    delay(90);  
  }
}

Dans Arduino je n'ai plus d'erreur.



Logged

paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci vincent,
Desormais le probleme c'est qu'il ne passe rien; le capteur de lumiere doit certainement recevoir des datas mais il n'agit pas sur les Leds... Comment faire pour programmer çà?
J'ai un autre programme qui vient d'espagne qui marche avec le capteur, lorsque tu lui enlèves de la lumière les leds arretent de clignoter. Lorsqu'il a beaucoup de lumière les leds blink a fond.
Moi je veux seulement varié les leds de 0 à 255 avec le capteur et je n'y arrive pas...
merci
à plus
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Essaye déjà d'afficher avec le serial port les valeurs lues par Arduino.
Logged

paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

je ne sais pas comment faire çà...
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Regarde sur le site, la page Reference, y'a des instructions pour communiquer entre l'ordi et Arduino.

http://www.arduino.cc/en/Reference/HomePage

-> Serial Communication

Après regardes dans le learning il doit y avoir des exemples.
Logged

paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ca y est çà marche!!!


int potPin = 2;    // select the input pin for the potentiometer
int ledPin = 9;   // select the pin for the LED
int val = 0;       // variable to store the value coming from the sensor

void setup() {
  pinMode(ledPin, OUTPUT);  // declare the ledPin as an OUTPUT
}

void loop() {
  val = analogRead(potPin);    // read the value from the sensor
  val = val/4;                 // convert from 0-1023 to 0-255
  analogWrite(ledPin, val);    // turn the ledPin on
}
Logged

paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

en tout cas si tu oublies de reseter ta arduino Bt avant de flasher çà ne marchera jamais...
Logged

paris
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

maintenant que j'ai les deux codes j'essaie de les assembler... et je n'y arrive pas encore de probleme d'accolade. Peux tu me dire ce qui ne va pas dans ce code???
merci



/*
 * PotDimmer and fading leds at the same time!!
 * ---------
 *
 */

int potPin = 2;    // select the input pin for the potentiometer
int ledPin1 = 11;   // select the pin for the LED qui va avec le capteur
int ledPin2 = 9;    // light connected to digital pin 9 qui varie toute seule
int val = 0;       // variable to store the value coming from the sensor

void setup() {
  pinMode(ledPin1, OUTPUT);  // declare the ledPin1 as an OUTPUT
  pinMode(ledPin2, OUTPUT);  // declare the ledPin2 as an OUTPUT

}
  // les leds varient enfonction du capteur


void loop() {
  val = analogRead(potPin);    // read the value from the sensor
  val = val/2;                 // convert from 0-1023 to 0-255
  analogWrite(ledPin1, val);    // turn the ledPin on
}
  // suite du programme, les leds fades
 {  

  for(val = 0 ; val <= 255; value+=5) // fade in (from min to max)
  {
    analogWrite(ledPin2, val);           // sets the val (range from 0 to 255)
    delay(90);                            // waits for 30 milli seconds to see the dimming effect
  }
  for(val = 255; value >=0; val-=5)   // fade out (from max to min)
  {
    analogWrite(ledPin2, val);
    delay(90);
  }  
}
Logged

Pages: [1] 2   Go Up
Jump to: