Inhaltsverzeichnis:
- Schritt 1: Création Du Circuit Analogique
- Schritt 2: Choix Des Composants
- Schritt 3: Realisation Du PCB
- Schritt 4: Realisation De La Partie Mécanique (Unterstützung Et Instrument)
- Schritt 5: Connexion MCP-Himbeere
- Schritt 6: Erwerb Des Données
- Schritt 7: FFT
- Schritt 8: Generation Du Son
Video: Polyflte - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Le projet Polyflûte besteht aus einem réaliser un instrument de musiquenumérique.
Le but est de créer un instrument de musique respektant des Conditions Particulières; Cet instrument doit être:
-Autonome und tragbare (Batterie, Stapel…)
-Autodidakt (Enseigner à l’utilisateur à partir d’un site internet, le fonctionnement et la construction de l’appareil)
-Auto tune (Produire un son musical à partir une fréquence relevé 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.
Schritt 1: Création Du Circuit Analogique
Notre système sur le prinzip de la détection delumière: On place eine LED und eine Photodiode von Gesicht zu Gesicht getrennt von einem helice propulsé und frei von einem Ventilator. 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 stromkreis est alimenté par 6 stapel wiederaufladbar de 1,2 V soit au insgesamt 7,2 V. Le Circuit d'émission est constitué d'une LED et d'un moteur branché en parallèle (eine Diode zum Schutz eines également été place pour éviter les retours de courants). Le 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 (maximale Frequenz der Rotation de l’hélice).
Schritt 2: Choix Des Composants
Une fois le circuit théorique établit, 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):
LED: SFH 4550
Lüfter: MB40200V1 (5V)
Diode: 1N4001
Fotodiode: SFH 203
AOP: LM358N
KANN: MCP3008
Widerstand R1 (LED): 47 Ohm
Widerstand R2 (Filter 1): 220 Ohm
Widerstand R3 (Filter 2):220 Ohm
Widerstand R4 (Filtre en sortie de Vref): 1 kOhm
Kondensator C1 (Filter): 10nF
Kondensator C2 (Filter): 10nF
Kondensator C3(Filter en sortie de Vref): 5µF
Regulierungsbehörde: 0J7031 reg09b
Stecker 40 Pins
Raspberry PI 2 Modell B
Helice d'Hélicoptère von 3, 8 cm
6 Stapel Akkus 1,2 V
Schritt 3: Realisation 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 und Impression de la carte
- Soudage des Composants
Das Design und die Route de la carte ont été faits sur le logiciel ALTIUM Designer. 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 lang, 5 cm groß). Le routage fut la partie la plus délicate, car la carte étant imprimé en doppelcouche nous devions décidés de la disposition of the connections and couche Top ou Bottom. Une fois la carte imprimée, nous avons soudés les composants sur des support afin de pouvoir enlever les composants en cas de défaillances ou de changements de composants. Nous avons également dû placer sur la carte le connecteur reliant le PCB et la Rasberry. Nous avons for Cela dû Identifier Les Ports SPI de la Rasberry und faire la bonne Korrespondenz mit PCB.
Vous trouverez les fichiers Gerber (Fichier Altium Designer).
Schritt 4: Realisation De La Partie Mécanique (Unterstützung Et Instrument)
Die Rohrbestandteile sind flte est eine Röhre und PVC (Plomberie) mit einem Coupé mit einer Länge von 15 cm und 4, 1 cm Durchmesser. Auf retrouve 4 Trous de 1 cm de diamètre espacé chacun de 2 cm. Ein l'interieur auf retrouve une helice soutenu par une tige en plastique de 2 cm. Le PCB et le tube sont fixés sur une plate en bois à fixé l'aide d'entretoises et de vis. Sur la partie gauche du tube auf einem fixé le ventilateur à l'aide d'un scotch de câble électrique. De l'autre coté, le tube est bouché par a morceau de carton.
- Rohr und PVC
- Plakette en bois d'environ 30 cm x 30 cm
- 4 Entretoises de 3,5 cm
- 4 écrous
- Un interrupteur 2 Positionen klassisch
- Stützen Sie den Stapel
- Karton
Schritt 5: Connexion MCP-Himbeere
Die Verbindung MCP-3008/Rasberry ist essentiell für die Kommunikation, die Übertragung des Données.
Die Verbindung Raspberry/MCP ist mit allen Bildern detailliert.
Die Verbindung s'effectue en bus SPI, der Code d'Initialisierung des Busses est Joint dans les fichiers.
Schritt 6: Erwerb Des Données
Une fois la Raspberry connectée zu einem analogen/numérique konvertierenden Typ MCP3008 zu einem Bus SPI-Betreuer, der keine Wartungsverträge mit den Données Souhaitées macht. 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 faciliter les algorithmes de transformé de Fourier à venir, und plus le nombre de points est élevé plus le signal discret sera précis.
L'acquisition des données ne peut cependant pass se faire de manière aléatoire, en effet la fréquence d'acquisition und 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 respekt 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 timer qui fait appel à notre fonction d'acquisition toutes les 4 ms (Te = 1/Fe = 4 ms). Le Premier Thread de notre program contient donc la fonction du timer qui effectue l'acquisition des données.
Schritt 7: FFT
Une fois le tableau de données d'acquisition rempli, auf dem Effektiver des Transformators von Fourier Discrète für die Rückstrahlung der Frequenz des Signals.
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 content l'amplitude des composantes geht weiter, auf 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 und le nombre de acquis étant 512.
Schritt 8: Generation 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 un sinus directement à partir of the fréquences acquises en les multipliant pour les rendre audible, ou bien associer of fréquences précises aux plages of différentes notre de notre Prototype.
Nous avons testé les deux méthodes und nous avons finalement retenu la seconde plus concluante. Les note jouées sont celle de la gamme 4, cependant les contraintes de notre système nous permet seulement d'avoir 8 plages uniquees et ainsi de jouer 8 verschiedene Noten: Do, Ré, Mi, Fa, Sol, Sol bémol, La et Si.
Enfin vous trouverez les code complets des deux solutions citées au-dessus.