Projet audio et sensitif

Bonjour!

J'ai un projet qui me tient à cœur, mais je suis complètement novice. Je n'ai pas soudé ni programmé depuis bien des années, j'espère y arriver, avec votre aide pourquoi pas.

Je souhaite réaliser une sorte d'instrument, un peut comme l Touch me de playtronica.

Je voudrais produire différents sons selon que deux personnes créent une boucle avec l'arduino et selon le type de toucher. Par exemple un son lorsqu'on touche légèrement et brièvement la personne, un autre son lorsqu'on la touche avec plus de surface en massage, un autre en appuyant un peu plus fort dans les tissus...

Je pense qu'il faut réussir à avoir la valeur du voltage qui résulte du contact et de l'utiliser pour créer un programme. En utilisant le facteur temps. Pour ensuite jouer un son. Mais par où commencer ?

J'ai trouvé ce tutoriel, dans lequel il manque quelques infos comme le code, la capacité des condensateurs... Et qui est fait pour produire juste un son au toucher. Moi j'en voudrais plusieurs. Pensez vous que je peux utiliser la même méthode que lui et l'adapter pour mes besoins ?
Voile la vidéo du tuto en question : https://youtu.be/m5PfKb8p1YI

Merci de votre attention et merci pour votre aide !

Nicolas.

:warning: post mis dans la mauvaise catégorie. je l'ai déplacé pour vous pour cette fois. (postez dans la catégorie générale francophone, pas dans les tutos)

Lire les recommandations listées dans "Les bonnes pratiques du Forum Francophone”


Sinon pour bien débuter avec l'arduino, un bon point de départ c'est de lire les tutos d'eskimon et de lire le tuto de base sur le C++ de Zeste de savoir

Une fois que vous maitriserez les bases, vous pourrez revenir à votre projet en comprenant ce que vous faites.

C'est comme le vélo, ça ne se perd pas :wink:

Pour ton projet, la bibliothèque qui va bien pour ça, est CapacitiveSensor.h

et ce petit bout de programme (issu de l'IA)

#include <CapacitiveSensor.h>

// Broches pour le capteur capacitif
CapacitiveSensor capSensor = CapacitiveSensor(4, 2); // 4 = send pin, 2 = receive pin
long threshold = 1000;

void setup() {
	Serial.begin(115200);
}

void loop() {
	long sensorValue = capSensor.capacitiveSensor(30);
	Serial.println(sensorValue);
	if (sensorValue > threshold) {
		// Les personnes se touchent fortement
		} else {
		// Contact faible ou inexistant
	}
	delay(10);
}

Je l'ai essayé, très efficace.
Il suffit de mettre deux bouts de fils sur D2 et sur D4, chaque personne prends un des fils et plus elles se touchent, plus la valeur change dans le moniteur de l'IDE Ardiono (à 115200)
image

Cordialement
jpbbricole

Pas certain que cela coche toutes les cases.
La question porte sur un montage où l'on ferme physiquement une boucle et où les caractéristiques de la boucle influent sur le résultat.
CapacitiveSensor va répondre dès que l'on touche l'une des extrémités même si la boucle n'est pas fermée.

Bonjour fdufnews

J'ai testé dans les conditions de @nicopod62

Je n'ai pas essayé le massage, mais déjà simplement en serrant plus ou moins de surface de l'autre, la mesure affichée dans le moniteur réagit immédiatement.
Il faudra, bien sûre, étalonner le tout:

capSensor.capacitiveSensor(30);

Cordialement
jpbbricole

Merci beaucoup d'avoir déplacé mon post et désolé de m'être trompé.

Je lirai les tuto, merci ! :blush:

Le souci c’est cet étalon qui dépend des personnes et des conditions d’hygrométrie etc

C’est bien pour détecter un changement d’état cela dit

Il pourrait suffire de tester avant le lancement du programme un toucher maximal et minimal puis de régler la sensibilité du code à partir de ces deux valeurs.

Éventuellement

Faut explorer c’est la meilleure façon de déterminer si c’est une bonne solution et puis ça permet de mettre les mains « dans le cambouis » pour voir comment tout cela peut fonctionner.

Merci pour vos pistes. J'ai commandé une arduino nano, le dfplayer et une plaque d'essai. Reste à s'y mettre !

Bonjour !

J’ai avancé sur mon projet. Ca commence à prendre forme. Mais j’ai un souci avec mon montage.

J’ai suivi ce schéma

https://i.postimg.cc/tTKVscF0/IWanna-Hold-Your-Hand-schem.jpg

Mon montage fonctionne très bien lorsque la personne touchant J2 touche J3, mais à l’inverse quand c’est J3 qui touche J2 la valeur descend moins vite et moins bien du coup j’ai du mal à interpréter ma valeur. Je pense qu’il y a un pull down sur J3 mais pas sur J2, mais je ne sais pas comment en ajouter un… Sauriez vous m’aider svp ?

Merci !