Le Cerveau - Arduino capacitif

Auteur avatarCyd | Dernière modification 17/06/2021 par Cyd et les Tortues dansent

Une sculpture animée gâce à un Arduino en mode capacitif et un moteur pas à pas

Introduction

Dans le cadre d'une résidence d'artiste, le Fablab de Saint Laurent du Maroni a été amené à collaborer avec un artiste camerounais Dieudonné Fokou afin d'animer certaines de ses sculptures. Cette oeuvre baptisée "le Cerveau" utilise la technique de l'arduino capacitif et un moteur pas à pas. Nous détaillerons ici que le code et le câblage électronique, le reste relevant plus de la soudure à l'arc et de l'artiste.

Matériaux

Outils

Étape 1 - Fabrication du capteur capacitif

Lorsqu'on place notre main sur ou près de la structure métallique, une partie du crâne va s'ouvrir révélant son contenu. La sculpture fait office de capteur capacitif, elle envoie un signal à notre Arduino dès qu'on la touche par comparaison de temps entre l'impulsion qu'elle reçoit sur une entrée réceptrice et l'impulsion de sortie qu'elle envoie sur une autre.


Une résistance de 10 MOhm (au minimum 1 MOhm ) sera nécessaire pour obtenir cet effet et sera placée entre 2 pins de l'Arduino.

Un moteur pas à pas de type Nema 17 activera l'ouverture et la fermeture du crâne et sera piloté par un très bon driver TB6600.




Étape 2 - Bibliothèque Capacitive Sensor

Pour transformer l'Arduino en capteur capacitif, il faut tout d'abord installer la bibliothèque de détection capacitive CapacitiveSensor depuis le logiciel Arduino. Extraire les fichiers dans Documents/Arduino/libraries puis redémarrer l'Arduino.


Pour le contrôle du moteur pas à pas, il est également possible de télécharger une librairie mais on économise de la mémoire en restant simple.

Étape 3 - Câblage et réglage du driver TB6600

On insère une résistance de 10 MOhm entre la pin 4 et 8 de l'Arduino.

La pin 4 nous sert de réception à laquelle est connectée également la structure métallique et la pin 8 de sortie du signal.

Selon le seuil atteint par la mesure, on va activer notre moteur avec le pin 5 (ENA+) et lui donner une direction sur le pin 2 (DIR+).

Le pin 3 (PUL+) nous sert à lui indiquer le nombre de pas.


Sur le TB6600, il y a 6 micro switchs notés de SW1 à SW6. Les 3 premiers SW1 à SW3 ont été laissés à OFF, ce qui permet d'avoir un réglage à 32 micro steps, il faudra jouer avec la vitesse pour obtenir un mouvement fluide.

SW4 et SW5 ont été mis à ON mais pas SW6 pour limiter le courant à 1.5A (0.4A/phase soit 4x0.4=1.6A).


On relie également les 4 fils de notre moteur 17HS15-0404S à notre driver. Comme il y a 2 bobinages, les fils vont par paire (faire le test des fils croisés): noir(A+)/rouge(A-) et vert(B+)/bleu(B-).

Et on relie le (DIR-)/(PUL-)/(ENA-) au GND de l'Arduino.


Étape 4 - Quelques explications du code Arduino

Comment fonctionne le programme, on définit les pins entre lesquels on récupère l’information avec « CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2); ».

On initialise dans la partie setup le pin 8 de notre led comme output, le serial et notre capteur capacitif est mis à off au niveau de l’autocalibration

Dans la boucle loop du programme d’exemple il y a une affectation des variable start avec le temps ( millis ) et une affectation de total1 avec la valeur qui passe dans notre fil capteur capacitif ( cs_4_2.capacitiveSensor(30); )

A la suite plusieurs print au niveau du port série nous fait remonter le temps entre chaque mesure et la valeur obtenue sur notre fil capteur.

Commentaires

Draft