Différences entre versions de « ARDX-Montages-CIRC05 »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 80 : Ligne 80 :
  
 
== Le code ==
 
== Le code ==
xxx
+
Pas besoin de taper tout le code, vous pouvez le télécharger depuis [http://ardx.org/CODE05 ardx.org/CODE05] puis faire un copier/coller dans un croquis vide.
  
  <nowiki>/* code */</nowiki>
+
  <nowiki>//    Définition des broches
 +
// Le 74HC595 utilise un protocole appelé SPI.
 +
// Ce protocole utilise 3 broches
 +
int data = 2;
 +
int clock = 3;
 +
int latch = 4;
 +
 
 +
void setup() //Exécuté une fois seulement
 +
{
 +
  pinMode(data, OUTPUT);
 +
  pinMode(clock, OUTPUT);
 +
  pinMode(latch, OUTPUT); }
 +
 
 +
 
 +
void loop() // s'exécute encore et encore
 +
{
 +
  int delayTime = 100;  //temps entre deux mise-à-jour des LEDs
 +
 
 +
  for(int i = 0; i < 256; i++){
 +
      updateLEDs(i);
 +
      delay(delayTime);
 +
  }
 +
}
 +
 
 +
/*
 +
* updateLEDs() - Envoi l'état des LEDs. Envoi
 +
* la séquence de valeurs au 74HC595
 +
*/
 +
void updateLEDs(int value){
 +
  //Met le latch à LOW sur la puce
 +
  digitalWrite(latch, LOW);
 +
 
 +
  //envoi les 8 bits au registre à décalage
 +
  shiftOut(data, clock, MSBFIRST, value);
 +
 
 +
  //Met le latch à HIGH pour afficher les données
 +
  digitalWrite(latch, HIGH);
 +
}
 +
 
 +
---------- Plus de code en ligne ----------</nowiki>
  
 
== Cela ne fonctionne pas? ==
 
== Cela ne fonctionne pas? ==

Version du 12 septembre 2015 à 20:11


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.
Page-under-construction.pngPage(s) en cours de traduction/élaboration.

Page(s) under translation/construction

Ce que faisons nous

.: 8 Leds de plus :.

.: Le registre à décalage 74HC595 :.'

C'est le moment de jouer avec les puces, ou circuits intégrés (CI, IC en anglais) comme ils sont appelés.

Le boitier des circuits intégrés peut être fort trompeur. Par exemple, la puce sur la carte Arduino (un micro-contrôleur) et la puce que nous utilisons pour ce montage (le registre à décalage) se ressemblent beaucoup mais ils sont pourtant assez différents.

Le prix de la puce ATMega utilisée sur la carte Arduino coûte quelques Euro tandis que le 74HC595 ne coûte que quelques dizaines de cents. C'est un bon CI d'introduction, et une fois que vous vous sentirez à l'aise avec ce matériel et sa fiche technique (disponible en ligne sur ardx.org/74HC595) le monde des circuits intégrés vous appartiendra.

Le registre à décalage (aussi appelé convertisseur série vers parallèle), vous procurera 8 sorties supplémentaires (pour contrôler des LEDs et autres) en utilisant seulement 3 broches d'Arduino.

Ils peuvent aussi être raccordés ensembles pour fournir un nombre illimité de sorties en utilisant les mêmes quatre broches. Pour l'utiliser, vous poussez les données (clock in) pour ensuite les bloquer/mémoriser dedans ( latch ).

Pour y arriver, vous placez la broche data à HIGH ou LOW et vous envoyez une impulsion sur la broche clock jusqu'à avoir envoyé 8 bits de données.

Ensuite, vous envoyez une impulsions sur la broche latch et les 8 bits sont transférés vers les broches du registre à décalage.

Cela semble compliqué mais devient réellement simple une fois que vous l'avez compris (pour une explication plus détaillée du fonctionnement du registre à décalage, visitez ardx.org/SHIF (anglais)

Le montage

Le matériel nécessaire

ARDX-circ-sheet.png

Fiche de montage CIRC-05
x1

ARDX-pin-header.png

2 Pin header
x4

ARDX-LED.png

LED (ou DEL)
x8

ARDX-R560.png

Résistance de 560 Ohms (vert-bleu-brun)
x8

ARDX-74HC595.png

Registre à décalage 74HC595
x1

 

Schéma

Circ05-schema.png

Montage

Cir05-montage.png

Le code

Pas besoin de taper tout le code, vous pouvez le télécharger depuis ardx.org/CODE05 puis faire un copier/coller dans un croquis vide.

//    Définition des broches
// Le 74HC595 utilise un protocole appelé SPI.
// Ce protocole utilise 3 broches
int data = 2;
int clock = 3;
int latch = 4;

void setup() //Exécuté une fois seulement
{
   pinMode(data, OUTPUT);
   pinMode(clock, OUTPUT);
   pinMode(latch, OUTPUT); }


void loop() // s'exécute encore et encore
{
   int delayTime = 100;  //temps entre deux mise-à-jour des LEDs

   for(int i = 0; i < 256; i++){
      updateLEDs(i);
      delay(delayTime);
   }
}

/*
 * updateLEDs() - Envoi l'état des LEDs. Envoi
 * la séquence de valeurs au 74HC595
 */
void updateLEDs(int value){
   //Met le latch à LOW sur la puce
   digitalWrite(latch, LOW);

   //envoi les 8 bits au registre à décalage
   shiftOut(data, clock, MSBFIRST, value);

   //Met le latch à HIGH pour afficher les données
   digitalWrite(latch, HIGH);
}

---------- Plus de code en ligne ----------

Cela ne fonctionne pas?

Voici 3 choses à essayer.

xxx 1

yyyy

xxx 2

yyyy

xxx 3

yyyy

Faire encore mieux

zzz 1

zzzz

Plus, plus et encore plus

Plus d'information, où poser vos autres questions: ardx.org/CIRC05 (anglais)

Internet

.:téléchargement:.

LA fiche de montage est disponible sur ardx.org/BBLS05

.: Vidéo :.

La vidéo du montage est disponible sur ardx.org/VIDE05 (anglais)


Tutoriel/Manuel traduit par Meurisse D. pour MCHobby.be licence Creative Commons BY-SA.

Crédit de traduction
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (shop.MCHobby.be) - Vente de kit et composants » et ce quelque soit le média utilisé.

Utilisation commerciale
L'utilisation commercial de cette traduction (y compris sur site produisant des revenus par l'intermédiaire de publicité), même partielle, est soumise à redevance (license fee).


Le présent manuel a été traduit et autorisé à la vente avec l'aimable autorisation conjointe de Oomlout (www.oomlout.com) et d'AdaFruit (www.adafruit.com).

Produit sous licence Creative Commons BY-SA License and available for download: ardx.org/src/