ዝርዝር ሁኔታ:
- ደረጃ 1: ኮምፖሰቶች Utilisés
- ደረጃ 2: ሥነ ሕንፃ
- ደረጃ 3 - የፓርቲ አናሎግ
- ደረጃ 4: Impression Des PCBs
- ደረጃ 5 - ፓርቲ ኑሜሪክ
- ደረጃ 6: Le ኮድ
ቪዲዮ: Autotune: 7 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
Bienvenue dans notre projet Autotune
Notre équipe va vous présenter la réalisation de ce projet. Notre équipe est composée de 3 élèves ingénieurs de Polytech Sorbonne en EISE4 (4ème année du cycle ingénieur en électronique informatique systèmes embarqués)።
Notre projet consiste à émettre un son capter par un micro, emit par un haut parleur et afficher la FFT sur un écran PC. Il sera can de modifier for son audio comme le volume እና créer un écho.
በቃ ማብራሪያዎችን አፍስሱ !!
ደረጃ 1: ኮምፖሰቶች Utilisés
- Carte DEO-Nano-SoC
- የባትሪ 2 ውፅዓት à 5V2A
- ማይክሮ
- Haut Parleur 8 Ohm
- ተቆጣጣሪ MAX660
- Capteur IR: GP2Y0E02A
- አምፕሊ ኦዲዮ-LM386N-1/NOPB
- DAC: MCP4821-E/P
- ዲዲዮ 1N4148
- አስተላላፊ-LND150N3-G / N-FET
- 2 AOP: TL081C
- ርቀቶች
- ኮንዲሰነሮች
- Wifi: ESP8266EX
- 4 መቀየሪያዎች
- 3 Leds de couleurs
ደረጃ 2: ሥነ ሕንፃ
Voici ci-dessus notre schéma bloc représentant l'architecture de notre projet Autotune.
Comme vous pouvez le voir, notre projet va pouvoir capter un son a l'aide du micro dont le signal analogique capté sera converti en un signal numérique dont l'ADC est intégré dans la carte FPGA. Puis le signal sera modifié selon nos effets choisis à l'aide d'un capteur de proximité እና des switchs. Enfin, le signal modifié depuis la carte sera reconverti en un signal analogique እና sera transmise à travers le haut parleur.
ደረጃ 3 - የፓርቲ አናሎግ
Notre partie analogie est composée de 2 ወረዳዎች:
ፕሪሚየር የወረዳ qui représentera ላ partie micro ፣ qui sera branché au CAN de la carte FPGA ፣ composite dun amplificateur de gain et d’un filtre passif après avoir récupérer le signal።
Un deuxieme circuit qui repésentera la partie haut parleur, qui sera branché à à sortie de la carte FPGA, composé du DAC, d'un diviseur de tension et d'un amplificateur audio.
Le troisième schéma est celui du régulateur produisant du -5V pour alimenter tous les composants.
ደረጃ 4: Impression Des PCBs
አስተናጋጅ ፣ እኛ የኛ ማያ ገጾች ክሬዲት ፒሲቢን በአድማጮች እና በአስተማማኝ ሁኔታ!
A l'aide du logiciel Alitum, nous avons pu creer deux PCBs, c'est à dire la partie micro et haut parleur. ጣቢያው ዘጋቢ ወይም አስተማሪ Altium qui peut certainement vous ረዳት!
ደረጃ 5 - ፓርቲ ኑሜሪክ
Après avoir imprimer vos PCBs ፣ vous pouvez enfin brancher le tout à la carte FPGA!
አፍቃሪ ቁጥርን አፍስሱ ፣ ኖስ አቫንስ ክሬን አንድ ኮድ C qui est séparé en deux en utilisant un thread. ዳውን ኮቴ ፣ በሪፖርቱ ላይ ምልክት በ modifie et on envoie vers le DAC en spi። D'un deuxième côté, በ calculale la fft et on envoie le résultat par wifi ላይ። Cette séparation permet d'éviter les ralentissements sur la première partie.
በአጠቃቀም ላይ Qsys et quartus ለ HPS avec les différents compost ን ይጠቀሙ። በአስተያየቱ አጠቃቀም ላይ አይፒ አይፒአይ ለኮሚኒኬሽን መረጃን እና ለሌላ አይፒ ዩአርትን ለኮምፒዩተሩ አገናኝ ላ carte wifi ን ይጠቀሙ።
ደረጃ 6: Le ኮድ
Voici le lien où nous avons récuperé le code pour faire la fft.
ሴኮንድ ላ fft ን ይጠቀሙ
// Création de la config et des buffers in et out pour s (t) et S (f) const kiss_fft_cfg config = kiss_fft_alloc (NFFT ፣ 0 ፣ NULL ፣ NULL) ፤
kiss_fft_cpx*in = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx))); kiss_fft_cpx*out = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx));
ለ (j = 0; j <NFFT; j ++) {እሴት = *h2p_lw_adc_addr; // recupère la valeur provenant du pcb du microin [j].r = እሴት -2000.0; // በጡረታ ላይ l'offset de cette valeurfor (i = 0; i <2100; i ++) {} // attend tem tem bien précis pour avoir une fréquence d’échantillonnage connue}
// Calcul de la FFT በ outkiss_fft (ውቅረት ፣ ውስጥ ፣ ውጭ) ፣ bzero (C_val ፣ 110); // remet à ዜሮ le tableau qui nous sert de buffer que l'on va envoyer par wififor (t = 0; t <(NFFT/4); t ++)) {// limiter la taille du buffer on limite la sortie de la fft à des valeurs entre 0 et 9 tmp_log = 20*(መዝገብ (abs (ውጭ [t].r/1000.0)))*9;
tmp_log = tmp_log/50; ከሆነ (tmp_log <0) {tmp_log = 0; } ከሆነ (tmp_log> 9) {tmp_log = 9; } sprintf (tmp_val ፣ "%d" ፣ tmp_log); strcat (C_val ፣ tmp_val); // ajoute au buffer la nouvelle valeur
} ላክ_ዊፊር (C_val) ፤ // በ envoi le buffer par wifi ላይ
ቅርጸ -ቁምፊ ላክ wifir:
ባዶነት send_wifir (char* com_AT) {int num, z; ለ (z = 0; z <22000000; z ++) {} ለ (num = 0; num <(int) strlen (com_AT) ፤ num ++) { *(h2p_lw_rs232_addr) = com_AT [num]; }}
የሌድ ኮድ ተጓዳኝ አጠቃቀም ላይ የመጀመሪያ ማስጀመሪያ ላ Carte wifi ን ያፈሱ
send_wifi ("AT+RST / r / n"); // demande de reset à la cartesleep (3); // qu’elle resetsend_wifi ን ይከታተሉ ("AT+CWMODE = 3 / n / r"); // choisit le mode de la cartesend_wifi ("AT+CWJAP = \" wifiNom / ", \" MotDePasse / "\ r / n"); // on lui demande de se connecter au wifisleep (15); // on qu’elle se connectesend_wifi ("AT+CIPSTART = \" UDP / ", \" 192.168.43.110 / ", 32003 / r / n"); // በሉይ ዴማንዴ ደ ሴኔ ማገናኛ ላይ udp avec le serveur ouvert sur un autre ordinateursleep (3); // ይገናኙ ላ connexionsend_wifi ("AT+CIPMODE = 1 / r / n"); // on met met mode envoie en ቀጣይ እንቅልፍ (3) ፤ send_wifi ("AT+CIPSEND / r / n"); // ማስተላለፍን ይጀምራል
ቅርጸ -ቁምፊ wifi ላክ;
ባዶ send_wifi (char * com_AT) {int num, z; ለ (num = 0; num <(int) strlen (com_AT) ፤ num ++) { * (h2p_lw_rs232_addr) = com_AT [num]; ለ (z = 0; z <2500000; z ++) {}}}
ኮድ du serveur:
affichage de la fft:
int i, j, እሴት = 0; ስርዓት (“ግልፅ”);
ለ (i = 0; i <41; i ++) {if (i <40) {ለ (j = 0; j <BUFSIZE; j ++) {if (table [j]*4> (40 - i)) {if (ሰንጠረዥ [j]*4> 35) printf (ቀይ "|" ዳግም አስጀምር); ሌላ ከሆነ (ሰንጠረዥ [j]*4> 28) printf (L_RED "|" ዳግም አስጀምር); ሌላ ከሆነ (ሰንጠረዥ [j]*4> 21) printf (YEL "|" ዳግም አስጀምር); ሌላ ከሆነ (ሰንጠረዥ [j]*4> 14) printf (L_YEL "|" RESET); ሌላ ከሆነ (ሰንጠረዥ [j]*4> 7) printf (L_GRN "|" RESET); ሌላ printf (GRN "|" ዳግም አስጀምር); } ሌላ printf (""); } printf ("\ n"); } ሌላ {printf ("0Hz 2.5Hz 5Hz 7.5kHz 10kHz / n"); /*ለ (j = 0; j <(BUFSIZE/2); j ++)
የሚመከር:
በ Flick ውስጥ የጨዋታ ንድፍ በ 5 ደረጃዎች 5 ደረጃዎች
በ 5 ደረጃዎች ውስጥ በ Flick ውስጥ የጨዋታ ንድፍ -ፍሊክስ ጨዋታን በተለይም በእውነቱ እንደ እንቆቅልሽ ፣ የእይታ ልብ ወለድ ወይም የጀብድ ጨዋታ የመሰለ ቀላል መንገድ ነው።
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማስጠንቀቂያ ስርዓት - ደረጃዎች በደረጃ: 4 ደረጃዎች
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማንቂያ ስርዓት | ደረጃዎች በደረጃ-በዚህ ፕሮጀክት ውስጥ አርዱዲኖ UNO እና HC-SR04 Ultrasonic Sensor ን በመጠቀም ቀላል የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ዳሳሽ ወረዳ እቀዳለሁ። ይህ በአርዱዲኖ ላይ የተመሠረተ የመኪና ተገላቢጦሽ የማስጠንቀቂያ ስርዓት ለራስ ገዝ አሰሳ ፣ ሮቦት ሬንጅንግ እና ለሌላ ክልል አር
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 ደረጃዎች 3 ደረጃዎች
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 እርከኖች-በዚህ መመሪያ ውስጥ የሹንያፊትን ቤተመፃሕፍት በመጠቀም ከ Rasyaberry O/S ጋር Raspberry Pi 4 ላይ የፊት ለይቶ ማወቅን እናከናውናለን። ሹነፊታ የፊት መታወቂያ/ማወቂያ ቤተ -መጽሐፍት ነው። ፕሮጀክቱ ፈጣን የመለየት እና የማወቅ ፍጥነትን ለማሳካት ያለመ ነው
በ GameGo ላይ በ ‹GoGo› ላይ ማለቂያ ከሌላቸው ደረጃዎች ጋር የመሣሪያ ስርዓት - 5 ደረጃዎች (ከስዕሎች ጋር)
በ GameGo ላይ በ MakeGo Arcade የመጫወቻ ማዕከል ላይ ገደብ የለሽ ደረጃዎች ያለው የመሣሪያ ስርዓት - GameGo በ TinkerGen STEM ትምህርት የተገነባ የ Microsoft Makecode ተኳሃኝ የሆነ የሬትሮ ጨዋታ ተንቀሳቃሽ ኮንሶል ነው። እሱ በ STM32F401RET6 ARM Cortex M4 ቺፕ ላይ የተመሠረተ እና ለ STEM አስተማሪዎች ወይም የሬትሮ ቪዲዮ ጨዋታን መፍጠር መዝናናትን ለሚወዱ ሰዎች ብቻ የተሰራ ነው
Autotune እንዴት እንደሚደረግ (በነጻ!): 4 ደረጃዎች
Autotune ን እንዴት ማድረግ እንደሚቻል (በነጻ!) - ጋራጅ ባንድን በመጠቀም ፣ ብዙ የሚሰማውን ያንን የራስ -ተፅእኖ ውጤት እንዴት በቀላሉ መፍጠር እንደሚችሉ ይማሩ። ** አርትዕ ** ወደ አንድ ምሳሌ ያገናኙት ፦