Bonjour à tous,
J'essaye d'utiliser la librairie CapacitiveSensor.h afin de transformer un objet conducteur en bouton lançant un fichier MP3.
Dans un premiers temps j'ai débuté avec l'exemple donné avec la librairie CapacitiveSensor Arduino Library with Teensy, for Capacitive Touch and Promimity Sensing et cela fonctionnait très bien, la performance était proche de 0ms.
Dans un second temps j'ai ajouté le code pour la lecture du fichier MP3. Toujours aucun problème.
Et après quelques heures, la performance est montée à 1300ms pour 1 capteur à 3200 pour 3 capteurs... Même après un retour au code d'origine fourni avec la librairie je n'arrive pas à la faire redescendre.
Auriez-vous une idée de l'origine du problème ?
En vous remerciant par avance !
Arduino Nano ATMega238P
#include <CapacitiveSensor.h>
/*
* CapitiveSense Library Demo Sketch
* Paul Badger 2008
* Uses a high value resistor e.g. 10M between send pin and receive pin
* Resistor effects sensitivity, experiment with values, 50K - 50M. Larger resistor values yield larger sensor values.
* Receive pin is the sensor pin - try different amounts of foil/metal on this pin
*/
CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2); // 10M resistor between pins 4 & 2, pin 2 is sensor pin, add a wire and or foil if desired
CapacitiveSensor cs_4_6 = CapacitiveSensor(4,6); // 10M resistor between pins 4 & 6, pin 6 is sensor pin, add a wire and or foil
CapacitiveSensor cs_4_8 = CapacitiveSensor(4,8); // 10M resistor between pins 4 & 8, pin 8 is sensor pin, add a wire and or foil
void setup()
{
cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF); // turn off autocalibrate on channel 1 - just as an example
Serial.begin(9600);
}
void loop()
{
long start = millis();
long total1 = cs_4_2.capacitiveSensor(30);
long total2 = cs_4_6.capacitiveSensor(30);
long total3 = cs_4_8.capacitiveSensor(30);
Serial.print(millis() - start); // check on performance in milliseconds
Serial.print("\t"); // tab character for debug windown spacing
Serial.print(total1); // print sensor output 1
Serial.print("\t");
Serial.print(total2); // print sensor output 2
Serial.print("\t");
Serial.println(total3); // print sensor output 3
delay(10); // arbitrary delay to limit data to serial port
}