สารบัญ:
- ขั้นตอนที่ 1: Création Du Circuit Analogique
- ขั้นตอนที่ 2: Choix Des Composants
- ขั้นตอนที่ 3: Réalisation Du PCB
- ขั้นตอนที่ 4: Réalisation De La Partie Mécanique (รองรับ Et Instrument)
- ขั้นตอนที่ 5: Connexion MCP-Raspberry
- ขั้นตอนที่ 6: การได้มาซึ่ง Des Données
- ขั้นตอนที่ 7: FFT
- ขั้นตอนที่ 8: Génération Du Son
วีดีโอ: Polyflûte: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
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
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
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)
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
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
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง