Cuprins:

Polyflûte: 8 pași
Polyflûte: 8 pași

Video: Polyflûte: 8 pași

Video: Polyflûte: 8 pași
Video: Расслабляющая Музыка Флейта, Музыка для снятия стресса, Музыка Медитации, Нежная Музыка, ☯2089 2024, Decembrie
Anonim
Polyflûte
Polyflûte

Le projet Polyflûte consiste în realizarea unui instrument de muzică numerică.

Le but est de créer un instrument de musique respectant des conditions particulières; Acest instrument trebuie să fie:

-Autonome et portable (Batterie, pile …)

-Autodidacte (Enseigner à l’utilisateur à partir d’un site internet, funcționarea și construcția aparatului)

-Auto tune (Produce un son musical à partir une fréquence relevé dans l’environnement -alentour)

Le but est donc de réussir à convertir une où vibratoire, oscillante de la vie courante ou issue d’objets du quotidien en unde sonore et musicale.

Pasul 1: Création Du Circuit Analogique

Création Du Circuit Analogique
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é 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 constituie le coeur de la partie analogique. Nous avons donc décidé de distinguer un circuit d'émission și 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 is constitué d'une LED and d'un engine branché in parallèle (une diode de protection a also been placée pour éviter les retours de courants). Le circuit d'émission se constituie dintr-o fotodiodă dont the signal is amplified par a AOP; ainsi que de 2 filtres passe bas d’ordre 1 filtrant à environ 80 Hz (fréquence maximale de rotation de l'hélice).

Pasul 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 (în se bazează pe schema electronică precedentă):

LED: SFH 4550

Ventilator: MB40200V1 (5V)

Diodă: 1N4001

Fotodiodă: SFH 203

AOP: LM358N

CAN: MCP3008

Rezistență R1 (LED): 47 Ohmi

Rezistență R2 (Filtre 1): 220 Ohmi

Rezistență R3 (Filtre 2): 220 Ohmi

Rezistență R4 (Filtre în ieșire de Vref): 1 kOhms

Condensateur C1 (Filtre): 10nF

Condensateur C2 (Filtre): 10nF

Condensateur C3 (Filtre în sortie de Vref): 5µF

Régulateur: 0J7031 reg09b

Connecteur 40 pini

Raspberry PI 2 Model B.

Hélice d'hélicoptère de 3, 8 cm

6 piloți reîncărcabili 1,2 V

Pasul 3: Réalisation Du PCB

Réalisation Du PCB
Réalisation Du PCB
Réalisation Du PCB
Réalisation Du PCB

Realizarea du PCB (Printed Circuit Board) s-a realizat în mai multe etape:

- Le dessin de la carte (Agencement des composants)

- Le routage des composants sur la carte și Impression de la carte

- Soudage des composants

Le dessin et le routage de la carte ont été faits sur le logiciel ALTIUM Designer (logiciel used in 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 the size 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é en double couche nous devions décidés de la disposition des connections en couche Top ou Bottom. Une fois la carte imprimée, nous avons soudés les composants sur des supports afin de pouvoir enlever les composants in cas de défaillances ou de changements de composants. Am avut și noi plăcerea pe carte, conectorul reliant la PCB și la Rasberry. Nous avons pour cela dû identifier les ports SPI de la Rasberry et faire la bonne correspondance avec le PCB.

Veți găsi fișierele Gerber (fișier Altium Designer).

Pasul 4: Réalisation De La Partie Mécanique (suport Et Instrument)

Réalisation De La Partie Mécanique (suport Et Instrument)
Réalisation De La Partie Mécanique (suport Et Instrument)
Réalisation De La Partie Mécanique (suport Et Instrument)
Réalisation De La Partie Mécanique (suport Et Instrument)
Réalisation De La Partie Mécanique (suport Et Instrument)
Réalisation De La Partie Mécanique (suport Et Instrument)

Le tube constitutive la flûte este un tube in PVC (plomberie) qui a fost coupé a une longueur de 15 cm și 4, 1 cm de diametru. On retrouve 4 trous de 1 cm de diamètre espacé chacun de 2 cm. A l'intérieur on retrouve une hélice soutenu 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 cablu electric. De l'autre côté, le tube est bouché par un morceau de carton.

- tub din PVC

- plaque en bois d'environ 30 cm x 30 cm

- 4 entretoises de 3, 5 cm

- 4 ecrous

- Un interrupteur 2 positions classique

- Suport de grămadă

- Cutie de carton

Pasul 5: Conectare MCP-Raspberry

Conectare MCP-Raspberry
Conectare MCP-Raspberry
Conectare MCP-Raspberry
Conectare MCP-Raspberry
Conectare MCP-Raspberry
Conectare MCP-Raspberry

Conexiunea MCP-3008 / Rasberry este esențială pentru comunicare, recepție de transmitere a datelor.

Conexiunea Raspberry / MCP este detaliată în imagini.

La connection s'effectue en bus SPI, le code d'initialisation du bus est joint dans the files.

Pasul 6: Achiziționarea datelor

Une fois la Raspberry connectée to a 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 faciliter les algorithmes de transformé 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, în effect the fréquence d'acquisition și donc the fréquence d'échantillonnage est primordiale. Noi am determinat în mod empiric că nu ne semnalăm niciodată cu frecvențe superioare la 80Hz. Pour respecter Shannon notre fréquence d'échantillonnage must be 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 function d'acquisition tous les 4ms (Te = 1 / Fe = 4ms). Primul thread al programului nostru conține astfel funcția timerului care efectuează achiziția datelor.

Pasul 7: FFT

Une fois le tableau de données d'acquisition rempli, on peut effectuer the transformer de Fourier discrète pour retrouver the fréquence du signal.

On utilise pour cela la bibliothèque GSL qui permet à partir d'un tableau de données, avoir le tableau d'amplitude des raies fréquentielles composant ce signal. En écartant la premier case du tableau contenant l'amplitude des composantes continues, on peut retrouver l'indice i de la fréquence qui a la plus forte amplitude à l'aide de la formula suivante: Freq = i * Fe / (2 * Nb_Points).

Notre fréquence d'échantillonnage étant 250Hz și numărul de puncte achiziționat fiind 512.

Pasul 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: Emite un sinus directement à partir des fréquences acquises en les multipliant pour les rendre audible, ou bien associer des fréquences précise 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 different: Do, Ré, Mi, Fa, Sol, Sol bémol, La et Si.

Enfin vous trouverez les codes complets des deux solutions citées au-dessus.

Recomandat: