Indholdsfortegnelse:
- Trin 1: Nødvendigt materiale og anbefalinger
- Trin 2: Opkøbskort
- Trin 3: Lydoutputkort
- Trin 4: Quartus -projekt
- Trin 5: God fornøjelse
Video: Musiksyntese baseret på DE0-Nano-SoC: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Musik Synthesizer
Denne musiksyntesizer er ganske enkel: du skal bare blæse, synge eller endda spille musik foran mikrofonen, og lyden moduleres og sendes gennem højttaleren. Dens specctrum vil også blive vist på LCD -displayet. Music Synthesizer findes i to versioner: du kan vælge at implementere det på et printkort, eller hvis du ikke kan, vil et enkelt Breadboard klare.
Trin 1: Nødvendigt materiale og anbefalinger
For at implementere dette system skal du bruge følgende:
- et DE0-Nano-SoC-bord
- en LT24 LCD -skærm fra Terasic
- en elektret mikrofon
- en grundlæggende to-leder (jord og forsyning) højttaler
- en Ethernet -ledning
- et printkort eller et brødbræt
- et loddejern og en PCB -graver, hvis du beslutter dig for at implementere synthesizeren på et printkort
- et batteri og dets USB -stik (ekstraudstyr)
- en LM386 effektforstærker
- en MCP4821 digital/analog konverter
- en LT1054 switch-kondensator spændingsomformer
- en LM317 justerbar reulator
- 7 TL081 OPA'er (DIP-8)
- en TL082 OPA (DIP-8)
- en 2N5432 transistor
- en 1N4148 diode
- 17 10 µF polariserede kondensatorer
- en 1µF kondensator
- 5 100nF kondensatorer
- en 680nF kondensator
- en 100 µF kondensator
- en 2,2 µF kondensator
- en 1000+µF polariseret kondensator (for eksempel 4400)
- en 220 µF polariseret kondensator
- en 0,05 µF kondensator
- 4 100 Ohm modstande
- 1 2,2 kOhms modstand
- 1 10kOhms modstand
- 1 470 Ohms modstand
- 1 1,8kOhms resitor
- 1 1MOhm modstand
- 1150 Ohm modstand
- 4 1500 Ohm modstand
Husk, at du muligvis har brug for flere komponenter end forventet.
Vi anbefaler også stærkt at have grundlæggende viden inden for elektronik og SoC -design, før du starter dette projekt
Trin 2: Opkøbskort
Nu hvor du har alt, hvad du har brug for, lad os starte med at lave anskaffelsesbrættet. Mikrofonen samler nærliggende lyde, derefter filtreres signalet af et lavpasfilter for at prøve det (og dermed respektere Shannon-sætningen), før det forstærkes og til sidst optages af DE0.
Hvis du kender Altium Design Software og har adgang til en PCB -graver, skal du bare gengive skematikken vist på billedet ovenfor og placere komponenterne, som vi gjorde på det andet billede. Ellers kan du simpelthen genskabe dette kredsløb på et brødbræt.
I begge tilfælde er modstandernes værdier, givet i Ohms, og kondensatorernes værdier, angivet i Farads, som følger:
- R4: 2,2k
- R5: 10k
- R6 og R7: 100
- R3: 470
- R1 og R2: 18 (disse modstande bruges til at justere udgangsspændingen, der skal være 2V, så disse værdier kan være lidt forskellige for dig)
- R8: 1,8k
- R9: 1 mio
- R10: 150
- R11, R12, R14 og R15: 1,5k
- Dec1: 2,2 µ
- Dec2: 100 µ
- 3. dec: 100n
- Dec4: 1 µ
- Dec5, Dec6, Dec7, Dec8, Dec9, Dec10, Dec11, Dec12, Dec13, Dec14: 1µ
- Dec15: +1000µ (for eksempel 4400)
- C1: 10 µ
- C2: 1 µ
- C3 og C4: 100n
- C5: 1 µ
Vi er færdige med overtagelsestavlen!
Trin 3: Lydoutputkort
Det er fantastisk at kunne optage lyde, men det er endnu bedre at kunne gengive dem! Således har du brug for et lydudgangskort, der simpelthen består af en digital/analog konverter, et udjævningsfilter, en effektforstærker og en højttaler.
Selvfølgelig kan du stadig gengive kredsløbet på et printkort (og placere komponenterne som vist på det andet billede) eller på et brødbræt. I begge tilfælde er her værdierne for både kondensatorer og modstande:
- R1 og R2: 100
- R3 og R4: ledninger
- R5: 10
- C1: 1 µ
- C2, C3, C5, C6, C7, C9: 100µ (polariseret)
- C4 og C8: 100n
- C10: 0,05 µ
- C11: 250 µ
Vi er færdige med lydudgangen, så lad os gå til softwaren!
Trin 4: Quartus -projekt
For at holde tingene enkle besluttede vi at starte fra det "mit første-hps-fpga" -projekt, der findes på cd-rom'en, der fulgte med DE0-Nano-SoC. Alt du skal gøre er at åbne dette projekt og starte "Platform Designer" eller "Qsys" fra værktøjslinjen og gengive projektet ovenfor. Derefter genererer du designet og kompilerer med Qsys (se demonstrationerne for flere detaljer).
Trin 5: God fornøjelse
Nu hvor HDL -filerne er genereret, skal du bare starte Quartus -projektet. Til dette formål skal du sætte USB-kablet i USB-stikket (JTAG) på DE0-Nano-Soc. Vælg derefter Værktøjer> Programmering på Quartus. Klik på Automatisk registrering, og vælg derefter den anden mulighed. Klik derefter på FPGA -enheden (den anden), derefter på "Skift fil", og vælg den.sof -fil, der tidligere blev genereret. Til sidst skal du klikke på "Program/Konfigurer" -tavlen og klikke på "Start" -knappen for at starte filen.
Til sidst skal du uploade følgende C -kode til DE0 -hukommelsen. Til dette formål skal du installere Putty på en pc (Linux), forbinde kortet til det via en Ethernet -forbindelse og ved at tilslutte USB -kablet til USB -stikket (UART) på DE0. Start og konfigurer Putty med en baudhastighed på 115200, ingen paritet, et bitstop og ingen flowkontrolindstillinger. Bagefter skal du tvinge en fast IPv4 -adresse til din PC Ethernet -port, indtaste "root" på Putty shell, derefter "ifconfig eth0 192.168. XXX. XXX" og "password" efterfulgt af en adgangskode. Åbn en skal på din pc, gå til projektlageret, og indtast "scp myfirsthpsfpga [email protected]. XXX. XXX: ~/". Til sidst skal du indtaste "./myfirsthpsfpga" på Putty -skallen. God fornøjelse !
Anbefalede:
Sådan laver du IoT -baseret hjemmeautomatisering med NodeMCU -sensorer Kontrollerelæ: 14 trin (med billeder)
Sådan laver du IoT-baseret hjemmeautomatisering med NodeMCU-sensorer Kontrollerelæ: I dette IoT-baserede projekt har jeg lavet hjemmeautomatisering med Blynk og NodeMCU-kontrolrelæmodul med feedback i realtid. I manuel tilstand kan dette relæmodul styres fra mobil eller smartphone og, manuel switch. I Auto Mode er denne smar
Automatiseret modelbanelayout med to tog (V2.0) - Arduino baseret: 15 trin (med billeder)
Automatiseret modelbanelayout med to tog (V2.0) | Arduino baseret: Automatisering af modeljernbanelayouter ved hjælp af Arduino mikrokontroller er en fantastisk måde at flette mikrokontrollere, programmering og modeljernbaner til en hobby. Der er en masse projekter til rådighed om at køre et tog autonomt på en model railroa
GPS -bilsporing med SMS -underretning og upload af Thingspeak -data, Arduino -baseret, hjemmeautomatisering: 5 trin (med billeder)
GPS -bilsporing med SMS -besked og upload af Thingspeak -data, Arduino -baseret, hjemmeautomatisering: Jeg lavede denne GPS -tracker sidste år, og da den fungerer godt, offentliggør jeg den nu på Instructable. Den er tilsluttet tilbehørsstikket i min bagagerum. GPS -trackeren uploader bilens position, hastighed, retning og den målte temperatur via en mobildata
ATTiny84-baseret 3A trin-ned LED-driver: 7 trin (med billeder)
ATTiny84-baseret 3A trin-ned LED-driver: Hvis du vil drive 10W LED'er, kan du bruge denne 3A LED-driver. Med 3 Cree XPL LED'er kan du opnå 3000 lumen
Arduino -baseret ikke -kontakt infrarødt termometer - IR -baseret termometer ved hjælp af Arduino: 4 trin
Arduino -baseret ikke -kontakt infrarødt termometer | IR -baseret termometer ved hjælp af Arduino: Hej fyre i denne instruktion vil vi lave et kontaktfrit termometer ved hjælp af arduino. Da nogle gange temperaturen på væsken/faststoffet er alt for høj eller for lav, og så er det svært at komme i kontakt med det og læse dets temperaturen derefter i den scene