Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // Commande de DFPlayer Mini à partir d'un ATtny85 - Horloge interne 8MHz (ne pas oublier de graver la séquence)
- // La présence de parasites sonores a souvent été mentionnés par les utilisateurs de DFPlayer Mini, ce montage et le code, les suppriment
- // Attention le câblage doit être très soigné pour le Player, lorsque l'ampli est utilisé et que le player est monté sur breadboard, un condensateur de 330µF et un autre de 470nF sont
- // montés sur l'alimentation au plus prés du Player, les liaisons doivent être les plus courtes possibles, notamment par l'emploi de pinheaders strapps, les fils dupont doivent être
- // réduits au maximum.
- // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Claude DUFOURMONT +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- //
- // ##################################################################### claude.dufourmont@laposte.net #############################################################################
- //
- // ///////////////////////////////////////////+++++++ YouTube : https://www.youtube.com/channel/UCvr9eb05lJow6N7m3SKqvNw +++++++////////////////////////////////////////////////////
- // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- #include "Arduino.h"
- #include <SoftwareSerial.h>
- #include "DFRobotDFPlayerMini.h"
- #define TX 0
- #define potPin A1
- // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- SoftwareSerial mySoftwareSerial(1,0); // RX, TX
- // Réaffectation des RX/TX pour ne pas avoir de problème lors du téléversement
- // Seul le port TX du Nano est utilisé, le DFPlayer Mini, ne retournant rien dans cette configuration
- // La 1K branchée en série sur le port n'a pas été installée car inefficace, j'ai ajouté une zéner avec résistance pour écrêter le sihnal TX endessous du 5V d'alimentation
- // d'émetteur et collecteur relié au 3,3V de la Nano
- // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- DFRobotDFPlayerMini myDFPlayer;
- byte volumeLevel = 0; //variable for holding volume level
- void setup()
- {
- mySoftwareSerial.begin(9600);
- myDFPlayer.begin (mySoftwareSerial);
- pinMode (TX, OUTPUT);
- // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++On sélectionne une piste et on la fait tourner en boucle++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- myDFPlayer.loop(6); //---------------------------------------------------Sélection de la piste 6 et Lecture en boucle
- delay (1000); //----------------------------------------------------------Tempo pour nécessaire à l'éxécution de la sélection de la piste
- pinMode (TX, INPUT_PULLUP); //---------------------------------------------Une fois la piste sélectionnée, le port TX est positionné en haute impédance
- // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- }
- void loop()
- {
- delay(5);
- pinMode (TX, OUTPUT); //----------------------------------------------------Le port TX est ouvert (positionné en sortie
- volumeLevel = map(analogRead(potPin), 0, 1023, 15, 30); //----------------------------------------------------Calibrage du niveau sonore en fonction de la valeur du potentiomètre
- myDFPlayer.volume(volumeLevel);
- // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- // La valeur de la tempo ci_dessous est tès importante : trop basse (en dessous de 80ms), les cliquetis via la chaine Tx vers Tx réapparaitront dans le HP), trop haute (au dessus
- // de 100ms) la lecture du signal PWM sera trop cadencée et l'effet recherché d'accélération ne sera pas atteint).
- // du potentiomètre sera lu trop cadencé et l'effet voulu d'accélération ne sera pas atteint
- delay(80);
- // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- pinMode (TX, INPUT_PULLUP); //-------------------------------------------Une fois la valeur de volume lue, le port TX est positionné en haute impédance
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement