Sisällysluettelo:
- Vaihe 1: Komposiittien käyttö
- Vaihe 2: Arkkitehtuuri
- Vaihe 3: Partie Analogique
- Vaihe 4: Impression Des PCBs
- Vaihe 5: Partie Numérique
- Vaihe 6: Le Code
Video: Automaattinen viritys: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Bienvenue dans notre projet Autotune
Notre équipe va vous présenter la réalisation de ce projet. Notre équipe est composée of 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 koostuu ämettre ja son capter par un micro, lähettää par unur parleur et afficher la FFT sur unécran PC. Se on mahdollista muokata Son Son Audio Comme -volyymia ja créer un écho.
Osallistu selityksiin !!
Vaihe 1: Komposiittien käyttö
- Kartta DEO-Nano-SoC
- Akun 2 lähtö à 5V2A
- Mikro
- Haut Parleur 8 ohmia
- Valmistaja: MAX660
- Capteur IR: GP2Y0E02A
- Ampli-ääni: LM386N-1/NOPB
- DAC: MCP4821-E/P
- Diodi: 1N4148
- Transitori: LND150N3-G / N-FET
- 2 AOP: TL081C
- Resistanssit
- Lauhduttimet
- Wifi: ESP8266EX
- 4 kytkintä
- 3 LED -valoa
Vaihe 2: Arkkitehtuuri
Voici ci-dessus notre schéma bloc representant l'architecture de notre projet Autotune.
Comme vous pouvez le voir, notre projet va pouvoir capter un son à l'aide du micro dont le signal analogique capté sera converti en un signal numberumer dont dont l'ADC est intéré dans la carte FPGA. Puis le signal sera modifié selon nos effets choisis à l'aide d'un capteur de proximité et des switchs. Enfin, le signal modifié depuis la carte sera reconverti en un signal analogique et sera transmise à travers le haut parleur.
Vaihe 3: Partie Analogique
Puolueeton analogia koostuu kahdesta piiristä:
Ensisijainen piiri, jossa on mikro -osa, joka voi haarautua CAN de la carte FPGA -laitteeseen, vahvistaa vahvistusta ja suodattaa passin, joka suojaa signaalin.
Unuxieme -piiri, jossa on partie haut parleur, qui sera branchà à la sortie de la carte FPGA, Composé du DAC, d'un diviseur de jännite et d'un amplificateur audio.
Le troisième schéma est celui du régulateur produisant du -5V pour alimenter tous les composants.
Vaihe 4: Impression Des PCBs
Huolto, nous allons créer nos PCB afin de les imprimer et de les relier!
A l'aide du logiciel Alitum, nous avons pu creer deux PCB, c'est à dire la partie micro et haut parleur. Voici le site kirjeenvaihtaja tai opettaja Altium qui peut varmuuden vous aider!
Vaihe 5: Partie Numérique
Après avoir imprimer vos PCBs, vous pouvez enfin brancher le tout à la carte FPGA!
Kaada partie numérique, nous avons créer ja code C qui est séparé en deux en utilisant un thread. D'un coté, récupère le signal on le modifie et on l'envoie vers le DAC en spi. D'un deuxième côté, on calcule la fft et on envoie le résultat par wifi. Erikoisvaraus onnistuu ralentissements sur la premier partie -tapahtumassa.
Käytettäessä Qsys et quartus pour haaraa le HPS avec les différents composants. Käytössä notamment une IP SPI -kommunikaattori avec le dac et une IP UART pour communiquer avec la carte wifi.
Vaihe 6: Le Code
Voici le lien où nous avons récuperé le code pour faire la fft.
Käytettäessä koodia kaada laskuri la fft:
// Création de la configuration 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));
for (j = 0; j <NFFT; j ++) {Arvo = *h2p_lw_adc_addr; // recupère la valeur provenant du pcb du microin [j].r = Arvo-2000,0; // eläkkeellä l'offset de cette valeurfor (i = 0; i <2100; i ++) {} // osallistu un temps bien précis pour avoir une fréquence d’échantillonnage connue}
// Laske FFT -depuis in vers outkiss_fft (config, in, out); bzero (C_val, 110); // remet à zero le tableau qui nous sert de buffer que l'on va envoyer par wififor (t = 0; t <(NFFT/4); t ++) {// pour limiter la taille du buffer on limite la sortie de la fft à des valeurs entre 0 et 9 tmp_log = 20*(log (abs (abs (ulos [t].r/1000.0)))*9;
tmp_log = tmp_log/50; jos (tmp_log <0) {tmp_log = 0; } jos (tmp_log> 9) {tmp_log = 9; } sprintf (tmp_val, "%d", tmp_log); strcat (C_val, tmp_val); // ajoute au buffer la nouvelle valeur
} send_wifir (C_val); // envoi le puskuri par wifi
fonction send wifir:
mitätön send_wifir (char* com_AT) {int numero, z; for (z = 0; z <22000000; z ++) {} for (num = 0; num <(int) strlen (com_AT); num ++) { *(h2p_lw_rs232_addr) = com_AT [num]; }}
Kaada alustuksen a la carte wifi hyödyntämään le code suivant:
send_wifi ("AT+RST / r / n"); // à la cartesleep (3); // osallistua qu'elle resetsend_wifi ("AT+CWMODE = 3 / n / r"); // valitse le mode de la cartesend_wifi ("AT+CWJAP = \" wifiNom / ", \" MotDePasse / "\ r / n"); // on lui demande de se connecter au wifisleep (15); // on osallistua qu'elle se connectesend_wifi ("AT+CIPSTART = \" UDP / ", \" 192.168.43.110 / ", 32003 / r / n"); // On lui demande de se connecter en udp avec le serveur ouvert sur un autre ordinateursleep (3); // osallistu la Connexionsend_wifi ("AT+CIPMODE = 1 / r / n"); // on met met envoie en jatkaa nukkumista (3); send_wifi ("AT+CIPSEND / r / n"); // lähetyksen alkaessa
fonction lähetä wifi:
mitätön send_wifi (char * com_AT) {int numero, z; for (num = 0; num <(int) strlen (com_AT); num ++) { * (h2p_lw_rs232_addr) = com_AT [num]; (z = 0; z <2500000; z ++) {}}}
Palvelun koodi:
affichage de la fft:
int i, j, arvo = 0; järjestelmä ("kirkas");
for (i = 0; i <41; i ++) {if (i <40) {for (j = 0; j <BUFSIZE; j ++) {if (table [j]*4> (40 - i)) {if (taulukko [j]*4> 35) printf (RED "|" RESET); else if (taulukko [j]*4> 28) printf (L_RED "|" RESET); else if (taulukko [j]*4> 21) printf (YEL "|" RESET); else if (taulukko [j]*4> 14) printf (L_YEL "|" RESET); else if (taulukko [j]*4> 7) printf (L_GRN "|" RESET); else printf (GRN "|" RESET); } else printf (""); } printf ("\ n"); } else {printf ("0 Hz 2,5 Hz 5 Hz 7,5 kHz 10 kHz / n"); /*for (j = 0; j <(BUFSIZE/2); j ++)
Suositeltava:
Automaattinen käsidesi: 8 vaihetta
Automaattinen käsidesi: COVID-19-pandemiasta on tullut asia, jonka yleisö on kuullut hyvin usein vuoden 2020 aikana. Jokainen kansalainen, joka kuulee sanan”COVID-19”, ajattelee heti sanan”Vaarallinen”, “Tappava”,”Pidä puhtaana” "Ja muita sanoja. Tämä COVID-19 on myös
GiggleBot -linjan seuraajan viritys - edistynyt: 7 vaihetta
GiggleBot -linjan seuraajan virittäminen - Edistynyt: Tässä hyvin lyhyessä ohjeessa virität oman GiggleBotisi noudattamaan mustaa viivaa. Tässä toisessa opetusohjelmassa GiggleBot Line Follower me koodasimme viritysarvot toimimaan tämän skenaarion mukaisesti. Haluat ehkä saada sen käyttäytymään
Pyörivä viritys Pi TV HAT: n avulla: 3 vaihetta
Pyörivä viritys Pi TV: n hatulla: Tässä ohjeessa näytän sinulle, miten voit tuoda analogisen ohjauksen digitaalitelevisioosi käyttämällä kiertokytkintä vaihtaaksesi kanavia Raspberry Pi -käyttöisellä vintage-televisiolla. TV HAT -lisälaite julkaistiin äskettäin ja rakkauteni kääntymykseen
Hyvää syntymäpäivää viritys Circuit Playgroundin avulla: 3 vaihetta
Hyvää syntymäpäivää viritys Circuit Playgroundin avulla: Näin voit pelata Hyvää syntymäpäivää -melodian Adafruitin Arduino -yhteensopivan piirilevyn leikkikentällä
Kuinka tehdä automaattinen viritys (ilmaiseksi!): 4 vaihetta
Kuinka tehdä automaattinen viritys (ilmaiseksi!): Opi Garagebandin avulla luomaan helposti kuulemasi autotune -tehoste. ** EDIT ** Linkki esimerkkiin: http://limelinx.com/files/e7b32e25dda5c5a22ab1bfc8c0eb3acd