สารบัญ:

Polyflûte: 8 ขั้นตอน
Polyflûte: 8 ขั้นตอน

วีดีโอ: Polyflûte: 8 ขั้นตอน

วีดีโอ: Polyflûte: 8 ขั้นตอน
วีดีโอ: Расслабляющая Музыка Флейта, Музыка для снятия стресса, Музыка Медитации, Нежная Музыка, ☯2089 2024, ธันวาคม
Anonim
Polyflûte
Polyflûte

Le projet Polyflûte ประกอบด้วย à réaliser un instrument de musiquenumérique

Le but est de créer un instrument de musique เคารพเงื่อนไข particulières; Cet ตราสาร doit être:

-Autonome et แบบพกพา (แบตเตอรี่ กอง…)

-Autodidacte (Enseigner à l'utilisateur à partir d'un site internet, le fonctionnement et la construction de l'appareil)

- ปรับแต่งอัตโนมัติ (Produire un son music à partir une frequence 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 musice.

ขั้นตอนที่ 1: Création Du Circuit Analogique

Creation Du Circuit Analogique
Creation Du Circuit Analogique

Notre système se base sur le principe de la détection delumière: วางบน LED และ photodiode หน้า à ใบหน้า 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 constitue le cœur de la partie อะนาล็อก Nous avons donc décidé de distinguer un circuit d'émission และ un circuit de réception Le circuit est alimenté พาร์ 6 กองแบบชาร์จไฟได้ 1.2 V soit au total 7.2V. Le circuit d'émission est constitué d'une LED และ 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 (ความถี่สูงสุดในการหมุน de l'hélice)

ขั้นตอนที่ 2: Choix Des Composants

Une fois le circuit théorique établit บน 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

เครื่องช่วยหายใจ: MB40200V1 (5V)

ไดโอด: 1N4001

โฟโตไดโอด: SFH 203

AOP: LM358N

CAN: MCP3008

ความต้านทาน R1 (LED): 47 โอห์ม

ความต้านทาน R2 (ตัวกรอง 1): 220 โอห์ม

ความต้านทาน R3 (ตัวกรอง 2):220 โอห์ม

ความต้านทาน R4 (กรองและกรอง Vref): 1 kOhms

คอนเดนเสท C1 (ตัวกรอง): 10nF

คอนเดนเสท C2 (ตัวกรอง): 10nF

Condensateur C3 (ตัวกรองระหว่าง Vref): 5µF

หน่วยงานกำกับดูแล: 0J7031 reg09b

Connecteur 40 พิน

ราสเบอร์รี่ PI 2 รุ่น B

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

6 กอง ชาร์จ 1.2 V

ขั้นตอนที่ 3: Réalisation Du PCB

การทำให้เป็นจริง Du PCB
การทำให้เป็นจริง Du PCB
การทำให้เป็นจริง Du PCB
การทำให้เป็นจริง Du PCB

La réalisation du PCB (แผงวงจรพิมพ์) s'est effectuée en plusieurs étapes:

- Le dessin de la carte (ตัวแทน 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 นักออกแบบ (logiciel utilisé en entreprise pour le routage de PCB) Nous avons donc dû nous initier หรือ logiciel. Les composants ont été disposés de manière à réduire la taille de la carte (ยาว 9 ซม. ใหญ่ 5 ซม.) 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 ด้านบนหรือด้านล่าง Une fois la carte imprimée, nous avons soudés les composants sur des สนับสนุน 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 พึ่งพา PCB et la Rasberry Nous avons pour cela dû identifier les port SPI de la Rasberry et faire la bonne การติดต่อ avec le PCB

Vous trouverez les fichiers Gerber (นักออกแบบ Altium)

ขั้นตอนที่ 4: Réalisation De La Partie Mécanique (รองรับ Et Instrument)

Réalisation De La Partie Mécanique (สนับสนุน Et Instrument)
Réalisation De La Partie Mécanique (สนับสนุน Et Instrument)
Réalisation De La Partie Mécanique (สนับสนุน Et Instrument)
Réalisation De La Partie Mécanique (สนับสนุน Et Instrument)
Réalisation De La Partie Mécanique (สนับสนุน Et Instrument)
Réalisation De La Partie Mécanique (สนับสนุน Et Instrument)

Le tube constituant la flûte est un tube en PVC (plomberie) qui a été coupé a une longueur de 15 cm และ 4, 1 cm de diamètre. บน 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 ซม. Le PCB และ le tube sont fixés sur une plaque en bois à fixé l'aide d'entretoises et de vis. Sur la partie gauche du tube บน fixé le ventilateur à l'aide d'un scotch de câble électrique De l'autre côté, le tube est bouche par un morceau de carton.

- ท่อพีวีซี

- แผ่นโลหะ en bois d'environ 30 ซม. x 30 ซม.

- 4 entretoises 3, 5 cm

- 4 อีครอส

- Unขัดขวาง2ตำแหน่งคลาสสิก

- รองรับกอง

- กล่องกระดาษ

ขั้นตอนที่ 5: Connexion MCP-Raspberry

Connexion MCP-ราสเบอร์รี่
Connexion MCP-ราสเบอร์รี่
Connexion MCP-ราสเบอร์รี่
Connexion MCP-ราสเบอร์รี่
Connexion MCP-ราสเบอร์รี่
Connexion MCP-ราสเบอร์รี่

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

ขั้นตอนที่ 6: การได้มาซึ่ง 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 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, 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 เทผู้นับถือ 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 4ms (Te = 1/Fe = 4ms) Le Premier thread de notre โปรแกรม contient donc la fonction du timer qui effectue l'acquisition des données

ขั้นตอนที่ 7: FFT

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

ในการใช้ เท 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 composantes continue, on peut retrouver l'indice i de la fréquence qui a la plus forte amplitude à l'aide de la formule suvante: Freq = i*Fe/(2*Nb_Points)).

Notre fréquence d'échantillonnage étant 250Hz et le nombre de points acquis étant 512.

ขั้นตอนที่ 8: Génération Du Son

การดูแลรักษา 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 des fréquences acquises en les multipliant pour les rendre audible, ou bien associer des fréquences précises aux plages des différentes notes de notre prototype.

Nous avons testé les deux méthodes และ 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 ที่แตกต่างกัน et ainsi de jouer 8 หมายเหตุ 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

แนะนำ: