Ligne 1 : |
Ligne 1 : |
| {{ARDX-NAV}} | | {{ARDX-NAV}} |
| | | |
− | {{traduction}}
| + | == Ce que nous faisons == |
− | | |
− | == Ce que faisons nous == | |
| | | |
| '''.: 8 Leds de plus :.''' | | '''.: 8 Leds de plus :.''' |
Ligne 54 : |
Ligne 52 : |
| |label=LED (ou DEL) | | |label=LED (ou DEL) |
| |label2=x8 | | |label2=x8 |
− | |img=ARDX-LED.png | + | |img=ARDX-LED-red.png |
| |pl=66 | | |pl=66 |
| }} | | }} |
Ligne 72 : |
Ligne 70 : |
| | | |
| {{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 141 : |
Ligne 140 : |
| | | |
| == Faire encore mieux == | | == Faire encore mieux == |
− | === zzz 1 === | + | === Le faire à la dure! === |
− | zzzz
| + | Un Arduino est capable de faire des choses assez complexes très facilement, envoyer des données bit par bit fait partie de ses possibilités. |
| + | |
| + | Cependant, une des particularités intéressantes d'Arduino est que vous pouvez implémenter vos projets de façon simple ou compliquée en fonction de vos souhaits. |
| + | |
| + | Essayons donc un exemple dans cette optique. Dans la fonction loop, remplacez la ligne de code {{fname|updateLEDs(i);}} par {{fname|updateLEDsLong(i);}} |
| + | |
| + | Chargez le programme et notez que rien n'a changé. Si vous regardez au code, vous pouvez voir qu'il communique un bit à la fois au circuit intégré ([http://ardx.org/SPI ardx.org/SPI] pour plus de détails) (''en anglais'') |
| + | |
| + | === Contrôler les LEDs individuellement === |
| + | Il est temps de contrôler les LEDs d'une façon identique à celle employée dans le montage CIRC02. |
| + | |
| + | Les états des 8 LEDs sont alors stockés dans un octet (une valeur en 8 bits). Pour plus de détails sur son fonctionnement, voyez [http://ardx.org/BINA ardx.org/BINA]. |
| + | |
| + | Arduino est très bon pour manipuler les bits et il dispose d'un ensemble complet d'opérateurs bien utiles pour ces tâches. |
| + | |
| + | Pour plus de détails sur les mathématiques binaires ( http://ardx.org/BITW ). |
| + | |
| + | {{underline|Notre implémentation:}} |
| + | |
| + | Remplacer le code de la fonction {{fname|loop()}} par |
| + | |
| + | <nowiki>int delayTime = 100; //nbre de ms à attendre |
| + | // entre deux mise-à-jour des LEDs |
| + | for(int i = 0; i < 8; i++){ |
| + | changeLED(i,ON); |
| + | delay(delayTime); |
| + | } |
| + | |
| + | for(int i = 0; i < 8; i++){ |
| + | changeLED(i,OFF); |
| + | delay(delayTime); |
| + | }</nowiki> |
| + | |
| + | Chargez le code et les LEDs s'allument les unes après les autres puis s'éteignent de façon similaire. |
| + | |
| + | Jetez un oeil sur le code et Wikipedia pour comprendre comment cela fonctionne, ou envoyez-nous un e-mail si vous avez des questions (''anglais''). |
| + | |
| + | === Plus d'animations === |
| + | Maintenant les choses deviennent plus intéressantes. Si vous regardez au code du circuit CIRC02 (Jeu à 8 LEDs), vous pouvez voir que nous changeons les LEDs en utilisant {{fname|digitalWrite(led, state)}} qui a le même format que la routine {{fname|changeLED(led, state)}} que nous avons écrit. |
| + | |
| + | Vous pouvez utiliser l'animation écrite lors de CIRC02 en copiant le code dans ce sketch et en changeant tous les {{fname|digitalWrite()}} par {{fname|changeLED()}} . |
| + | |
| + | Puissant non? |
| + | |
| + | <small>(Vous aurez aussi besoin de changer quelques autres petites choses, consultez les erreurs de compilation pour savoir ce qu'il faut adapter).</small> |
| | | |
| == Plus, plus et encore plus == | | == Plus, plus et encore plus == |