Aller au contenu


Photo
- - - - -

Arduino et led RGB


  • Veuillez vous connecter pour répondre
9 réponses à ce sujet

#1 bypbop

bypbop

    Habitué

  • Membres
  • PipPip
  • 273 messages
  • Gender:Male
  • Location:Lille

Posté 21 novembre 2012 - 11:40

Bonjour à tous,

Voila je viens de faire ce bout de code pour piloter une led RGB sur mon arduino 1280
J'ai defini les 3 pin de couleurs R,G et B et je fais clignoter ensuite les 3 couleurs de base rien d'exceptionnelle ;-)

donc 3 couleurs 2 états normalement ca fait 9 possibilités.

J'aimerais pouvoir faire passer les 9 possibilités en suivant.

Je voulais avoir vos avis sur comment vous auriez codé pour avoir facilement les 9 états disponibles.

En gros pour ne pas faire comme ceci :

int Rpin = 2;
int Gpin = 3;
int Bpin = 4;

void setup()
{
  pinMode(Rpin, OUTPUT);
  pinMode(Gpin, OUTPUT);
  pinMode(Bpin, OUTPUT);
  
  Serial.begin(57600);

  Serial.println("LED RGB");
  
}

void loop()
{
digitalWrite(Rpin, HIGH);
delay(500);
digitalWrite(Rpin, LOW);
delay(500);
digitalWrite(Gpin, HIGH);
delay(500);
digitalWrite(Gpin, LOW);
delay(500);
digitalWrite(Bpin, HIGH);
delay(500);
digitalWrite(Bpin, LOW);
delay(500);
}

Cordialement,
bypbop

#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 22 novembre 2012 - 03:23

Un autre fait la même chose et a posté son code ici

D'ailleurs il a un problème, essaye de comprendre ce qu'il a fait et pourquoi et ou de voir si ça marche et si ça ne marche pas je veux bien que tu me disent ce que renvois les modifications que je lui ai proposé ...

Bonne journée et à bientôt.

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#3 bypbop

bypbop

    Habitué

  • Membres
  • PipPip
  • 273 messages
  • Gender:Male
  • Location:Lille

Posté 22 novembre 2012 - 05:01

Un autre fait la même chose et a posté son code ici

D'ailleurs il a un problème, essaye de comprendre ce qu'il a fait et pourquoi et ou de voir si ça marche et si ça ne marche pas je veux bien que tu me disent ce que renvois les modifications que je lui ai proposé ...

Bonne journée et à bientôt.



ok je vais regarder son code sinon 3 couleurs R,G,B à 0 ou 1 ca fait bien 9 possibilité ? je me rappelle plus trop bien ...

j'ai mis sur papier mais j'en trouve que 8 ...

Cordialement,
bypbop

#4 Microrupteurman

Microrupteurman

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 210 messages
  • Gender:Male
  • Location:Aquitaine,Gironde
  • Interests:Tout

Posté 22 novembre 2012 - 06:11

Pour piloter une led RGB j'utilise la fonction random, qui sort un nombre aleatoire et map ce nombre en pwm sur une echelle de 256, comme ca pour chaque broche de la led.

 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/

Besoin d'une impression 3D grand format ? Contactez moi !
 


#5 bypbop

bypbop

    Habitué

  • Membres
  • PipPip
  • 273 messages
  • Gender:Male
  • Location:Lille

Posté 22 novembre 2012 - 06:21

Merci a tous mais pour l onstant je vais juste me contenter des combinaisons possible avc les couleurs primaires.

Personne pour me dire si les combinaisons avec RGB a 1 ou 0 sont de 9 ou de 8 j ai du mal avec ca lol

Cdlt
Bypbop

#6 bypbop

bypbop

    Habitué

  • Membres
  • PipPip
  • 273 messages
  • Gender:Male
  • Location:Lille

Posté 22 novembre 2012 - 09:31

Merci a tous mais pour l onstant je vais juste me contenter des combinaisons possible avc les couleurs primaires.

Personne pour me dire si les combinaisons avec RGB a 1 ou 0 sont de 9 ou de 8 j ai du mal avec ca lol

Cdlt
Bypbop



Voila donc pour la réponse c'est bien 8 possibilitées 2^3

Cordialement,
bypbop

#7 bypbop

bypbop

    Habitué

  • Membres
  • PipPip
  • 273 messages
  • Gender:Male
  • Location:Lille

Posté 22 novembre 2012 - 10:01

Pour piloter une led RGB j'utilise la fonction random, qui sort un nombre aleatoire et map ce nombre en pwm sur une echelle de 256, comme ca pour chaque broche de la led.



Merci tu fais comme ceci :

int Rpin = 2;
int Gpin = 3;
int Bpin = 4;

long randNumberR;
long randNumberG;
long randNumberB;

void setup()
{
  pinMode(Rpin, OUTPUT);
  pinMode(Gpin, OUTPUT);
  pinMode(Bpin, OUTPUT);
  
  Serial.begin(57600);

  Serial.println("LED RGB");
  
}
void loop() {

  randNumberR = random(256);
  randNumberG = random(256);
  randNumberB = random(256);
  
  analogWrite(Rpin, randNumberR);
  analogWrite(Gpin, randNumberG);
  analogWrite(Bpin, randNumberB);
  
  Serial.println(randNumberR);  
  Serial.println(randNumberG);
  Serial.println(randNumberB);
  delay(500);
}


Cordialement,
bypbop

#8 Microrupteurman

Microrupteurman

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 210 messages
  • Gender:Male
  • Location:Aquitaine,Gironde
  • Interests:Tout

Posté 22 novembre 2012 - 11:03

Plutot comme ça :

const int R=1, V=1, B=1;
const int ledRouge=3;
const int ledVert=5; 
const int ledBleu=6; 
int compteur =0;

long a, b, c;
void setup()   {
  pinMode (ledVert,OUTPUT); 
  pinMode (ledRouge,OUTPUT); 
  pinMode (ledBleu,OUTPUT);
  randomSeed(analogRead(0)); }
 
 void loop () {

   a= random(0, 255);
   b= random(0, 255);
   c= random(0, 255);
  analogWrite (ledRouge, a);
  analogWrite (ledBleu, <img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />;
  analogWrite (ledVert, c); 
  delay (250); }


 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/

Besoin d'une impression 3D grand format ? Contactez moi !
 


#9 bypbop

bypbop

    Habitué

  • Membres
  • PipPip
  • 273 messages
  • Gender:Male
  • Location:Lille

Posté 22 novembre 2012 - 11:14

c'est la mm chose mise à part que sur le random pour avoir une valeur de 0 à 255 il faut mettre 256.
Enfin bref je reviens sur ce que je voulais faire dès le départ ...

ca ressemble un peu à ca :

int Rpin = 2;
int Gpin = 3;
int Bpin = 4;


long randNumberR;
long randNumberG;
long randNumberB;


void setup()
{
  pinMode(Rpin, OUTPUT);
  pinMode(Gpin, OUTPUT);
  pinMode(Bpin, OUTPUT);
  
  
  
  Serial.begin(57600);

  Serial.println("LED RGB");
  
}
void loop() {

randNumberR = random(0, 2);
randNumberG = random(0, 2);
randNumberB = random(0, 2);
Serial.println(randNumberR);
Serial.println(randNumberG);
Serial.println(randNumberB);

if (randNumberR==1){digitalWrite(Rpin, HIGH);}
if (randNumberG==1){digitalWrite(Gpin, HIGH);}
if (randNumberB==1){digitalWrite(Bpin, HIGH);}
delay(500);
digitalWrite(Rpin, LOW);
digitalWrite(Gpin, LOW);
digitalWrite(Bpin, LOW);
}

En faisant ca j'ai les 7 couleurs + tt à zéro soit les 8 combinaisons.

Mais je voulais coder différemment en générant un tableau avec tte les combinaisons possible et lire le tableau ligne par ligne.

Mais bon je vois pas comment faire ...

@ ++

#10 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 24 novembre 2012 - 12:12

Mais je voulais coder différemment en générant un tableau avec tte les combinaisons possible et lire le tableau ligne par ligne.

Mais bon je vois pas comment faire ...

@ ++


Il faut créer un tableau de tableau pour cela, Un gros tableau dont "chaque case" représentant chacune des couleurs ( tu peux en faire bien plus que 8 en jouant sur d'autre valeurs que 0 et 255) c'est cas sont en fait des tableaux contenant les 3 valeurs en RGB comprises entre 0 et 255 de ta couleur.

D'ailleurs c'est ce qui est fait dans l'autre code ...

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 





0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users