Cov txheej txheem:
- Kauj Ruam 1: Yam Peb Xav Tau rau Txoj Haujlwm no (Yuav Tsum Muaj)
- Kauj Ruam 2: Nkag Siab Txoj Cai Ua Haujlwm
- Kauj ruam 3: Schematic
- Kauj ruam 4: Hloov MP3 rau WAV Cov Ntaub Ntawv Siv Audacity
- Kauj ruam 5: WAV rau C-Code
- Kauj Ruam 6: Ua Cov Ntaub Ntawv Kawg thiab Tua Koj Li Linux
Video: Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer: 6 Cov Kauj Ruam (nrog Duab)
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Nyob Zoo Cov Menyuam, Nov yog kuv thawj qhov kev qhia, Kuv vam tias koj yuav nyiam Nws !!
Yeej, Hauv Txoj Haujlwm no Kuv tau siv Cov Kev Sib Txuas Ntawm Kuv Arduino thiab Kuv Lub Laptop, kom xa cov ntaub ntawv suab paj nruag los ntawm kuv lub laptop mus rau Arduino. Thiab siv Arduino TIMERS los ua cov ntaub ntawv ua PWM teeb liab.
Kuv xav hais txog qhov ntawd, txoj haujlwm no tsis yog rau Cov Pib !!!.
Qhov tseeb, txoj haujlwm no yog ib qhov haujlwm ntev tshaj plaws, vim tias peb yuav tsum ua ntau yam kom nws ua haujlwm.
ZOO SIAB
Kuv tau ua ntu thib ob ntawm cov lus qhia no, uas yog txoj hauv kev yooj yim dua thiab xav tau cov teeb meem me me los ua haujlwm
Txuas mus rau Ntu Ob (qhov yooj yim tshaj plaws).
Kauj Ruam 1: Yam Peb Xav Tau rau Txoj Haujlwm no (Yuav Tsum Muaj)
1. Arduino Board (peb tuaj yeem siv ib lub Rooj Tswjhwm Saib (328, 2560) piv txwv li Mega, Uno, Mini, thiab lwm yam tab sis muaj cov pins sib txawv tshwj xeeb)
2. PC lossis Laptop nrog Linux (Kuv tau siv Fedora 29) lossis Nyob USB nrog Linux
3. Breadboard lossis Perfboard
4. Txuas Cov Xov Tooj
5. TC4420 (Mosfet tsav tsheb lossis lwm yam)
6. Lub Hwj Chim Mosfet (N lossis P channel, thov xaim xov tooj kom haum) (Kuv tau siv N-channel)
7. Hais lus lossis Flyback Transformer (Yog koj nyeem nws raug !!)
8. Cov Khoom Siv Hluav Taws Xob Tsim Nyog (0-12V) (Kuv tau siv kuv tus kheej ATX Fais Fab Khoom)
9. Tshav Kub Kub (Kuv tau khaws los ntawm kuv lub PC qub)
10. PC nrog Windows thiab cwj mem tsav.
Txhawm rau paub cov ncauj lus ntxaws ua haujlwm ntawm txhua feem thiab txoj haujlwm no thov nyeem cov kauj ruam tom ntej.
Kuv tau ua ntu thib ob ntawm cov lus qhia no, uas yog txoj hauv kev yooj yim dua thiab xav tau cov teeb meem me me los ua haujlwm. Link mus rau Ntu Ob (yooj yim ib qho).
Kauj Ruam 2: Nkag Siab Txoj Cai Ua Haujlwm
Ahhh !! qhov ntev tshaj plaws ntawm kev qhia, nyeem thiab sau nqe lus no yog ob qho tib si tsis txaus ntseeg.
Ua ntej tshaj plaws, peb yuav tsum tau txais Tus Txheej Txheem, qhov khoom no ua haujlwm li cas.
peb ua dab tsi ntawm no yog thawj zaug, peb tab tom hloov peb zaj nkauj MP3 rau hauv WAV Cov Ntaub Ntawv thiab cov ntawv no mus rau hauv C header file los ntawm kev siv software, uas yog nyob hauv qhov txuas. Tus lej C no yeej muaj 8-ntsis (vim li cas 8-ntsis ?? nyeem ntxiv) cov ntaub ntawv piv txwv uas peb xav tau los ua si siv peb Arduino ntawm tus nqi ruaj khov lossis nrawm, uas tau teev tseg raws li peb Tus Qauv Piv Txwv.
Txoj Kev Xav Ntawm Lub Teeb Suab.
Rau cov neeg uas tsis paub tias Tus Qauv Piv Txwv lossis Tus Nqi Tus Nqi yog:-
Tus Nqi Sampling yog txhais raws tus naj npawb ntawm Cov Qauv, peb tab tom ua si hauv ib pliag (feem ntau ntsuas hauv Hz lossis KHz).
Kom paub ntau ntxiv hauv Nthuav Qhia:-Nyem qhov no
Cov Qauv Nqi Tus Qauv yog 44100 Hz (zoo tshaj plaws), 32000 Hz, 22050 Hz, thiab lwm yam
uas txhais tau hais tias 44100 Cov Qauv raug siv hauv ib ntus los tsim cov nthwv dej kom haum.
piv txwv tias Txhua Tus Qauv yuav tsum tau ua si ntawm qhov ncua sijhawm ntawm 1/44100 = 22.67 uS.
Tom qab ntawd los Qhov Ntsuas Qhov Ntsuas ntawm Lub Teeb Suab, uas feem ntau yog ntsuas ntsuas qhov tseeb ntawm lub suab yog sawv cev hauv cov suab digital. Qhov siab dua qhov tob, qhov tseeb dua lub suab digital.
Tab sis nrog Arduino lossis lwm yam Micro-controller nrog 16Mhz moos tso cai rau peb siv peb li 8-ntsis nkaus xwb. Kuv yuav piav nws vim li cas.
Muaj tus lej ntawm nplooj ntawv no.102 hauv cov ntawv teev npe ntawm 328p:- Cov ntawv teev tseg
Kuv yuav tsis mus kom ntxaws, vim li cas kuv thiaj siv cov mis no.
Zaus ntawm Teeb Meem = Caij Teeb Meem / N x (1+TOP)
Mloog Teeb Meem = 16Mhz (Arduino board)
N = prescaler (1 yog tus nqi rau peb tes num)
TOP = tus nqi 0 txog 2^16 (Rau 16-ntsis timer txee) (255 = 2^8 (8-ntsis) rau peb qhov project)
peb tau txais tus nqi ntawm qhov zaus ntawm Teeb liab = 62.5 kHz
Qhov no txhais tau tias tus neeg nqa khoom yoj yoj yws yws ntawm Qhov tob.
Piv txwv tias, yog tias peb siv TOP tus nqi = 2^16 = 65536 (piv txwv li qhov tob ntawm 16-ntsis)
tom qab ntawd peb tau txais tus nqi ntawm qhov zaus ntawm Teeb liab = 244 Hz (uas peb siv tsis tau)
OKK… Yog li qhov kev xav no ntau npaum li cas Cov Teeb Meem Suab ua haujlwm txaus, Yog li rov qab mus rau Txoj Haujlwm.
Txoj cai C tsim los rau Ib Zaj Nkauj tuaj yeem theej rau hauv Arduino thiab tuaj yeem ua si, tab sis peb raug txwv txog 3-sec suab tso suab nrog tus lej ntsuas ntawm 8000 Hz. Vim tias tus lej C no yog cov ntawv sau thiab vim li no tsis tau nrawm dua decompressed. Thiab nws siv sijhawm ntau dhau. (piv txwv li C code cov ntaub ntawv nrog 43-sec suab nrog 44, 1 KHz cov qauv coj mus siv qhov chaw txog 23 MB). Thiab peb Arduino Mega muab qhov chaw rau peb txog 256 Kb.
Yog li peb yuav ua nkauj li cas siv Arduino. Nws ua tsis tau. Cov lus qhia no yog cuav. Tsis txhob txhawj cov nyeem, Tias yog vim li cas peb yuav tsum siv qee yam kev sib txuas lus ntawm Arduino ntawm qhov nrawm heev (txog 1 Mb/s) kom xa cov ntaub ntawv Suab mus rau Arduino.
Tab sis Peb xav tau nrawm npaum li cas, ua qhov no ??
Cov lus teb yog 44000 bytes per sec uas txhais tau tias nrawm dua 44000*8 = 325, 000 Bits/s.
Peb xav tau lwm qhov txuas nrog qhov chaw khaws khoom loj los xa cov ntaub ntawv no rau peb Arduino. Thiab qhov ntawd yuav yog peb lub PC nrog Linux (vim li cas PC nrog Linux ??? thov nyeem ntxiv kom paub ntau ntxiv txog nws.)
Ahaa… Qhov ntawd txhais tau tias peb tuaj yeem siv Kev Sib Txuas Lus… Tab sis tos… cov ntawv tuaj yeem ua tau ntawm qhov nrawm txog 115200 Cov Khoom/s uas txhais tau tias (325000/115200 = 3) uas, nws yog peb zaug qeeb dua li qhov xav tau.
Tsis yog, kuv cov phooj ywg, nws tsis yog. Peb yuav siv nrawm lossis Baud Tus Nqi ntawm 500, 000 Bits/s nrawm nrog cov kab txuas mus txog 20-30 cm max., Uas yog 1.5 zaug sai dua qhov xav tau.
Vim li cas Linux, tsis yog Windows ???
Yog li, peb yuav tsum xa cov qauv mus nyob ib ntus (tseem teev tseg saum toj no) ntawm 1/44100 = 22.67 uS nrog peb lub PC.
Yog li peb tuaj yeem ua haujlwm nws li cas ??
Peb tuaj yeem siv C ++ xa cov ntaub ntawv byte los ntawm Serial ntawm lub sijhawm siv qee yam kev ua haujlwm pw tsaug zog
zoo li nanosleep, Chrono, thiab lwm yam, thiab lwm yam….
rau (int x = 0; x
xa cov ntaub ntawv (x);
nanosleep (22000); // 22uS
}
TAB SIS Nws Tsis Ua Haujlwm ntawm WINDOWS kuj tsis ua haujlwm zoo li no ntawm Linux (tab sis kuv pom lwm txoj hauv kev uas koj tuaj yeem pom hauv kuv li Code txuas nrog.)
Vim tias peb tsis tuaj yeem ua tiav qhov ua tau zoo siv qhov rais. Koj xav tau Linux kom ua tiav qhov kev ua tiav.
Teeb meem Kuv pom txawm tias nrog Linux…
peb tuaj yeem ua tiav qhov ua tau zoo siv Linux, tab sis kuv pom tsis muaj lub luag haujlwm zoo li tsaug zog kuv qhov haujlwm rau 22uS.
Kev ua haujlwm xws li nanosleep, Chrono nanosleep, thiab lwm yam, thiab lwm yam.. kuj tsis ua haujlwm, vim tias lawv muab kev pw tsaug zog ntau dua 100 uS. Tab sis kuv xav tau qhov tseeb, meej 22 uS. Kuv tau tshawb fawb txhua nplooj ntawv hauv google thiab sim nrog txhua qhov ua tau uas muaj nyob hauv C/C ++ tab sis tsis muaj dab tsi ua haujlwm rau kuv. Tom qab ntawd kuv tau los nrog kuv tus kheej txoj haujlwm, uas ua haujlwm rau kuv zoo li ntxim nyiam tiag.
Thiab kuv cov cai tam sim no muab qhov tseeb, meej pw ntawm 1uS lossis siab dua !!!
Yog li peb tau npog qhov nyuaj thiab qhov seem yog yooj yim …
Thiab peb xav tsim kom muaj PWM teeb liab siv Arduino nrog qhov tshwj xeeb tshwj xeeb kuj yog cov khoom siv thauj khoom nthwv dej zaus. (62.5KHz (raws li suav sau saum toj no) kom tiv thaiv kab mob tau zoo).
Yog li, Peb yuav tsum siv lub npe TIMERS ntawm Arduino los tsim PWM. Los ntawm txoj kev, Kuv yuav tsis mus rau ntau cov ntsiab lus ntawm qhov ntawd, vim tias koj yuav pom ntau yam kev qhia ntawm lub ntsiab lus ntawm TIMERS, tab sis yog tias koj tsis pom qee qhov, tom qab ntawv tawm hauv qab no kuv yuav ua ib qho.
Kuv tau siv tus tsav tsheb TC4420 Mosfet, txhawm rau txuag peb Arduino Pins, vim tias lawv tsis tuaj yeem xa tawm tam sim no kom tsav MOSFET qee zaum.
Yog li, qhov ntawd yog yuav luag kev xav ntawm txoj haujlwm no, peb tuaj yeem pom tam sim no daim duab qhia chaw.
ZOO SIAB THIAB ZOO TSHAJ PLAWS
Qhov tseeb, txoj haujlwm no tau ua nyuaj nyuaj txhob txwm ua (Kuv yuav qhia yog vim li cas), muaj lwm txoj hauv kev uas xav tau noPC tsuas yog Arduino thiab tus hais lus hauv kuv qhov kev tsim kho txuas ntxiv. Link nyob ntawm no.
*Lub hom phiaj tseem ceeb ntawm txoj haujlwm no yog siv Kev Sib Txuas Lus thiab paub nws lub zog thiab kawm paub yuav ua li cas peb tuaj yeem tsim kho peb lub PC kom ua cov haujlwm kom raug raws lub sijhawm zoo."
Kauj ruam 3: Schematic
Txuas txhua lub Cheeb Tsam raws li qhia hauv schematic. Yog li koj muaj ntawm no ob txoj kev xaiv:-
1. Txuas Tus Hais Lus (Txuas nrog 5V)
2. Txuas Flyback Transformer (Txuas nrog 12V)
Kuv tau sim ob qho tib si. Thiab ob leeg ua haujlwm zoo heev.
Tsis lees paub:-
*Kuv pom zoo siv Flyback Transformer nrog Kev Ceeb Toom vim tias nws tuaj yeem ua rau muaj kev phom sij vim tias nws tsim hluav taws xob siab. Thiab kuv yuav tsis lav rau ib qho kev puas tsuaj.*
Kauj ruam 4: Hloov MP3 rau WAV Cov Ntaub Ntawv Siv Audacity
Yog li, Ua ntej tshaj plaws, rub tawm cov software
1. Audacity, tshawb nrhiav thiab rub tawm los ntawm Google
2. Txhawm rau hloov WAV Cov Ntaub Ntawv rau C-Code, rub tawm daim ntawv thov lub qhov rai, npe hu ua WAVToCode
Koj tuaj yeem kawm paub siv WAVToCode software los ntawm qhov txuas no thiab rub tawm los ntawm qhov txuas no.
Kuv tseem yuav muab cov ncauj lus ntxaws ntxaws txog yuav ua li cas siv ob lub software.
Thov Saib cov duab txuas nrog cov lus qhia no.
Hauv theem no, peb yuav hloov MP3 rau Wav. (Ua raws cov duab, Tus nqi yuav tsum yog 44100Hz)
Hauv kauj ruam tom ntej, peb yuav hloov pauv cov ntaub ntawv wav rau C Code.
Kauj ruam 5: WAV rau C-Code
Ua raws li cov duab.
Pom ob daim duab kawg, qhov kev hloov pauv yuav tsum zoo ib yam, Cov tsiaj ntawv loj yuav tsum yog peev thiab cov ntawv tsawg yuav tsum qis dua, Los yog koj yuav tau txais cov lus yuam kev thaum sau ua ke.
(Koj tuaj yeem pom tias 1 feeb 41s nkauj tau siv 23mb chaw.)
Hloov cov nkauj lub npe thiab ntev nrog lub npe thiab sijhawm ntawm koj zaj nkauj feem.
Thiab Txuag C Code cov ntaub ntawv.
Ua qhov no rau txhua Zaj Nkauj koj xav ua si nrog Arduino
Kauj Ruam 6: Ua Cov Ntaub Ntawv Kawg thiab Tua Koj Li Linux
Ntxiv koj txhua zaj nkauj hloov pauv rau hauv Cov Ntaub Ntawv muab hauv qhov txuas no.
Thiab ua raws li cov duab.
Rub cov cai rau hauv Arduino, uas kuv tau txuas nrog.
Nco ntsoov C Code cov ntaub ntawv npe. (Piv txwv li kev ua neej nyob, nyiaj daus las, hnav), vim tias peb yuav tsum hais cov npe zoo ib yam rau hauv peb cov cai nrog cov ntaub ntawv-nkag siab.
Thaum kawg tua koj li Fedora Live USB lossis lwm yam thiab teeb tsa gcc compiler thiab tom qab ntawd siv cov lus qhia ua ke los ntawm daim nplaub tshev suav nrog qhov program thiab khiav nws.
Thaum kawg, koj yuav tuaj yeem mloog nkauj los ntawm Tus Hais Lus lossis Flyback.
Ua tsaug rau koj nyeem cov ntawv qhia no thiab thov tawm tswv yim yog tias koj nyiam.
NCO TSEG Kuv tau ua ntu thib ob ntawm cov lus qhia no, uas yog txoj hauv kev yooj yim dua thiab xav tau teeb meem tsawg kawg nkaus los ua haujlwm. Txuas mus rau Ntu Ob (qhov yooj yim tshaj plaws)
Pom zoo:
ARUPI - Tus Nqi Tus Nqi Tus Nqi Uas Tau Txais Tus Nqi Uas Tau Txais Tus Nqi/Tus Kheej Tus Kheej (ARU) rau Soundscape Ecologists: 8 Kauj Ruam (nrog Duab)
ARUPI - Tus Nqi Tus Nqi Uas Tau Txais Tus Nqi Tus Nqi Uas Tau Txais Tus Nqi/Tus Kheej Tus Kheej (ARU) rau Soundscape Ecologists: Cov lus qhia no tau sau los ntawm Anthony Turner. Txoj haujlwm tau tsim los nrog ntau qhov kev pab los ntawm Shed hauv Tsev Kawm Ntawv ntawm Kev Suav, University of Kent (Mr Daniel Knox tau pab zoo!)
Ua Nkauj Nrog Arduino Siv ADC rau PWM ntawm Flyback Transformer lossis Hais Lus: 4 Cov Kauj Ruam
Ua Si Nkauj Nrog Arduino Siv ADC rau PWM ntawm Flyback Transformer lossis Hais Lus: Nyob Zoo Cov Neeg, Qhov no yog ntu thib ob ntawm kuv lwm qhov kev qhia (uas nyuaj heev), Yeej, Hauv Txoj Haujlwm no, Kuv tau siv ADC thiab TIMERS ntawm kuv Arduino hloov suab teeb liab mus rau hauv PWM teeb liab Qhov no yooj yim dua li kuv li Instructa yav dhau los
Yuav Tsim Li Cas 2d Tus Cwj Pwm Nrog Tus Cwj Pwm Tus Cwj Pwm hauv Unreal Engine 4 Siv Cov Ntawv Pom Zoo rau PC: 11 Kauj Ruam
Yuav Ua Li Cas Tsim Tus 2d Tus Cwj Pwm Nrog Tus Tswj Tus Cwj Pwm hauv Unreal Engine 4 Siv Cov Ntawv Pom Zoo rau PC: Yuav ua li cas los tsim 2d Tus Cwj Pwm nrog tus cwj pwm tswj hauv Unreal cav 4 siv cov ntawv pom rau PC Nyob zoo, Kuv yog Jordan Steltz. Kuv tau tsim kho cov vis dis aus ua si txij li thaum kuv muaj 15. Phau ntawv qhia no yuav qhia koj li cas los tsim tus yam ntxwv yooj yim nrog rau hauv
Ua Tus IPod Hais Lus Los Ntawm Daim Npav Nkauj Musicmark: 6 Kauj Ruam (nrog Duab)
Ua Tus IPod Hais Lus Los Ntawm Daim Npav Nkauj Musicmark: Puas tau txais ib daim npav rau koj hnub yug uas ntaus nkauj thaum koj qhib? Tsis txhob muab pov tseg! Nrog kev pab me ntsis los ntawm Tony the Tiger, koj tuaj yeem siv nws ua tus hais lus rau koj lub iPod
Txuas tus Ipod lossis Lwm Tus Neeg Siv Mp3 rau Cov Hais Lus Hauv Tsev Ib Yam Tsis Muaj Tus Nqi kim thiab Bulky Amplifier!: 4 Cov Kauj Ruam
Txuas tus Ipod lossis Lwm Tus Neeg Siv Mp3 rau Cov Hais Lus Hauv Tsev Ib Yam Tsis Muaj Tus Nqi kim thiab Bulky Amplifier!: Koj puas muaj cov hais lus tso suab ntxiv, uas yog tuaj nrog cheep stereos uas tawg lossis koj tsuas yog muaj yam tsis muaj laj thawj? Hauv Cov Lus Qhia Kuv yuav qhia koj yuav ua li cas koj tuaj yeem txuas lawv rau txhua tus neeg siv Mp3 lossis ib lub cuab yeej twg nrog lub suab nrov