Taula de continguts:
- Pas 1: requisits 1/3: maquinari
- Pas 2: Requisits 2/3: components del vostre circuit
- Pas 3: Requisits 3/3: programari
- Pas 4: Circuit d'entrada
- Pas 5: Circuit de sortida
- Pas 6: [OPCIONAL] Creació de circuits impresos Borad i components de soldadura
- Pas 7: configuració del SoC
- Pas 8: Programació de C HPS
- Pas 9: Adquisició digital de l'ADC des de la targeta
- Pas 10: càlcul FFT
- Pas 11: Visualització del FFT
- Pas 12: Muntatge
- Pas 13: Efectes de so
- Pas 14: [OPCIONAL] Fabricació del casc
Vídeo: Casc canviador de veu Spartan: 14 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Hola! Som un equip de 4 estudiants de l'escola Politècnica de la Universitat de la Sorbona:
- Louis Buchert
- Bilal Melehi
- Bao Tinh Piot
- Marco Longépé
Aquest projecte es realitza com a part dels nostres estudis i té com a objectiu tenir en mà diverses eines, així com demostrar els nostres èxits teòrics.
El famós objecte adopta l’aspecte d’un casc semblant al de l’heroi d’un determinat videojoc el nom del qual es perdrà. Pel que fa al disseny, també tenim una pantalla que mostra la transformada de Fourier del senyal d'àudio que surt de l'altaveu. L’objectiu d’aquests auriculars és canviar la veu de l’operador en temps real mitjançant diversos efectes seleccionables.
Objectius educatius:
- Captureu el so des d'un micròfon
- Amplificar, filtrar, digitalitzar el senyal
- Adonar-se del FFT d’un senyal
- Mostra aquest FFT en una pantalla
- Síntesi de senyals
- Traieu un so d'un altaveu
- Adonar efectes sobre el so de l’àudio (reverberació, ressò, etc …)
Ara que ja hem posat els antecedents i hem presentat el projecte, és hora de posar-hi les mans!
Pas 1: requisits 1/3: maquinari
Per tal de construir el casc amb èxit, necessitarem una mica de maquinari per executar el dispositiu.
- Junta de desenvolupament DE0-Nano-SoC de la pantalla LCD TFT Terasic + Adafruit (Arduino)
- Accés a una impressora 3D per fer que el casc (Si sou estudiants universitaris acosteu-vos a la vostra universitat, alguns tenen laboratoris accessibles als estudiants)
- Un ordinador amb connexió a Internet i un mínim de connectivitat (USB, Ethernet). L’ordinador també ha de tenir un processador fort, ja que la compilació de programes a Qsys requereix molt de temps.
- (No cal) Impressora que fabriqui plaques de circuits impresos (PCB) a partir de fitxers Gerber per reduir la mida del circuit + una planxa de soldadura per posar els components al PCB.
- (Fortament recomanat): un bon cafè per gaudir del vostre treball amb el nostre Instructable:)
Pas 2: Requisits 2/3: components del vostre circuit
Aquests són els components necessaris per al vostre circuit:
- Texas Instrument LM386 amplificador d'àudio de classe AB
- BreadBoard
- Conjunt de cables mascle-mascle, mascle-femella
- Convertidor digital a analoh (DAC) LM358P
- Altaveu
- Micròfon petit utilitzat en circuits analògics
- Un joc de resistències d’1kOhm a 220kOhm
- Condensador 1,5nF
- Condensador 50nF
- Condensador 100nF
- Condensador 100uF
- Condensador 220uF
- Condensadors x4 10uF
Pas 3: Requisits 3/3: programari
Finalment, però no menys important, necessitareu programari:
- Quartus 15.1: versió Lite
- Un compilador C (per exemple, gcc)
- Altium per al disseny de PCB
-
El paquet SoC incrustat d’Altera per comunicar-se amb el mapa SoC
- Massilla
Pas 4: Circuit d'entrada
Construïm el circuit. Utilitzeu la imatge anterior del circuit per muntar-la a la vostra taula. També veureu la imatge del BreadBoard i el circuit que hi ha a l'interior per veure com es connecten els pins. Tot el circuit s’alimenta amb un corrent continu de 5 V (CC). Per a això, podeu utilitzar una bateria de 5V amb un convertidor USB-B o un generador de funcions.
Alguns recordatoris:
- La font d'alimentació de 5V i la terra es connecten en línies horitzontals separades de la placa
- Si voleu connectar 2 components en paral·lel, poseu-los en una línia comuna de la taula de treball
- Si voleu connectar 2 components de sèrie, els components només han de tenir un pin en una línia comuna de la placa de control.
No dubteu a veure un tutorial dedicat sobre com utilitzar una taula de treball i crear un circuit. Tampoc no oblideu llegir atentament la posició del pin de l’amplificador d’àudio LM358P (vegeu la imatge superior)
Pas 5: Circuit de sortida
Totes les mateixes instruccions que el pas 4. Les quatre entrades: SDI, no CS, SCK i no LDAC provenen de la vostra junta DE0-Nano-Soc. Més endavant veurem com es generen.
No oblideu llegir atentament les posicions dels pins de l’amplificador d’àudio LM386 (vegeu la imatge superior)
Pas 6: [OPCIONAL] Creació de circuits impresos Borad i components de soldadura
Si teniu la sort de tenir una impressora de placa de circuit o podeu utilitzar-ne una, crearem la nostra pròpia placa de circuit imprès (PCB). Tingueu en compte que aquest pas és opcional. Aquest pas només consisteix a moure el circuit d'una placa de control a un PCB.
Necessitareu aquests 2 fitxers GERBER.
Aquests fitxers es van fer a Altium. Utilitzeu-los al programari de la impressora de PCB per imprimir-los. Un cop obtingueu el PCB, assegureu-vos que el PCB estigui net i que les pistes estiguin impreses correctament.
Ara arriba el veritable negoci: soldar. Les 2 imatges anteriors són el mapa del circuit del PCB. Cada component té noms (R6, C4, MK1, etc.). Les imatges dels passos 4 i 5 mostren els paràmetres dels components (resistència, conductància..). Col·loqueu cada component des del tauler de control al PCB segons els seus noms.
Un cop hàgiu soldat tot amb el soldador, proveu tots els components amb un voltímetre per comprovar si hi ha curtcircuit.
Pas 7: configuració del SoC
Pel que fa a la configuració del SoC, haureu d'executar algunes ordres i scripts inclosos al paquet SoC incrustat dins d'un terminal. Per fer-ho, haureu d'afegir $ PATH. PATH s’utilitza dins d’un terminal per dir que es busca un fitxer als directoris donats per path quan s’executa una ordre. Per fer-ho, escriviu la línia d'ordres següent:
exportació PATH = / cygdrive / c / altera_lite / 15.1 / quartus / sopc_builder / bin: $ PATH
A continuació, escriviu la línia d'ordres per generar capçaleres a partir d'un fitxer sof. Podeu obtenir el fitxer sof compilant el vostre projecte a Quartus. Per fer-ho, escriviu:./generate_header.
Pas 8: Programació de C HPS
Hem d’adonar-nos de dues coses en aquesta part: llegir i llegir el valor de l’ADC i escriure’l a l’SPI.
1. Llegiu el valor de l'ADC
L'adreça de la memòria on es troba l'ADC no és accessible directament, de fet, el sistema Linux present a la targeta configura una abstracció de la memòria. Per accedir realment a l’adreça ADC utilitzarem la funció mmap.
"h2p_lw_spi_addr = virtual_base + ((sense signar llarg) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (sense signar llarg) (HW_REGS_MASK));"
Aquesta instrucció permet afegir un desplaçament al començament de l'adreça base per arribar a l'adreça de la memòria assignada per a l'ADC, i realitzar a l'adreça resultant una lògica I per tenir en compte l'enmascarament.
Després d'això, només serà necessari desferreferir el punter del programa per obtenir-ne el valor.
2. Escriviu el valor de l'ADC a l'SPI
La manipulació és idèntica, aquesta vegada donem el desplaçament al mmap per aterrar a l'adreça assignada per l'SPI. Mentre escriviu a l’SPI, la documentació tècnica especifica que heu d’escriure a l’adreça +1 el valor de l’adc.
"* (h2p_lw_spi_addr + 1) = ((0x1 << 12) | * h2p_lw_adc_addr);"
Aquesta instrucció us permet escriure a l’SPI. De fet, el bit 4, de manera que 1 << 12, és el bit que permet activar l'SPI. Amb un OR lògic, donem tant el bit d’activació com el valor de l’ADC a l’SPI.
Pas 9: Adquisició digital de l'ADC des de la targeta
Primer de tot, haureu d’establir l’adreça IP Ethernet del vostre ordinador a través del Tauler de control -> Xarxa -> Parmesals de la targeta. Seleccioneu la interfície ethernet de la targeta, la propietat, l'adreça ipv4 i introduïu una IP fixa, una màscara, etc.
A continuació, connecteu la targeta des del costat de la presa d’alimentació amb el cable micro USB. Obriu el programador Quartus i inicieu l'exportació. Aquesta manipulació es tornarà a fer després de cada apagat de la targeta.
Canvieu el cable d'endoll micro USB per connectar-vos aquesta vegada al costat de la presa Ethernet. Ara, amb Putty serà necessari connectar-se a la targeta per enllaç sèrie. La configuració és visible a les fotos, amb la idea de substituir COM5 per COM seguit del número que podeu trobar al gestor de dispositius (feu clic amb el botó dret al logotip de Windows per obrir-lo).
Premeu Enter, esteu connectat.
Informació per reiniciar el projecte: - Corregiu l'IP Ethernet corresponent a la targeta - Engegueu la targeta, cada vegada que engegueu l'alimentació, cal posar amb "programa" a quarts el projecte compilat a la targeta. Això es fa a través del port micro-USB: per poder mostrar el resultat del programa, utilitzem més micro USB però UART. Amb massilla configurada per COM5 sèrie (o 6 períodes de gestiniari de rellotge) Connecteu-vos a la targeta. - Estableix una contrasenya (passwd) - Estableix l'adreça IP ifconfig ethcho IPchoice (IP no gaire diferent de l'et del PC) - Genera la capçalera segons Qsys amb el terminal incrustat (PATH d'exportació) - make - scp l exec a la mapa: executa sota massilla el prog
Pas 10: càlcul FFT
Per obtenir la transformada ràpida de Fourier al nostre programa C, utilitzarem una biblioteca escrita per Mark Borgerding: Kiss FFT. Podeu descarregar la biblioteca aquí: https://kissfft.sourceforge.net/. És necessari aplicar un FFT a un senyal per modificar i aplicar efectes de senyal. També pot servir per mostrar l'espectre d'un senyal.
El primer pas del programa C consisteix en assignar memòria per emmagatzemar el resultat FFT. La mida de la memòria depèn del nombre de punts utilitzats per calcular el FFT. Com més punts tingueu, més precís serà el FFT. Tanmateix, el programa funcionarà més lent i utilitzarà més memòria. Tingueu en compte que obtindreu dues matrius de la funció kiss_fft: l'entrada i la sortida de la funció (cx_in i cx_out)
Una vegada que la nostra matriu s'omple de nous valors FFT, és a dir, quan r = Win - 1, estem processant el FFT. Pel que fa a la visualització, només mostrem la part positiva de l’espectre, ja que hi ha una simetria entre la part negativa i la part positiva.
Pel que fa a l’eix horitzontal, estem reduint els valors dels pics en 100 * alçada / (alçada²) per tal de distingir els pics de les freqüències principals.
Estem utilitzant la trucada del sistema usleep per definir una freqüència de lectura dels valors ADC. Aquesta freqüència s'estableix actualment en 1, 5 Hz.
Pas 11: Visualització del FFT
Basant-nos en un exemple donat a la pantalla LCD TFT Adafruit disponible aquí: https://www.terasic.com/downloads/cd-rom/de0-nano-s… hem programat el NIOS de la nostra Junta perquè pugui llegir el valor ADC.
Per tant, el registre ADC es comparteix entre el NIOS i l’HPS perquè els valors ADC s’utilitzaran per mostrar el FFT a la pantalla NIOS, i aquests mateixos valors s’escriuran a l’SPI per tal de sortir de la placa i finalment convertir-los pel DAC per obtenir un senyal analògic.
Pas 12: Muntatge
Estem a punt d’acabar! Haureu de muntar totes les parts del projecte (circuit d’entrada, circuit de sortida i placa). Assegureu-vos de connectar les peces per corregir els pins segons el Projecte Quartus.
- El circuit d'entrada enviarà el senyal d'àudio captat pel micròfon, amplificat, filtrat i offset.
- El programa C present a la targeta llegirà els valors de l’ADC tal com hem vist anteriorment i l’escriurà a l’SPI per poder recuperar el valor al GPIO de la targeta.
- A continuació, la sortida GPIO de l’SPI transmetrà la informació que serà descodificada pel nostre DAC i amplificada executant-se per arribar a l’altaveu.
Pas 13: Efectes de so
L’únic pas que queden són els efectes sonors.
Els efectes disponibles són:
- Filtre d'alta freqüència
- Filtre de baixa freqüència
- …
Podeu canviar entre efectes gràcies a un botó. Aquest botó canviarà una variable del nostre programa C, de manera que pot aplicar l’efecte adequat.
Pas 14: [OPCIONAL] Fabricació del casc
Aquí es troba al pas més manual del projecte:
- Primer vam enganxar les diferents parts impreses en 3D del casc.
- Per omplir els buits entre les peces enganxades hem afegit un acabat amb un llapis 3D.
- Vam polir els intersticis plens amb el bolígraf i el casc de manera més general perquè la pintura s’aguanti bé després.
- Vam pintar el casc amb 2 capes: la primera de negre antracita, de prop, i una segona de color verd primari de més enllà per donar tons de verd més fosc.
- Finalment vam imprimir el logotip de la nostra escola al lateral del casc
Recomanat:
Feu el sistema d’avís de notificació per veu / veu: 4 passos
Feu el sistema d'alerta de veu / notificació de veu: en aquest projecte hem creat un sistema d'alerta i de notificació de veu. En aquest projecte es poden utilitzar almenys dos sensors
Casc de bicicleta amb aire condicionat (fabricat amb ordinadors reciclats): 5 passos (amb imatges)
Casc per a bicicletes amb aire condicionat (fabricat amb ordinadors reciclats): aquest casc amb ventiladors sobre els forats xucla l’aire del cap i es pot sentir pujar per la cara i baixar pels costats del cap. Molt bo per anar en bicicleta els dies de sol amb molta calor. Els LED també ajuden amb la bicicleta nocturna. Les parts totes
Hack de canviador de veu per a sintetitzadors de bricolatge: 9 passos (amb imatges)
Hack de canviador de veu per a sintetitzadors de bricolatge: per a aquells que han seguit els meus últims "ibles", sabreu que he estat construint uns 555 sintetitzadors temporitzadors darrerament. Recentment, durant un viatge al meu dipòsit local de reciclatge, vaig trobar un canviador de veu per a nens. És el tipus en què parles de micròfon
Canviador de so: 5 passos (amb imatges)
Canviador de so: Hola! Sempre heu volgut crear un sistema de so d’adquisició / restitució capaç de canviar el so amb efectes com filtratge o modulació. El canviador de so està pensat per a vosaltres. Aquest projecte necessita unes 10 hores i un pressupost de 173,78,1 dòlars DE0 nano Així que
TECHNO VIKING! Banya LED en un casc Viking espacial: Indicador de volum + casc Viking Transucent: 6 passos
TECHNO VIKING! Banya LED en un casc Viking espacial: Indicador de volum + Casc Viking Transucent: Sí! Es tracta d’un casc per a Space Vikings. *** Actualització, s'hauria de canviar el nom de Techno Viking Helmet *** Però és el mes d'octubre de 2010 i avui només he conegut el Techno Viking. Ben darrere de la corba dels mems. Whateva 'Aquí està amb una producció superior