Étape 10 : Arduino et capteur Piezo
Capteurs piezo tourner à pression ou vibrations en charge électrique qui peut être mesurée à l’aide d’une des entrées analogiques de l’Arduino. Le circuit doit être une résistance de 1MOhm câblée en parallèle pour le capteur piezo, avec un côté branché ens ronde, et l’autre reliée l’une broche analogique Arduino (image #1 ci-dessus). Surveillance de la sonde en utilisant le code suivant :
J’ai vu que mon capteur piezo a été stable à environ 0-1 normalement, puis quand je l’ai frappé, il a sauté jusqu'à environ 150 (image #2 ci-dessus). Nous pouvons utiliser le piezo comme un interrupteur en recherchant ces pointes, dans le code ci-dessous, j’ai créer une note MIDI, chaque fois que la broche piézo mesure un signal de plus de 50 ans.
Nous pouvons aussi utiliser la force de la frappe à vitesse de contrôle :
Dans le code ci-dessus, j’ai créé une fonction d’assistance appelée getMaxVal qu’utilise une boucle while pour enregistrer le déplacement maximum de la piezo, afin qu’il peut être utilisé pour définir la vitesse d’un MIDI note. Copiez le code suivant fonctionne en mesurant le piezo et vérifier si la mesure est supérieure à la dernière mesure enregistrée, si elle est alors nous agripper la nouvelle mesure et répétez l’opération. Dès que la nouvelle mesure de la piezo est inférieure à la dernière mesure enregistrée, nous savons que le piezo a atteint son déplacement max et elle continuera à retourner des nombres inférieur et inférieur d’analogRead(), la fonction retourne la valeur max.
Le nombre retourné par getMaxVal() se situe entre 0 et 1023, alors j’ai utilisé une fonction map() il passer à une vitesse de 50 à 127.