Je me lance dans le langage arduino pour programmer une bare conductive.
Mon but étant de lancer une piste sonore avec un détecteur de proximité.
Mes différentes pistes sont sur la carte. Le programme de proxi (Proximity_MP3 / Arduino 1.8.4) est sur la carte aussi. Cependant, je souhaite apporter quelques modifications.
Je souhaite réduire au maximum la distance de déclenchement de la piste (presque au contact si c'est possible). Vous allez peut être me demander pourquoi ? > Parce que l'encre conductrice qui déclenchera la piste se trouvera au recto du papier (j'imagine donc que c'est la meilleur solution)
Je souhaite aussi que la piste s'arrête lorsqu'on quitte la zone de proxi. En effet, en l'état, elle se joue entièrement.
J-M-L:
quelle bare conductive? (il y a des tutos sans doute)
Ha oui pardon.
C'est la touch board. Bin j'ai trouvé des tutos mais aucun concernant le son.
J'ai résolu depuis hier le changement de sensibilité de la fonction proximité. Cependant je n'arrive toujours pas à faire play/stop avec la musique. Soit je dois attendre la fin de la piste ou appuyer une nouvelle fois pour l'arrêt.
Il faut regarder un peu les exemples de la librairie SFEMP3Shield utilisée pour jouer les fichiers MP3.
Dans la librairie il y a des méthodes playTrack() et stopTrack()
Vous avez chargé le code source proximity_mp3.ino d'après ce que j'ai compris
dans ce code vous verrez les lignes suivantes
// this is the touch threshold - setting it low makes it more like a proximity trigger
// default value is 40 for touch
MPR121.setTouchThreshold(8);
// this is the release threshold - must ALWAYS be smaller than the touch threshold
// default value is 20 for touch
MPR121.setReleaseThreshold(4);
ça devrait vous aider (si vous ne lisez pas l'anglais du tout, traduisez les commentaires avec google translate par exemple)
fdufnews:
Il regarder un peu les exemples de la librairie SFEMP3Shield utilisée pour jouer les fichiers MP3.
Dans la librairie il y a des méthodes playTrack() et stopTrack()
Oui, l'unique chose que j'arrive à faire c'est toucher pour faire Play et toucher à nouveau pour Stop.
Ce que je souhaite faire c'est : Toucher pour Play et lâcher pour Stop
vinchaudron:
Oui, l'unique chose que j'arrive à faire c'est toucher pour faire Play et toucher à nouveau pour Stop.
Ce que je souhaite faire c'est : Toucher pour Play et lâcher pour Stop
regardez dans le code source, à un endroit ils imprimentSerial.println(" is no longer being touched"); - ce serait éventuellement bien d'arrêter de jouer là musique alors à cet endroit aussi, non ?
et un peu plus haut ils gèrent le changement de musique (donc arrêtent une chanson et lance une autre) en faisant
// if we're already playing a different track (or we're in
// REPLAY_MODE), stop and play the newly requested one
MP3player.stopTrack();
MP3player.playTrack(i-firstPin);
Serial.print("playing track ");
Serial.println(i-firstPin);
// don't forget to update lastPlayed - without it we don't
// have a history
lastPlayed = i;
ça devrait vous indiquer comment arrêter la musique en cours
J-M-L:
Vous avez chargé le code source proximity_mp3.ino d'après ce que j'ai compris
dans ce code vous verrez les lignes suivantes
// this is the touch threshold - setting it low makes it more like a proximity trigger
// default value is 40 for touch
MPR121.setTouchThreshold(8);
// this is the release threshold - must ALWAYS be smaller than the touch threshold
// default value is 20 for touch
MPR121.setReleaseThreshold(4);
ça devrait vous aider (si vous ne lisez pas l'anglais du tout, traduisez les commentaires avec [google translate](https://translate.google.com/#) par exemple)
Oui c'est exact. J'ai trouvé pour le sensibilité de distance.
Cependant j'ai toujours le problème pour lancer et arrêter la piste audio
J-M-L:
regardez dans le code source, à un endroit ils impriment
Serial.println(" is no longer being touched");
ce serait éventuellement bien d'arrêter de jouer là musique alors à cet endroit aussi, non ?
et un peu plus haut ils gèrent le changement de musique (donc arrêtent une chanson et lance une autre) en faisant
// if we're already playing a different track (or we're in
// REPLAY_MODE), stop and play the newly requested one
MP3player.stopTrack();
MP3player.playTrack(i-firstPin);
Serial.print("playing track ");
Serial.println(i-firstPin);
// don't forget to update lastPlayed - without it we don't
// have a history
lastPlayed = i;
ça devrait vous indiquer comment arrêter la musique en cours