Shield 4 moteurs ADAFRUIT 1438 pour Arduino
Fiche technique : http://www.mouser.com/ds/2/737/adafruit ... 932775.pdf
Ce shield pour Arduino permet de commander quatre moteurs analogiques en courant haché, sous une tension maximum de 12 volts, et une intensité allant jusqu'à 1,2 ampères par sortie moteur.
Chacune de ces quatre sorties moteur est réglable, en sens du courant et en tension moyenne, indépendamment des autres, par l'Arduino.
Il est commandé par le bus I2C de l'Arduino, et dispose de 32 adresses possibles pour ce bus, ce qui permet à l'Arduino d'en gérer jusqu'à 32 exemplaires, soit jusqu'à 128 sorties moteur indépendantes.
Les connecteurs à souder
Le gros défaut (au moins pour moi...): il est livré avec les connecteurs en kit, à souder soi-même.
Cela dit, c'est peut-être aussi un avantage, car les connecteurs livrés avec ne sont pas du bon modèle, car ne permettant pas d'empiler d'autres shields par dessus.
[font=Comic Sans Ms]Le shield avec les mauvais_connecteurs[/font]
[font=Comic Sans Ms]Les connecteurs corrects, à commander à part[/font]
[font=Comic Sans Ms]Le shield avec les bons connecteurs (mais sans celui du bus SPI)[/font]
Les branchements
[font=Comic Sans Ms]Les prises à brancher.[/font]
Il faut d'abord procéder bien sûr à la soudure des connecteurs...
On vérifie que l'adresse I2c du shield est correcte (on verra les détails plus loin)
On enfiche le shield sur l’Arduino en vérifiant que les pattes SDA et SCL de l’Arduino et du shield sont bien électriquement reliées.
Ensuite, et dans l'ordre qu'on veut :
Sur le bornier marqué "5-12 volts", on visse les deux fils venant d'une alimentation convenant à ce qu'on va alimenter (Attention au Plus et au Moins !)
- Pour alimenter des cantons : alimentation 12 volts, ou transfo "N" réglé sur 12 volts.
- Pour alimenter des commandes d'aiguillages type "KATO" : alimentation 12 volts.
- Pour alimenter des éclairages : alimentation fixe choisie entre 5 et 12 volts, selon les types d'ampoules.
- Pour alimenter un canton : on relie chacune des deux files de rails à l'une des deux bornes, directement, ou en branchant en série un détecteur de consommation si on veut faire faire du cantonnement à l'Arduino.
Il n'y a aucun danger à brancher ces deux fils au hasard, il faudra juste les inverser si la locomotive démarre dans le mauvais sens. - Pour alimenter une commande d'aiguillage type "KATO" : on branche chacun des deux fils de commande sur une des deux bornes.
Il n'y a aucun danger à brancher ces deux fils au hasard, il faudra juste les inverser si l'aiguillage bascule du mauvais côté. - Pour alimenter un éclairage avec des ampoules à incandescence : on branche chacun des deux fils de commande sur une des deux bornes.
Il n'y a aucun danger à brancher ces deux fils au hasard, et l'éclairage fonctionnera quelque soit le branchement. - Pour alimenter un éclairage avec des LED : on branche chacun des deux fils de commande sur une des deux bornes, mais ...
DANGER ! si le courant circule dans le mauvais sens, il y aura fort risque de destruction des LEDS, sauf si elles sont protégées contre un inversion du sens du courant.
Le bus I2C
Bien qu'inconnu en général du grand public, le bus I2C est extrêmement répandu, et vous en utilisez probablement déjà plusiueurs chaque jour, cachés dans les voitures, téléviseurs, chaînes HI-FI et autres réfrigérateurs et machines à laver.
Il y est utilisé pour faire dialoguer entre eux les différents composants électroniques/informatiques composant tous ces appareils.
Pour ceux qui s'intéressent aux détails de ce bus, en tapant "Bus I2C" dans n'importe quel moteur de recherche, on obtient des dizaines de sites proposant chacun de nombreuses pages d'explications.
Pour les autres, il n'est pas nécessaire de tout connaître, voici ce qu'il suffit de comprendre pour programmer un périphérique quelconque utilisant ce Bus pour dialoguer avec un arduino ou équivalent :
Ce bus comprend deux fils principaux : "SDA" et "SCL" (noms officiels).
Chaque composant utilisant ce bus a une patte "SDA" relié au fil "SDA" et une patte "SCL" relié au fil "SCL".
Il a aussi une troisième patte relié à la masse du composant.
Si des composants ont des masses différentes, ces masses devront être reliées entre elles par un troisième fil.
L'un des composants est le Grand Chef, responsable du bus. En langage informatique, on l'appelle "Le Maître".
Dans notre montage, c'est l’Arduino qui va tenir ce rôle.
Tous les autres composants obéissent au Maître, exécutent les ordres qu'il leur a envoyé et éventuellement, lui renvoient des informations.
En langage informatique, on les appelle "Les Esclaves".(Désolé pour les âmes sensibles...)
Toutes les données (ordres du Maître et renseignements des Esclaves) circulent sur le fil "SDA".
Ce fil joue ainsi le rôle du fil télégraphique d'autrefois, sauf qu'il véhicule des 0 et des 1 au lieu de points et de traits.
[font=Comic Sans Ms]"SDA" : .--- -.-. -... ;Merci, Luky Luke...[/font]
Le fil "SCL", lui, est un fil dit "d'horloge" qui permet à tous les composants de travailler en cadence.
Il joue un peu le même rôle que le type, sur les galères,qui tapait sur ses tambours pour que les rameurs rament en cadence.
Mais pourquoi je pense aux galères, moi subitement ???
[font=Comic Sans Ms]"SCL" : Bong...Bong...Bong...Bong...Bong...; Merci, Asterix...[/font]
Fonctionnement du bus I2C
Pour bien comprendre ce fonctionnement en détails, le mieux est d'aller lire toutes les pages l'expliquant sur le WEB.
Mais dans notre cas, ce n'est pas nécessaire, il suffit d'en comprendre seulement les grandes idées.
Pour cela, on peut faire une analogie :.
Imaginons une très grande usine toute neuve, avec 128 halls numérotés de 0 à 127, et donnant tous sur un très long couloir.
Certains de ces halls, suivant les besoins, vont être occupés par des bureaux, des ateliers,..., chacun avec un responsable. Les autres halls vont être laissés vides.
Chaque responsable est capable de lire (et comprendre, car, de 0 à 128, c'est en notation décimale) le numéro de son hall.
L'arduino , qui est le "Maître", seul a envoyer des ordres aux autres (les "Esclaves"), occupe l'un quelconque de ces halls.
Quand il veut envoyer un ordre à quelqu'un, il rédige cet ordre sur une feuille de papier, la glisse dans une enveloppe, et écrit sur l'enveloppe l'adresse du hall destinataire et au verso l'adresse de son propre hall.
Puis il remet cette enveloppe à un coursier qui fait des allers-retours dans le couloir.
Le coursier présente l'enveloppe à tous les "Esclaves".
Celui qui constate que l'adresse sur l'enveloppe est identique à celle de son hall récupère cette enveloppe, l'ouvre, lit l'ordre et l'exécute ou le fait exécuter par ses employés.
Si une réponse et attendu, l'"Esclave" la rédige sur une feuille qu'il glisse dans une enveloppe avec au recto l'adresse du hall du "Maître", et au verso l'adresse de propre hall.
A suivre .
A lire prochainement :
Modifier l'adresse I2C du shield ADAFRUIT 1438
Programmation du shield ADAFRUIT 1438