Modifications

Sauter à la navigation Sauter à la recherche
4 516 octets ajoutés ,  20 septembre 2015 à 10:54
Ligne 1 : Ligne 1 :  
{{ARDX-NAV}}
 
{{ARDX-NAV}}
   −
{{traduction}}
+
== Ce que nous faisons ==
 
+
{{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 que faisons nous ==
+
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.
{{bloc-etroit|text=xxx
+
En même temps que contrôler les LEDs, nous allons aussi nous intéresser à quelques méthodes de programmation rudimentaires permettant de garder des programmes petites tailles.
 +
La boucle {{fname|for()}} est utilisée lorsque qu'il est nécessaire d'exécuter un morceau de code plusieurs fois.
 +
Les tableaux {{fname|arrays[]}} sont utilisés pour gérer les variables plus facilement (c'est un groupe de variables).
 
}}
 
}}
   Ligne 12 : Ligne 14 :     
{{ARDX-composant
 
{{ARDX-composant
   |label=Fiche de montage CIRC-01
+
   |label=Fiche de montage CIRC-02
 
   |label2=x1
 
   |label2=x1
 
   |img=ARDX-circ-sheet.png
 
   |img=ARDX-circ-sheet.png
Ligne 33 : Ligne 35 :     
{{ARDX-composant
 
{{ARDX-composant
   |label=Résitance de 560 Ohms (vert-bleu-brun)
+
   |label=Résistance de 560 Ohms (vert-bleu-brun)
   |label2=x1
+
   |label2=x8
 
   |img=ARDX-R560.png
 
   |img=ARDX-R560.png
 
   |pl=43
 
   |pl=43
Ligne 40 : Ligne 42 :     
{{ARDX-composant
 
{{ARDX-composant
   |label=LED (ou DEL)
+
   |label=LED verte (ou DEL)
   |label2=x1
+
   |label2=x8
   |img=ARDX-LED.png
+
   |img=ARDX-LED-Verte.png
 
   |pl=66
 
   |pl=66
 
}}
 
}}
    
{{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 ===
[[Fichier:circ13-schema.png|250px]]
+
[[Fichier:circ02-schema.png|250px]]
    
=== Montage ===
 
=== Montage ===
[[Fichier:cir13-montage.png|800px]]
+
[[Fichier:cir02-montage.png|800px]]
    
== 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>/* code */</nowiki>
+
  <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();
 +
}
 +
 
 +
/*
 +
* 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 ==
 
=== .:téléchargement:. ===  
 
=== .:téléchargement:. ===  
LA fiche de montage est disponible sur ....
+
LA fiche de montage est disponible sur [http://ardx.org/BBLS02 ardx.org/BBLS02]
    
=== .: Vidéo :. ===
 
=== .: Vidéo :. ===
La vidéo du montage est disponible sur [http://ardx.org/VIDE13 ardx.org/VIDE13] (''anglais'')
+
La vidéo du montage est disponible sur [http://ardx.org/VIDE02 ardx.org/VIDE02] (''anglais'')
    
{{ARDX-TRAILER}}
 
{{ARDX-TRAILER}}
29 917

modifications

Menu de navigation