Show Posts
Pages: 1 2 [3] 4 5
31  International / Français / Re: Alimentation arduino 120 volt + montage en parallele (+serie) LED RGB on: April 01, 2011, 10:23:41 am
Bonjour,

si tu dois gérer  un grand nombre de led tu peux utiliser un driver de LED par exemple un TLC5940 (avec ce composant si tu utilises des LED RGB, il faut utiliser des led à anode commune mais je crois que le MAX7219 doit pouvoir faire la même chose avec des led à cathode commune). Un TLC te permet de gerer 16 leds avec seulement 3 pins de l'arduino utilisées (bcp plus en chainant les composants). cf http://www.arduino.cc/playground/Learning/TLC5940

Serge




32  International / Français / Re: flasher arduino ? on: March 20, 2011, 02:23:20 pm
Bonjour,

ce qui est envoyé à l'arduino ce n'est pas le code source mais le code compilé. Il est théoriquement possible de revenir au code source depuis le code compilé mais ce n'est pas une mince affaire et il faut de sérieuses compétence en assembleurs pour le faire (ça s'appelle du reverse ingeneering ). Et dans le cas de l'arduino, je ne suis pas sur qu'il soit possible d'uploader un programme depuis le micro-contrôleur.

Serge
33  International / Français / Re: Mettre les fonctions dans un fichier on: March 20, 2011, 02:15:24 pm
Bonjour,

qd tu définis ta fonction comme void ma_fonction() c'est que ta fonction n'admet aucun paramètre et ne retourne rien (pour simplifier). Pour que ta fonction puisse retourner une valeur entière, il y a plusieurs solutions en C. La plus propre à mon avis est de déclarer la fonction comme int ma_fonction() est d'ajouter un return valeur_retour en fin de fonction. Pour appeler, ta fonction tu fait valeur=ma_fonction().

Une autre solution est de déclarer ta variable comme globale cf http://arduino.cc/fr/Main/PorteeVariables

Et la dernière solution mais pas la moindre est d'utiliser un pointeur : http://fr.wikibooks.org/wiki/Programmation_C/Pointeurs

Serge
34  International / Français / Re: Mettre les fonctions dans un fichier on: March 19, 2011, 03:32:23 pm
il faut que tu crées un library cf http://www.arduino.cc/en/Hacking/LibraryTutorial

Serge
35  International / Français / Re: Prog : Allumer et éteindre progressivement une del on: March 10, 2011, 10:41:05 am
tout est là : http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284656730

Serge
36  International / Français / Re: Prog : Allumer et éteindre progressivement une del on: March 10, 2011, 09:31:33 am
Bonjour,

tu devrais trouver ton bonheur dans les exemples présent dans l'Arduino : Exemples->Analog->Fading
Pour gerer la durée plus finement cf la fonction millis

Serge
37  International / Français / Re: texte defilant on: March 04, 2011, 12:54:17 pm
Si tu n'as aucune connaissance en programmation C/C++ et que tu débutes avec Arduino, je te conseil d'abandonner (temporairement) ton projet. Il existe plusieurs kits pour débutant qui te permettrons de faire tes gammes progressivement avec des projets plus simple.
Par exemple  :


Serge
38  International / Français / Re: texte defilant on: March 04, 2011, 10:58:20 am
Bonjour,

tu as ce message car tu as 2 fonctions loop dans ton code, la fonction loop correspond à la fonction principale d'un programme Arduino (c'est l'équivalent de la fonction main en C standard) il ne peut y en avoir qu'une.

Serge
39  International / Français / Re: arduino extreme et question TCL on: March 04, 2011, 10:52:37 am
Bonjour,

Théoriquement il n'y a pas de limite au nb de TLC, comme le précise Teiva, il suffit de les chainer cf : http://www.arduino.cc/playground/Learning/TLC5940. Il faut peut être prévoir de les alimenter indépendamment de l'arduino à partir d'un certain nb.

Mon 1er projet avec Arduino  a été une horloge binaire avec des LED RGB et j'ai utilisé 3 TLC sans soucis. Sur le forum anglophone, il y a un thread sur un cube de led 7x7x7 qui utilise 10 TLC (http://arduino.cc/forum/index.php?topic=51421.0)

Serge
40  International / Français / Re: comment faire une fonction "ET/OU" avec une condition ? on: March 01, 2011, 05:07:00 am
bonjour,

juste une petite remarque sur ton code.Tu as mis un delay dans tous tes tests. Ils peuvent être remplacé par un seul delay avant la fin de la boucle.
Pour ce qui est de la question sur la gestion du temps tu peux aller jeter un œil sur http://arduino.cc/forum/index.php/topic,52996.0.html et particulièrement sur la réponse de fdufnews

Serge
41  International / Français / Re: comment faire une fonction "ET/OU" avec une condition ? on: February 26, 2011, 04:22:30 am
Bonjour,

En ce qui concerne la visualisation sur le terminal de tes valeurs est ce que tu règles bien ton terminal à 38400 bauds ?

En suite pour tes tests, certain sont mal conçus et d'autre inutile.
D'abord tu as plein de tests du style (ColorG = 0) c'est une affectation et non un test, il faut les remplacer par des (ColorG == 0)
Si tu regardes le 2 1er tu augmentes ColorR de 1 si colorR <>255 uniquement donc pourquoi faire un test avec colorR=0 ?
plutôt que de multiplier les tests avec des && il est à mon avis plus facile et plus clair de faire des tests sur plusieurs niveaux
Code:
if (digitalRead (Cpluspin) == LOW){
   if  ((colorR !=0) && (ColorG == 0) && (ColorB == 0))
             {
               colorR++;  //identique à ColorR=coloR+1
               }
   if ....

} //fin du if digitalRead 

Et pour finir, mais ça ça n'engage que moi, la plupart de tes niveaux de couleur ne vont pas être décelable à l'œil, il serait à mon avis plus facile de faire un tableau à 2 dimensions (par exemple 32 niveaux de couleurs par 3 composantes RGB. On trouve plein de table de couleur sur internet) définis comme constante et parcourir ton tableau en fonction du bouton activé.

Serge

42  International / Français / Re: mes débuts sur arduino on: February 21, 2011, 07:44:31 am
c'est effectivement bien plus élégant que mon code. Je le garde sous le coude

Serge
43  International / Français / Re: mes débuts sur arduino on: February 21, 2011, 06:33:02 am
Par exemple qq chose comme ça (ça compile mais non testé):

Code:
int brightness1 = 255;    // brillance Led1
int brightness2 = 0;    // brillance Led2
int fadeAmount = 5;    // niveau de fade pour la led2
int LedPin1=13;   //sortie pour la Led1
int LedPin2=9;     //sortie pour la led2
int duree_clignote=10;
int cpt_clignote=0;
int delai=30; //delai pour la boucle principale

void setup()  {
  // declare pin LedPin1 et LedPin2 comme une sortie :
  pinMode(LedPin1, OUTPUT);
  pinMode(LedPin2, OUTPUT);
}

void loop()  {
  // set the brightness of LedPin1 et LedPin2:
  analogWrite(LedPin1, brightness1);
  analogWrite(LedPin2, brightness2);
 

  // change the brightness for next time through the loop:
  brightness2 +=  fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness2 == 0 || brightness2 == 255) {
    fadeAmount = -fadeAmount ;
  } 
  //gestion le clignotement
  if (cpt_clignote > duree_clignote) {
    brightness1 = 0 ;
    if (cpt_clignote > 2*duree_clignote)
    {
      cpt_clignote=0;
    }
  } 
  else
  {
    brightness1 = 255 ;
  } 
  // délai de boucle loop et incrémentation du compteur pour le clignotement
  cpt_clignote++; 
  delay(delai);                           
}

avec ce code tu auras un clignotement sur 2*delai*duree_clignotement=600 ms (300 ms allumé et 300 ms éteint) et la boucle de fade va durée 2*(255/fadeAmount)*delai=3060ms

Serge

44  International / Français / Re: mes débuts sur arduino on: February 21, 2011, 03:56:03 am
bonjour,

ton problème est plus un problème d'algorithme que d'Arduino proprement dit. je vois 2 solutions pour le résoudre :
  • les interruptions et là je passe la main car je suis moi même débutant et je n'ai pas encore regardé comment ça se s'utilisait.
  • des compteurs- Tu inclus dans la loop la gestion de compteurs qui modifient le comportement des tes leds à chaque boucle
par exemple un compteur LED1_clignote qui si il est inférieur à x laisse la led1 allumé et supérieur à x éteint la led, le compteur est remis à 0 qd il vaut 2*x.
un flag led2fade qui s'il vaut 1 provoque l'augmentation de la tension sur ta led2 et la diminution s'il vaut 0. Ce flag étant lié à un compteur pour basculer de l'état 1 à 0

Serge
45  International / Français / Re: Pb avec une horloge DS1307 on: February 09, 2011, 09:03:28 am
Désolé, je n'ai pas eu le temps de faire de test suite au message d'Ekaki, je vois ça dés que je peux.

 pour Snootlab : oui le DS1307 est connecté à une pile 3V.

Serge
Pages: 1 2 [3] 4 5