ULN2803A regroupe sur un même circuit intégré 7 transistors Darlington, ce qui permet d’alimenter un moteur avec un courant beaucoup plus intense que ce que peut tolérer un microcontrôleur comme l’Arduino.
Commençons par une mise au point importante: l’ULN2003 fonctionne très bien pour des moteurs pas à pas unipolaires (ceux qui sont munis de 5 ou 6 fils), mais il n’est pas du tout conçu pour piloter des moteurs pas à pas bipolaires (ceux qui ne comportent que 4 fils). Pour un moteur bipolaire, il faudra utiliser un autre circuit intégré, comme par exemple le L293D ou le L297. Si j’avais su ça avant, je n’aurais pas perdu quelques heures à tenter sans succès de faire tourner un moteur bipolaire avec ce module!
Quatre connecteurs situés du côté gauche de la carte permettent de brancher les sorties numériques de l’Arduino. Si vous désirez utiliser les exemples fournis avec l’environnement de programmation Arduino, vous branchez la sortie 8 de l’Arduino à l’entrée “IN1”, la sortie 9 à “IN2, la sortie 10 à “IN3”, et la sortie 11 à “IN4”.
Les connecteurs situés dans le bas de la carte, juste en dessous de l’ULN2003 servent à brancher la source de tension qui alimentera le moteur: pas question d’utiliser la sortie 5 volts de l’Arduino car le moteur risquerait de demander beaucoup trop de courant! On suggère ici de 5 à 12 volts, même si l’ULN2803 peut en principe tolérer jusqu’à 30 V (en dépassant 12 V, je suppose qu’on risquerait de griller les LEDs indicatrices présentes sur la carte).
Il ne reste plus qu’à brancher le moteur, ce qui n’est pas tout à fait évident si votre moteur provient d’une vieille imprimante et que vous ne disposez d’aucune documentation à son sujet. Au moyen d’un multimètre, vous pourrez probablement identifier le fil qui est commun aux deux bobines: c’est celui qui présente la plus faible résistance électrique par rapport aux autres fils.