Përmbajtje:
- Hapi 1: Gjërat që na duhen për këtë projekt (Kërkesat)
- Hapi 2: Teoria e ADC në PWM
- Hapi 3: Skematike
- Hapi 4: Testi Përfundimtar
Video: Luaj këngë me Arduino duke përdorur ADC në PWM në Flyback Transformer ose Altoparlant: 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Ç'kemi djema, Kjo është pjesa e dytë e një mësimi tjetër (që ishte shumë e vështirë), në thelb, Në këtë Projekt, unë kam përdorur ADC dhe KOHMARRSIT në Arduino -n tim për të konvertuar Sinjalin Audio në një Sinjal PWM.
Kjo është shumë më e lehtë se sa Instructable ime e mëparshme, Këtu është lidhja e Instructable tim të parë nëse doni të shihni. lidhje
Për të kuptuar teorinë e sinjalit audio, bitrate, thellësi bit, shkalla e marrjes së mostrave, ju mund ta lexoni teorinë në tutorialin tim të fundit mbi Instructable. Lidhja është më lart.
Hapi 1: Gjërat që na duhen për këtë projekt (Kërkesat)
1. Bordi Arduino (ne mund të përdorim çdo bord (328, 2560) dmth Mega, Uno, Mini, etj, por me kunja të veçantë të ndryshëm)
2. PC me Arduino Studio.
3. Breadboard ose Perfboard
4. Lidhja e telave
5. TC4420 (Shoferi Mosfet ose diçka e tillë)
6. Power Mosfet (kanali N ose P, ju lutemi lidhni në përputhje me rrethanat) (Unë kam përdorur kanalin N)
7. Speaker ose Flyback Transformer (Po e lexuat mirë !!)
8. Furnizimi me energji i përshtatshëm (0-12V) (kam përdorur furnizimin tim me energji ATX)
9. Heat Sink (Unë kam shpëtuar nga kompjuteri im i vjetër).
10. Një përforcues (përforcues normal i muzikës) ose një qark përforcues.
Hapi 2: Teoria e ADC në PWM
Pra, në këtë Projekt, unë kam përdorur ADC të ndërtuar të Arduino për të bërë marrjen e mostrave të të dhënave të një Sinjali Audio.
ADC (Konvertuesi analog-dixhital) siç përcakton emri, ADC konverton sinjalin analog në mostra dixhitale. Dhe për Arduino me një thellësi maksimale 10-bit. Por për këtë Projekt, ne do të përdorim Mostrimin 8-bit.
Ndërsa përdorim ADC të Arduino, ne duhet të kemi parasysh Tensionin ADC_reference.
Arduino Uno ofron 1.1V, 5V (Referenca e brendshme, e cila mund të vendoset duke përcaktuar në kod) ose një referencë e jashtme (të cilën duhet ta zbatojmë nga jashtë në kunjin AREF).
Sipas përvojës sime, një minimum prej 2.0V duhet të përdoret si tension reference për të marrë një rezultat të mirë nga ADC. Pasi 1.1V nuk shkoi mirë të paktën për mua. (Përvoja personale)
*E RORTNDSISHME**E RORTNDSISHME ** E RORTNDSISHME ** E RORTNDSISHME ** E RORTNDSISHME*
Duhet të përdorim një sinjal audio të përforcuar nga një amplifikator ose një qark përforcues me një tension kulmi (Max. Voltage) 5V
Sepse kam vendosur referencën e brendshme të tensionit prej 5V, për Projektin tonë. Dhe unë jam duke përdorur një Sinjal të përforcuar duke përdorur një Përforcues normal (Përforcues muzikor), i cili është më së shumti i disponueshëm në shtëpinë tonë ose ju mund të krijoni një për veten tuaj.
Pra, tani pjesa kryesore. Shkalla e marrjes së mostrave, e cila është sa mostra merr ADC -ja jonë për sekondë, aq më shumë është shkalla e konvertimit, aq më mirë do të jetë rezultati i prodhimit, më i ngjashëm do të jetë vala e prodhimit në krahasim me inputin.
Pra, ne do të përdorim një normë mostrimi prej 33.33Khz në këtë Projekt, duke vendosur orën ADC në 500Khz. Për të kuptuar se si është kështu, ne duhet të shohim Faqen e Kohes ADC në fletën e të dhënave të çipit Atmega (328p).
Ne mund ta shohim se, na duhen 13.5 cikle të orës ADC për të përfunduar një mostër me marrjen e mostrave automatike. Me një frekuencë prej 500Khz, do të thotë 1/500Khz = 2uS për një cikël ADC, që do të thotë se nevojiten 13.5*2uS = 27uS për të përfunduar një mostër kur përdoret mostrimi automatik. Duke i dhënë 3uS më shumë Mikrokontrolluesit (për anën e sigurt), Marrja e një totali prej 30uS plotësisht për një mostër.
Pra, 1 Mostër në 30uS do të thotë 1/30uS = 33,33 KSmbuj/S.
Për të vendosur normën e marrjes së mostrave, e cila varet nga TIMER0 e Arduino, sepse shkaktari i marrjes së mostrave automatike ADC varet nga ajo në rastin tonë, siç mund ta shihni edhe në kodin dhe fletën e të dhënave, ne kemi bërë vlerën e OCR0A = 60 (Pse kështu ???)
Sepse sipas formulës së dhënë në fletën e të dhënave.
frekuenca (ose këtu Vlera e mostrës) = Frekuenca e orës së Arduino/Prescaler*Vlera e OCR0A (në rastin tonë)
Frekuenca ose Shkalla e Mostrës që duam = 33.33KHz
Frekuenca e orës = 16MHz
Vlera e parakalimit = 8 (në rastin tonë)
Vlera e OCR0A = duam të gjejmë ??
e cila thjesht jep OCR0A = 60, gjithashtu në kodin tonë Arduino.
TIMER1 përdoret për valën bartëse të një sinjali audio, dhe unë nuk do të hyj në shumë detaje të tij.
Pra, kjo ishte teoria e shkurtër e konceptit të ADC në PWM me Arduino.
Hapi 3: Skematike
Lidhni të gjithë Komponentët siç tregohet në skemë. Kështu që ju keni këtu dy mundësi:-
1. Lidhni një altoparlant (i lidhur me 5V)
2. Lidhni një transformator Flyback (i lidhur me 12V)
I kam provuar të dyja. Dhe të dy punojnë mjaft mirë.
*E RORTNDSISHME**E RORTNDSISHME ** E RORTNDSISHME ** E RORTNDSISHME ** E RORTNDSISHME*Ne duhet të përdorim një sinjal audio të përforcuar nga një Amplifikator ose një Qark Amplifikator me një tension kulmi (Max. Voltage) 5V
Përgjegjësia:-
*Unë rekomandoj përdorimin e Flyback Transformer me Masa Paraprake pasi mund të jetë i rrezikshëm sepse prodhon Tensione të Larta. Dhe nuk do të jem përgjegjës për asnjë dëm.*
Hapi 4: Testi Përfundimtar
Pra, ngarkoni kodin e dhënë në Arduino tuaj, dhe lidhni Sinjalin e Amplifikuar me pinin A0.
Dhe mos harroni të lidhni të gjitha kunjat e tokës me një terren të përbashkët.
Dhe thjesht kënaquni duke dëgjuar muzikë.
Recommended:
Luaj Dinosaur Game Duke përdorur Arduino dhe Python3: 5 Hapa
Luaj Dinosaur Game Duke përdorur Arduino dhe Python3: Përshkrimi i Projektit Shumica prej nesh kemi luajtur lojë dinosaurësh nga google kur interneti ynë nuk funksiononte dhe nëse nuk e keni luajtur këtë lojë mos u shqetësoni tani mundeni por jo në mënyrë konvencionale duke shtypur butonat por duke përdorur lëvizjen të dorës tënde. Pra në këtë
Si të kodoni një këngë duke përdorur fletë muzikore në Sonic Pi: 5 hapa
Si të kodoni një këngë duke përdorur fletë muzikore në Sonic Pi: Ky udhëzues do të përshkruajë disa hapa bazë dhe pjesë të kodit për t'u përdorur kur kodoni një këngë në Sonic Pi duke përdorur fletë! Ka një milion pjesë të tjera të kodit për t'u përpjekur t'i jepni shije pjesës tuaj të përfunduar, prandaj sigurohuni që të luani edhe rreth
Luaj këngë (MP3) Me Arduino duke përdorur PWM në altoparlant ose Flyback Transformer: 6 hapa (me fotografi)
Luaj këngë (MP3) Me Arduino duke përdorur PWM në Speaker ose Flyback Transformer: Përshëndetje djema, kjo është mësimi im i parë, shpresoj se do t'ju pëlqejë !! Në thelb, në këtë projekt kam përdorur komunikimin serik midis Arduino -s dhe laptopit tim, për të transmetuar të dhëna muzikore nga laptopi im në Arduino. Dhe duke përdorur Arduino TIMERS t
Këngë 8bit duke përdorur temën e përfundimit Arduino / Zelda: 4 hapa
Këngë 8bit duke përdorur temën e Arduino / Zelda: A keni dashur ndonjëherë të bëni ato lloj kartash dhuratash ose lodra që luajnë një këngë sapo t'i hapni ose t'i shtrydhni ato? Me një këngë sipas dëshirës tuaj? Ndoshta edhe një këngë që keni bërë? Epo kjo është gjëja më e lehtë në botë dhe nuk do t'ju kushtojë asgjë
Luaj këngë duke përdorur Stepper Motor !!: 11 hapa (me fotografi)
Luaj këngë duke përdorur Stepper Motor !!: Ky projekt ka të bëjë me hartimin e një ndërfaqeje të thjeshtë dinamike, e cila do të lejojë ndërveprimin me një motor stepper në dy mënyra të ndryshme. Ndërfaqja e parë do të kontrollojë drejtimin dhe shpejtësinë e motorit stepper përmes përdorimit të një GUI e thjeshtë, e cila h