Comment utiliser un moteur pas à pas et une carte Arduino pour créer un bras robotisé ? L’article détaille la création d’un « bras » qui permet d’appuyer sur un bouton à l’heure souhaitée. Exemple d’utilisation : un appareil ménager ne disposant pas de programmateur et qu’on souhaite mettre en marche quelques heures plus tard.
Le matériel nécessaire
- Moteur pas à pas (step by step motor) + son module pilote ULN2003
- Une carte Arduino Uno
- Fils de connexion
- Un support quelconque (pour ma part, un assez fin et tout de même assez lourd, pour pouvoir être facilement glissé sur l’appareil à mettre en marche et que le tout soit stable).
Le montage
Voici le schéma du montage, entre le moteur, le driver et la carte Arduino :
En photo :
Au niveau bricolage, la carte Arduino est vissée sur le support et le module pilote cloué sur le côté, afin de ne pas prendre trop de place sur le dessus.
Le code pour faire tourner le moteur du bras robotisé
[pastacode lang= »cpp » manual= »%2F%2F%20BRAS%20ROBOTISE%20ARDUINO%20AVEC%20MOTEUR%20PAS%20A%20PAS%0A%20%23include%20%3CStepper.h%3E%0A%20%23define%20STEPS%20100%0A%20%0A%20%20Stepper%20small_stepper(STEPS%2C%208%2C%2010%2C%2011%2C%209)%3B%20%20%20%20%20%2F%2F%20Sens%20horaire%0A%20%0A%20%20int%20%20Steps2Take%20%3D%200%3B%20%20%2F%2F%20Nombre%20de%20pas%20de%20rotation%20demand%C3%A9%20au%20moteur%0A%20%20long%20temps%20%3D%200%3B%20%20%20%20%20%20%20%20%20%20%2F%2F%20Dur%C3%A9e%20de%20rotation%20pour%20un%20tour%0A%20%20int%20mvt_effectue%20%3D%200%3B%20%2F%2F%20Variable%20pour%20que%20le%20moteur%20n’avance%20qu’une%20seule%20fois%0A%20%20int%20minuteur%20%3D%204000%3B%20%2F%2F%20Minuteur%20en%20millisecondes%20avant%20le%20mouvement%20du%20bras%20robotis%C3%A9%0A%0Avoid%20setup()%0A%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20Serial.begin(9600)%3B%0A%20%20%7D%0A%0Avoid%20loop()%0A%20%20%7B%0A%20%20Serial.println(%22Moteur%20en%20marche%20%22)%3B%20%0A%20%20small_stepper.setSpeed(50)%3B%20%2F%2F%20Vitesse%20de%20rotation%20du%20moteur%0A%0A%20if(mvt_effectue%20%3D%3D%200)%0A%20%7B%0A%20%20%20%20delay(minuteur)%3B%0A%20%20%20%20Steps2Take%20%20%3D%2064%3B%0A%20%20%20%20small_stepper.step(Steps2Take)%3B%20%20%2F%2FCa%20tourne%0A%20%20%20%20mvt_effectue%20%3D%201%3B%0A%20%7D%0A%20%7D » message= » » highlight= » » provider= »manual »/]
Une fois la pile branchée, le moteur effectue un « arc de cercle », à configurer correctement pour que le bras robotisé appuie sur le bouton souhaité (exemple : lave-vaisselle, lave-linge, …).
Le code peut ensuite être modifié pour introduire un délai avant la mise en marche du moteur (exemple : 2h, il suffit alors de brancher la pile 2h avant l’heure de déclenchement souhaitée).
Le résultat en photo :
Ce code pour Arduino, combiné au moteur pas à pas, crée un bras robotisé et un programmateur DIY qui vous permet de programmer l’heure de mise en route d’appareils qui n’en sont pas pourvus au départ.
Commentez pour toute remarque ou question !