- Matériel requis
- Fonctionnement d'un capteur sonore
- Schéma du circuit du capteur sonore
- Schéma du circuit de la fontaine d'eau musicale
- Programmation Arduino Nano pour Dancing Fountain
Il y a plusieurs fontaines d'eau qui saupoudrent inconditionnellement de l'eau avec des effets d'éclairage intéressants. J'ai donc erré pour concevoir une fontaine à eau innovante qui peut répondre à la musique extérieure et arroser de l'eau en fonction des rythmes de la musique. N'est-ce pas intéressant?
L'idée de base de cette fontaine à eau Arduino est de prendre une entrée de toute source sonore externe comme un mobile, un iPod, un PC, etc., échantillonner le son et le décomposer en différentes plages de tension, puis utiliser la sortie pour activer divers relais. Nous avons d'abord utilisé un module de capteur de son basé sur un micro à condensateur pour jouer sur la source sonore afin de diviser les sons en différentes plages de tension. Ensuite, la tension sera envoyée à l'ampli-op pour comparer le niveau sonore avec une limite particulière. La plage de tension la plus élevée correspondra à un interrupteur de relais ON qui comprend une fontaine à eau musicale fonctionnant aux battements et rythmes de la chanson. Nous construisons donc cette fontaine musicale en utilisant Arduino et un capteur de son.
Matériel requis
- Arduino Nano
- Module de capteur sonore
- Module de relais 12 V
- Pompe CC
- LED
- Fils de connexion
- Planche Vero ou Breadboard
Fonctionnement d'un capteur sonore
Le module de capteur de son est une simple carte électronique à base de microphone électret utilisée pour détecter le son externe de l'environnement. Il est basé sur l' amplificateur de puissance LM393 et un microphone électret, il peut être utilisé pour détecter s'il y a un son au-delà de la limite de seuil définie. La sortie du module est un signal numérique qui indique que le son est supérieur ou inférieur au seuil.
Le potentiomètre peut être utilisé pour régler la sensibilité du module capteur. La sortie du module est HIGH / LOW lorsque la source sonore est inférieure / supérieure au seuil défini par le potentiomètre. Le même module de capteur sonore peut également être utilisé pour mesurer le niveau sonore en décibels.
Schéma du circuit du capteur sonore
Comme nous savons que dans un module de capteur sonore, le périphérique d'entrée de base est le microphone qui convertit les signaux sonores en signaux électriques. Mais comme la sortie du signal électrique du capteur de son est si petite en amplitude qui est très difficile à analyser, nous avons donc utilisé un circuit amplificateur à transistor NPN qui l'amplifiera et enverra le signal de sortie à l'entrée non inverseuse de l'Op- amp. Ici LM393 OPAMP est utilisé comme comparateur qui compare le signal électrique du microphone et le signal de référence provenant du circuit diviseur de tension. Si le signal d'entrée est supérieur au signal de référence, la sortie de l'OPAMP sera élevée et vice versa.
Vous pouvez suivre les sections sur les circuits de l'amplificateur opérationnel pour en savoir plus sur son fonctionnement.
Schéma du circuit de la fontaine d'eau musicale
Comme indiqué dans le schéma de circuit de la fontaine musicale ci-dessus, le capteur de son est alimenté par une alimentation de 3,3 V d'Arduino Nano et la broche de sortie du module de capteur de son est connectée à la broche d'entrée analogique (A6) de Nano. Vous pouvez utiliser n'importe quelle broche analogique, mais assurez-vous de la changer dans le programme. Le module de relais et la pompe CC sont alimentés par une alimentation externe de 12 V CC, comme indiqué sur la figure. Le signal d'entrée du module de relais est connecté à la broche de sortie numérique D10 du Nano. Pour l'effet d'éclairage, j'ai choisi deux couleurs différentes de LED et les ai connectées à deux broches de sortie numériques (D12, D11) de Nano.
Ici, la pompe est connectée de telle manière que lorsqu'une impulsion HIGH est donnée à l'entrée du module de relais, le contact COM du relais est connecté au contact NO et le courant obtient un chemin de circuit fermé pour traverser la pompe pour activer le débit d'eau. Sinon, la pompe restera OFF. Les impulsions HIGH / LOW sont générées à partir d'Arduino Nano en fonction de l'entrée sonore.
Après avoir soudé le circuit complet sur perfboard, cela ressemblera à ci-dessous:
Ici, nous avons utilisé une boîte en plastique comme conteneur de fontaine et une mini pompe 5v pour faire office de fontaine, nous avons utilisé cette pompe auparavant dans un robot anti-incendie:
Programmation Arduino Nano pour Dancing Fountain
Le programme complet de ce projet de fontaine à eau Arduino est donné en bas de page. Mais ici, j'explique simplement cela par parties pour une meilleure compréhension:
La première partie du programme consiste à déclarer les variables nécessaires pour attribuer les numéros de broches que nous allons utiliser dans les prochains blocs du programme. Définissez ensuite une constante REF avec une valeur qui est la valeur de référence de pour le module du capteur sonore. La valeur attribuée 700 est la valeur équivalente en octets du signal électrique de sortie du capteur de son.
capteur int = A6; int redled = 12; int greenled = 11; pompe int = 10; #define REF 700
Dans la fonction de configuration vide, nous avons utilisé la fonction pinMode pour attribuer la direction des données INPUT / OUTPUT des broches. Ici, le capteur est pris comme INPUT et tous les autres appareils sont utilisés comme OUTPUT.
void setup () { pinMode (capteur, INPUT); pinMode (redled, OUTPUT); pinMode (vert, OUTPUT); pinMode (pompe, SORTIE); }
À l'intérieur de la boucle infinie, la fonction analogRead est appelée, qui lit la valeur analogique entrée à partir de la broche du capteur et la stocke dans une variable sensor_value .
int sensor_value = analogRead (capteur);
Dans la dernière partie, une boucle if-else est utilisée pour comparer le signal analogique d'entrée avec la valeur de référence. S'il est supérieur à la référence, alors toutes les broches de sortie reçoivent une sortie HIGH afin que toutes les LED et la pompe soient activées, sinon tout reste éteint. Ici, nous avons également donné un délai de 70 millisecondes pour distinguer le temps ON / OFF du relais.
if (sensor_value> REF) { digitalWrite (greenled, HIGH); digitalWrite (redled, HIGH); digitalWrite (pompe, HAUT); retard (70); } else { digitalWrite (greenled, LOW); digitalWrite (redled, LOW); digitalWrite (pompe, LOW); retard (70); }
Voici comment fonctionne cette fontaine à eau contrôlée par Arduino, le code complet avec une vidéo de travail est donné ci-dessous.