Table des matières:
- Étape 1: Création Du Circuit Analogique
- Étape 2: Choix des composants
- Étape 3: Réalisation Du PCB
- Étape 4: Réalisation De La Partie Mécanique (support Et Instrument)
- Étape 5: Connexion MCP-Framboise
- Étape 6: Acquisition des données
- Étape 7: FFT
- Étape 8: Génération Du Son
Vidéo: Polyflûte : 8 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Le projet Polyflûte consiste à réaliser un instrument de musiquenumérique.
Le but est de créer un instrument de musique respectant des conditions particulières; Cet instrument doit être:
-Autonome et portable (Batterie, pile…)
-Autodidacte (Enseigner à l'utilisateur à partir d'un site internet, le fonctionnement et la construction de l'appareil)
-Auto tune (Produire un son musical à partir d'une fréquence dans l'environnement -alentour)
Le but est donc de réussir à convertir une onde vibratoire, oscillante de la vie courante ou issue d'objets du quotidien en onde sonore et musicale.
Étape 1: Création Du Circuit Analogique
Notre système se base sur le principe de la détection delumière: On place une LED et photodiode face à face séparé par une hélice propulsée en roue libre par un ventilateur. Ainsi le passage d'une pâle devant la photodiode créera un signal de type T. O. R (plutôt proche du sinusoïdale en prenant en compte le temps de réception de la lumière).
Le capteur constitue le cœur de la partie analogique. Nous avons donc décidé de distinguer un circuit d'émission et un circuit de réception. Le circuit est alimenté par 6 piles rechargeables de 1.2 V soit au total 7.2V. Le circuit d'émission est constitué d'une LED et d'un moteur branché en parallèle (une diode de protection a également été placée pour éviter les retours de courants). Le circuit d'émission se constitue d'une photodiode dont le signal est amplifié par un AOP; ainsi que de 2 filtres passe bas d'ordre 1 filtrant à environ 80 Hz (fréquence maximale de rotation de l'hélice).
Étape 2: Choix des composants
Une fois le circuit théorique, on choisit les composants les plus adaptés au montage.
Vous retrouverez ci-dessous les références et valeurs des différents composants (en se basant sur le schéma électronique précédent):
DEL: SFH 4550
Ventilateur: MB40200V1 (5V)
Diode: 1N4001
Photodiode: SFH 203
AOP: LM358N
CAN: MCP3008
Résistance R1 (LED): 47 Ohms
Résistance R2 (Filtre 1): 220 Ohms
Résistance R3 (Filtre 2):220 Ohms
Résistance R4 (Filtre en sortie de Vref): 1 kOhms
Condensateur C1 (Filtre): 10nF
Condensateur C2(Filtre): 10nF
Condensateur C3(Filtre en sortie de Vref): 5µF
Régulateur: 0J7031 reg09b
Connecteur 40 broches
Raspberry PI 2 modèle B
Hélice d'hélicoptère de 3, 8 cm
6 piles rechargeables 1,2 V
Étape 3: Réalisation Du PCB
La réalisation du PCB (Printed Circuit Board) s'est effectuée en plusieurs étapes:
- Le dessin de la carte (Agencement des composants)
- Le routage des composants sur la carte et Impression de la carte
- Soudage des composants
Le dessin et le routage de la carte ont été faits sur le logiciel ALTIUM Designer (logiciel utilisé en entreprise pour le routage de PCB). Nous avons donc dû nous initier au logiciel. Les composants ont été disposés de manière à réduire la taille de la carte (9 cm de long, 5 cm de large). Le routage fut la partie la plus délicate, car la carte étant imprimée en double couche nous devions décidés de la disposition des connexions en couche Top ou Bottom. Une fois la carte imprimée, nous avons soudé les composants sur des supports afin de pouvoir supprimer les composants en cas de défaillances ou de changements de composants. Nous avons également dû placer sur la carte le connecteur dépendant du PCB et de la Rasberry. Nous avons pour cela dû identifier les ports SPI de la Rasberry et faire la bonne correspondance avec le PCB.
Vous trouverez les fichiers Gerber (fichier Altium Designer).
Étape 4: Réalisation De La Partie Mécanique (support Et Instrument)
Le tube constituant la flûte est un tube en PVC (plomberie) qui a été coupé a une longueur de 15 cm et 4, 1 cm de diamètre. On retrouve 4 trous de 1 cm de diamètre espacé chacun de 2 cm. A l'intérieur on retrouve une hélice soutenue par une tige en plastique de 2 cm. Le PCB et le tube sont fixés sur une plaque en bois à fixé l'aide d'entretoises et de vis. Sur la partie gauche du tube on a fixé le ventilateur à l'aide d'un scotch de câble électrique. De l'autre côté, le tube est bouché par un morceau de carton.
- tube en PVC
- plaque en bois d'environ 30 cm x 30 cm
- 4 entretoises de 3, 5 cm
- 4 écrous
- Un interrupteur 2 positions classique
- Support de pile
-Carton
Étape 5: Connexion MCP-Framboise
La connexion MCP-3008/Rasberry est essentielle pour la communication, réception transmission des données.
La connexion Raspberry/MCP est détaillée dans les images.
La connexion s'effectue en bus SPI, le code d'initialisation du bus est joint dans les fichiers.
Étape 6: Acquisition des données
Une fois la Raspberry connectée à un convertisseur analogique/numérique de type MCP3008 à l'aide d'un bus SPI, il faut maintenant acquérir les données souhaitées. Nous ne relevons qu'un type de valeur, l'amplitude de notre signal fréquentielle, sur la chaîne 1 du MCP3008. Ces valeurs sont stockées dans un tableau de taille 512: on choisit une puissance de 2 pour accélérer les algorithmes de transformation de Fourier à venir, et plus le nombre de points est élevé plus le signal discret sera précis.
L'acquisition des données ne peut cependant pas se faire de manière aléatoire, en effet la fréquence d'acquisition et donc la fréquence d'échantillonnage est primordiale. Nous avons déterminé empiriquement que notre signal n'atteignait jamais des fréquences supérieures à 80Hz. Pour respecter Shannon notre fréquence d'échantillonnage doit être supérieure à 160Hz, nous avons choisi une Fe à 250Hz.
Afin d'acquérir les données à cette fréquence, nous avons créé un temporisateur qui fait appel à notre fonction d'acquisition de toutes les 4ms (Te = 1/Fe = 4ms). Le premier thread de notre programme contient donc la fonction du timer qui effectue l'acquisition des données.
Étape 7: FFT
Une fois le fichier de données d'acquisition rempli, on peut effectuer le transformateur de Fourier discret pour retrouver la fréquence du signal.
On use pour cela la bibliothèque GSL qui permet à partir d'un tableau de données, d'avoir le tableau d'amplitude des raies fréquentielles composant ce signal. En écartant la première case du tableau contenant l'amplitude des diviseurs continue, on peut retrouver l'indice i de la fréquence qui a la plus forte amplitude à l'aide de la formule suivante: Freq = i*Fe/(2*Nb_Points).
Notre fréquence d'échantillonnage étant 250Hz et le nombre de points acquis étant 512.
Étape 8: Génération Du Son
Maintenant que l'on a récupéré la fréquence du signal il suffit de générer un sinus pour avoir un son. Deux solutions se sont ouvertes à nous: Émettre sinus directement à partir des fréquences acquises en les multipliant pour les rendre audibles, ou bien s'associer à des fréquences précises aux plages des différentes notes de notre prototype.
Nous avons testé les deux méthodes et nous avons finalement retenu la seconde plus concluante. Les notes jouées sont celle de la gamme 4, cependant les contraintes de notre système nous permet seulement d'avoir 8 plages distinctes et ainsi de jouer 8 notes différentes: Do, Ré, Mi, Fa, Sol, Sol bémol, La et Si.
Enfin vous trouverez les codes complets des deux solutions citées au-dessus.
Conseillé:
Comment fabriquer une antenne double biquade 4G LTE en quelques étapes faciles : 3 étapes
Comment créer une antenne double biquade 4G LTE Étapes faciles : La plupart du temps, je n'ai pas une bonne force de signal pour mes travaux quotidiens. Donc. Je recherche et essaye différents types d'antenne mais ne fonctionne pas. Après une perte de temps, j'ai trouvé une antenne que j'espère fabriquer et tester, car ce n'est pas un principe de construction
Game Design dans Flick en 5 étapes : 5 étapes
Game Design dans Flick en 5 étapes : Flick est un moyen très simple de créer un jeu, en particulier quelque chose comme un puzzle, un roman visuel ou un jeu d'aventure
Système d'alerte de stationnement en marche arrière Arduino - Étapes par étape : 4 étapes
Système d'alerte de stationnement en marche arrière Arduino | Étapes par étape : dans ce projet, je vais concevoir un circuit de capteur de stationnement inversé pour voiture Arduino simple à l'aide d'un capteur à ultrasons Arduino UNO et HC-SR04. Ce système d'alerte de marche arrière basé sur Arduino peut être utilisé pour une navigation autonome, une télémétrie de robot et d'autres r
Détection de visage sur Raspberry Pi 4B en 3 étapes : 3 étapes
Détection de visage sur Raspberry Pi 4B en 3 étapes : dans ce Instructable, nous allons effectuer une détection de visage sur Raspberry Pi 4 avec Shunya O/S en utilisant la bibliothèque Shunyaface. Shunyaface est une bibliothèque de reconnaissance/détection de visage. Le projet vise à atteindre la vitesse de détection et de reconnaissance la plus rapide avec
Miroir de vanité de bricolage en étapes faciles (à l'aide de bandes lumineuses à LED): 4 étapes
Miroir de vanité DIY en étapes faciles (à l'aide de bandes lumineuses à LED) : Dans cet article, j'ai fabriqué un miroir de vanité DIY à l'aide des bandes LED. C'est vraiment cool et vous devez les essayer aussi