Sadržaj:
- Korak 1: Stvari koje su nam potrebne za ovaj projekat (zahtjevi)
- Korak 2: Teorija ADC -a na PWM
- Korak 3: Shema
- Korak 4: Završni test
Video: Reproducirajte pjesme s Arduinom koristeći ADC na PWM na Flyback transformatoru ili zvučniku: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Zdravo momci, Ovo je drugi dio mog drugog uputstva (što je bilo mnogo teško). U osnovi, u ovom projektu sam koristio ADC i TIMERS na svom Arduinu za pretvaranje audio signala u PWM signal.
Ovo je mnogo lakše od mog prethodnog Instructable -a, evo veze mog prvog Instructable -a ako želite vidjeti. veza
Da biste razumjeli teoriju audio signala, brzinu prijenosa, dubinu bita, brzinu uzorkovanja, teoriju možete pročitati u mom posljednjem vodiču na stranici Instructable. Link je gore.
Korak 1: Stvari koje su nam potrebne za ovaj projekat (zahtjevi)
1. Arduino ploča (možemo koristiti bilo koju ploču (328, 2560), tj. Mega, Uno, Mini itd., Ali sa specifičnim različitim pinovima)
2. PC sa Arduino Studio.
3. Breadboard ili Perfboard
4. Povezivanje žica
5. TC4420 (Mosfet vozač ili tako nešto)
6. Uključite Mosfet (N ili P kanal, molimo vas da spojite žicu prema tome) (koristio sam N-kanal)
7. Zvučnik ili Flyback transformator (Da, dobro ste pročitali !!)
8. Odgovarajuće napajanje (0-12V) (koristio sam vlastito ATX napajanje)
9. Hladnjak (spasio sam sa svog starog računara).
10. Pojačalo (normalno muzičko pojačalo) ili kolo pojačala.
Korak 2: Teorija ADC -a na PWM
Tako sam u ovom projektu koristio ugrađeni ADC iz Arduina za uzorkovanje podataka audio signala.
ADC (analogno-digitalni pretvarač) kako naziv definira, ADC pretvara analogni signal u digitalne uzorke. A za Arduino s maksimalno 10-bitnom dubinom. Ali za ovaj projekt koristit ćemo 8-bitno uzorkovanje.
Dok koristimo ADC iz Arduina, moramo imati na umu napon ADC_referencije.
Arduino Uno nudi 1,1 V, 5 V (interna referenca, koja se može postaviti definiranjem u kodu) ili vanjska referenca (koju moramo primijeniti izvana na AREF pin).
Prema mom iskustvu, minimalno 2.0V bi se trebalo koristiti kao referentni napon za dobivanje dobrih rezultata od ADC -a. Barem meni 1.1V nije dobro išao. (Lično iskustvo)
*VAŽNO**VAŽNO ** VAŽNO ** VAŽNO ** VAŽNO*
Moramo koristiti pojačani audio signal iz pojačala ili kruga pojačala s vršnim naponom (maksimalni napon) od 5V
Zato što sam za naš projekt postavio internu referencu napona od 5V. I ja koristim pojačani signal koristeći normalno pojačalo (muzičko pojačalo), koje je uglavnom dostupno u našem domaćinstvu ili ga možete sami izgraditi.
Dakle, sada glavni dio. Brzina uzorkovanja, koliko uzoraka uzima naš ADC u sekundi, veća je stopa konverzije, bolji će biti izlazni rezultat, sličniji će biti izlazni val u usporedbi s ulaznim.
Dakle, u ovom ćemo projektu koristiti brzinu uzorkovanja od 33,33Khz, postavljanjem sata ADC -a na 500Khz. Da bismo razumjeli kako je to, moramo vidjeti ADC Timing stranicu u podatkovnom listu Atmega (328p) čipa.
Vidimo da nam je potrebno 13,5 ciklusa takta ADC -a da kompletiramo jedan uzorak s automatskim uzorkovanjem. Sa frekvencijom od 500Khz, to znači 1/500Khz = 2uS za jedan ciklus ADC -a, što znači da je potrebno 13,5*2uS = 27uS za kompletiranje uzorka kada se koristi automatsko uzorkovanje. Davanjem 3uS više mikrokontroleru (za sigurnu stranu), izrađujući ukupno 30uS ukupno za jedan uzorak.
Dakle, 1 uzorak pri 30uS znači 1/30uS = 33,33 KSuzora/S.
Za postavljanje brzine uzorkovanja, koja ovisi o TIMER0 na Arduinu, jer okidač automatskog uzorkovanja ADC -a ovisi o tome u našem slučaju, što možete vidjeti i u kodu i tablici s podacima, napravili smo vrijednost OCR0A = 60 (Zašto je tako ???)
Zato što prema formuli datoj u tehničkom listu.
frekvencija (ili ovdje Sample Rate) = Taktna frekvencija Arduina/Prescalera*Vrijednost OCR0A (u našem slučaju)
Željena frekvencija ili brzina uzorkovanja = 33,33KHz
Taktna frekvencija = 16MHz
Vrijednost predmjerača = 8 (u našem slučaju)
Vrijednost OCR0A = želimo pronaći ??
koji jednostavno daje OCR0A = 60, također u našem Arduino kodu.
TIMER1 se koristi za noseći val audio signala, i neću ulaziti u toliko detalja o tome.
Dakle, to je bila kratka teorija koncepta ADC -a za PWM s Arduinom.
Korak 3: Shema
Povežite sve komponente kako je prikazano na shemi. Dakle, ovdje imate dvije mogućnosti:-
1. Priključite zvučnik (povezan sa 5V)
2. Priključite povratni transformator (povezan s 12V)
Probao sam oboje. I oboje rade prilično dobro.
*VAŽNO**VAŽNO ** VAŽNO ** VAŽNO ** VAŽNO*Moramo koristiti pojačani audio signal iz pojačala ili kola pojačala sa vršnim naponom (maksimalni napon) od 5V
Odricanje od odgovornosti:-
*Preporučujem korištenje Flyback transformatora s oprezom jer može biti opasan jer proizvodi visoke napone. I neću biti odgovoran za bilo kakvu štetu.*
Korak 4: Završni test
Zato prenesite dati kod na svoj Arduino i povežite pojačani signal na pin A0.
I ne zaboravite spojiti sve uzemljene igle na zajedničko uzemljenje.
I samo uživajte slušajući muziku.
Preporučuje se:
Reproducirajte pjesme (MP3) s Arduinom pomoću PWM -a na zvučniku ili Flyback transformatoru: 6 koraka (sa slikama)
Reproducirajte pjesme (MP3) s Arduinom koristeći PWM na zvučniku ili Flyback transformatoru: Zdravo momci, ovo je moje prvo uputstvo, nadam se da će vam se svidjeti !! U osnovi, u ovom projektu sam koristio serijsku komunikaciju između mog Arduina i prijenosnog računala, za prenos muzičkih podataka sa mog laptopa na Arduino. A pomoću Arduino TIMERS t
Reproducirajte CD -ove bez CD playera, koristeći AI i YouTube: 10 koraka (sa slikama)
Reproducirajte CD -ove bez CD playera, koristeći AI i YouTube: Želite li reproducirati svoje CD -ove, ali nemate više CD player? Niste imali vremena za snimanje CD -ova? Izrezali ste ih, ali datoteke nisu dostupne po potrebi? Nema problema. Neka AI (umjetna inteligencija) identificira vaš CD, a YouTube ga pusti! Napisao sam Android aplikaciju
Reproducirajte Bluetooth na Sonos -u koristeći Raspberry Pi: 25 koraka
Reproducirajte Bluetooth na Sonos-u koristeći Raspberry Pi: Prethodno sam napisao uputstvo koje opisuje kako dodati aux ili analognu liniju u Sonos koristeći Raspberry Pi. Čitalac je pitao da li bi bilo moguće prenositi Bluetooth zvuk sa njegovog telefona na Sonos. To je lako učiniti koristeći bluetooth dongle
Reproducirajte pjesme pomoću koračnog motora !!: 11 koraka (sa slikama)
Reproducirajte pjesme pomoću koračnog motora !!: Ovaj projekt govori o dizajniranju jednostavnog dinamičkog sučelja koje će omogućiti interakciju sa koračnim motorom na dva različita načina. Prvo sučelje će kontrolirati smjer i brzinu koračnog motora korištenjem jednostavan GUI, koji h
Reproducirajte videozapise unatrag koristeći Quicktime Player: 5 koraka
Reproducirajte videozapise unatrag pomoću Quicktime Playera: Ovo je najstrašniji trik stoljeća. Ovaj Instructable pokazuje vam jednostavan način reprodukcije videozapisa unatrag bez preuzimanja lažnih programa (ako nemate quicktime, trebat će vam to.) Slika nema ništa za obaviti projekat, ali trebalo mi je