Modifications

Sauter à la navigation Sauter à la recherche
3 634 octets ajoutés ,  20 septembre 2015 à 10:54
Ligne 1 : Ligne 1 :  
{{ARDX-NAV}}
 
{{ARDX-NAV}}
   −
{{traduction}}
+
== Ce que nous faisons ==
 
  −
== Ce que faisons nous ==
   
{{bloc-etroit|text=Jusque là, nous avons fait clignoter une LED, il est maintenant temps d'augmenter les enjeux. Connectons donc huit LEDs. Nous allons aussi avoir l'opportunité de tirer un maximum d'Arduino en créant différentes séquences lumineuses.
 
{{bloc-etroit|text=Jusque là, nous avons fait clignoter une LED, il est maintenant temps d'augmenter les enjeux. Connectons donc huit LEDs. Nous allons aussi avoir l'opportunité de tirer un maximum d'Arduino en créant différentes séquences lumineuses.
 
Ce circuit est aussi un bon point de départ pour commencer à faire vos expériences en écrivant vos propres programmes et pour essayer de comprendre comment fonctionne Arduino.
 
Ce circuit est aussi un bon point de départ pour commencer à faire vos expériences en écrivant vos propres programmes et pour essayer de comprendre comment fonctionne Arduino.
Ligne 51 : Ligne 49 :     
{{ARDX-composant-end}}
 
{{ARDX-composant-end}}
 +
Tous ces éléments sont disponibles dans [http://shop.mchobby.be/product.php?id_product=11 le Kit Ardx proposé sur shop.mchobby.be].
    
=== Schéma ===
 
=== Schéma ===
Ligne 59 : Ligne 58 :     
== Le code ==
 
== Le code ==
xxx
+
Pas besoin de tout taper, vous pouvez télécharger le code depuis [http://ardx.org/CODE02 ardx.org/CODE02].
 +
 
 +
Un fantastique exemple du site arduino.cc
 +
 
 +
<nowiki>// Variables pour les pins des LEDs
 +
int ledPins[] = {2,3,4,5,6,7,8,9};
 +
 
 +
// Un tableau pour mémoriser chacune des pins
 +
// auxquelles une LED est connectée
 +
// Ex : La LED N° 0 est connectée à la pin 2
 +
void setup()
 +
{
 +
  for(int i = 0; i < 8; i++){
 +
      //Cette boucle va se répéter 8 fois
 +
      pinMode(ledPins[i],OUTPUT);
 +
      //nous l'utilisons pour mettre les pins des
 +
      //LED en mode output
 +
  }
 +
}
 +
 
 +
void loop() // s'exécute encore et encore
 +
{
 +
  //Va allumer chaque LED une après l'autre
 +
  //et ensuite éteind chacune d'entre elles
 +
  oneAfterAnotherNoLoop();
 +
 
 +
  //oneAfterAnotherLoop();
 +
  //Fait le même que onAfterAnotherNoLoop
 +
  //mais avec moins d'instructions
 +
  //oneOnAtATime();
 +
  //inAndOut();
 +
}
   −
  <nowiki>/* code */</nowiki>
+
/*
 +
* oneAfterAnotherNoLoop() - allume une LED puis
 +
* attend (delayTime) puis allume la LED suivante.
 +
  * puis éteint une à une toutes les LEDs */
 +
void oneAfterAnotherNoLoop(){
 +
  int delayTime = 100;
 +
  //temps de pause entre 2 LED (en millisecondes)
 +
  digitalWrite(ledPins[0], HIGH); //allume LED #0 (connectée à la pin 2)
 +
  //attend delayTime millisecondes
 +
  delay(delayTime);
 +
 
 +
  ...
 +
  ...
 +
  digitalWrite(ledPins[7], HIGH); //allume LED #7 (connectée à la pin 9)
 +
  //attend delayTime millisecondes
 +
  delay(delayTime);
 +
 
 +
  //éteind chacune des LEDs
 +
  digitalWrite(ledPins[7], LOW); //éteind LED #7
 +
  //attend delayTime millisecondes
 +
  delay(delayTime);
 +
  ...
 +
 
 +
  ---plus de code dans la version téléchargeable---
 +
</nowiki>
    
== Cela ne fonctionne pas? ==
 
== Cela ne fonctionne pas? ==
 
Voici 3 choses à essayer.
 
Voici 3 choses à essayer.
=== xxx 1 ===
+
=== Certaines LEDs ne s'allument pas? ===
yyyy
+
Il est facile d'insérer une LED dans le mauvais sens.
 +
Vérifiez les LEDs qui ne fonctionnent pas et assurez vous qu'elles sont connectées correctement.
   −
=== xxx 2 ===
+
=== La séquence affichée est incorrecte ? ===
yyyy
+
Avec 8 fils, il est facile d'en intervertir deux.
   −
=== xxx 3 ===
+
Vérifiez que la première LED est connectée sur la pin 2 (et que les raccordements se suivent correctement)
yyyy
+
 
 +
=== Tout recommencer ===
 +
Il est très facile de faire un mauvais raccordement sans s'en rendre compte.
 +
 
 +
Tout démonter et recommencer le montage à nouveau est souvent plus facile que d'essayer de trouver la cause du problème.
    
== Faire encore mieux ==
 
== Faire encore mieux ==
=== zzz 1 ===
+
=== Modifier la fonction loop() ===
zzzz
+
La fonction {{fname|loop()}} contient 4 lignes.
 +
 
 +
Les trois dernières commencent par '//'. Cela signifie que les lignes sont traitées comme des commentaires (non exécutées).
 +
 
 +
Pour que le programme utilise la boucle for, modifier les code de {{fname|loop()}} comme suit :
 +
 
 +
<nowiki>//oneAfterAnotherNoLoop();
 +
oneAfterAnotherLoop();
 +
//oneOnAtATime();
 +
//inAndOut();</nowiki>
 +
 
 +
Charger le code et noter que rien n'a changé. Jetez un oeil au code des deux fonctions, chacune d'elles fait la même chose, mais utilise une approche différente (astuce: la seconde fonction utilise une boucle for ).
 +
 
 +
=== Animations supplémentaires ===
 +
Fatigué par cette animation ?
 +
 
 +
Alors essayez les deux autres exemples d'animations. Retirer le commentaire de leur ligne respective et charger le programme sur la carte Arduino pour profiter de ces nouvelles animations lumineuses.
 +
 
 +
(effacer les doubles slashs '//' au début de la 3ième et 4ieme ligne).
 +
 
 +
=== Testez vos propres animations ===
 +
Utilisez le code fourni et commencez à modifier les choses. Le principal, c'est d'allumer une LED en utilisant {{fname|digitalWrite(pinNumber, HIGH);}} et ensuite de l'éteindre en utilisant {{fname|digitalWrite(pinNumber,LOW);}} .
 +
 
 +
Modifiez le code, pas besoin de faire vraiment attention, de toute façon, vous n'endommagerez rien.
    
== Plus, plus et encore plus ==
 
== Plus, plus et encore plus ==
 
Plus d'information, où poser vos autres questions:
 
Plus d'information, où poser vos autres questions:
   −
[http://ardx.org/CIRC13 ardx.org/CIRC13] (''anglais'')
+
[http://ardx.org/CIRC02 ardx.org/CIRC02] (''anglais'')
    
== Internet ==
 
== Internet ==
29 917

modifications

Menu de navigation