Satura rādītājs:
- 1. darbība: lietas, kas mums nepieciešamas šim projektam (prasības)
- 2. solis: ADC teorija uz PWM
- 3. darbība. Shēma
- 4. solis: galīgais tests
Video: Atskaņojiet dziesmas, izmantojot Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Sveiki puiši, Šī ir mana cita pamācāmā otrā daļa (tas bija daudz grūti). Būtībā šajā projektā esmu izmantojis ADC un TIMERS savā Arduino, lai audio signālu pārvērstu PWM signālā.
Tas ir daudz vieglāk nekā mans iepriekšējais Instructable. Šeit ir mana pirmā Instructable saite, ja vēlaties to redzēt. saite
Lai saprastu audio signāla teoriju, bitu pārraides ātrumu, bitu dziļumu, paraugu ņemšanas ātrumu, jūs varat izlasīt teoriju manā pēdējā apmācībā par Instructable. Saite ir augstāk.
1. darbība: lietas, kas mums nepieciešamas šim projektam (prasības)
1. Arduino dēlis (mēs varam izmantot jebkuru dēli (328, 2560), ti, Mega, Uno, Mini utt., Bet ar īpašām dažādām tapām)
2. Dators ar Arduino Studio.
3. Maizes dēlis vai perfboard
4. Vadu savienošana
5. TC4420 (Mosfet draiveris vai tamlīdzīgi)
6. Barošanas Mosfet (N vai P kanāls, lūdzu, vadu pēc tam) (esmu izmantojis N-kanālu)
7. Skaļrunis vai Flyback transformators (Jā, jūs to izlasījāt pareizi!)
8. Piemērots barošanas avots (0-12V) (esmu izmantojis savu ATX barošanas avotu)
9. Heat Sink (esmu izglābis no sava vecā datora).
10. Pastiprinātājs (parasts mūzikas pastiprinātājs) vai pastiprinātāja ķēde.
2. solis: ADC teorija uz PWM
Tātad šajā projektā esmu izmantojis iebūvētu Arduino ADC, lai veiktu audio signāla datu paraugu ņemšanu.
ADC (Analog-to-Digital Converter), kā nosaukums nosaka, ADC pārveido analogo signālu digitālos paraugos. Un Arduino ar maksimālo 10 bitu dziļumu. Bet šim projektam mēs izmantosim 8 bitu izlasi.
Izmantojot Arduino ADC, mums jāpatur prātā ADC_reference Voltage.
Arduino Uno piedāvā 1.1V, 5V (iekšējā atsauce, ko var iestatīt, nosakot kodu) vai ārēju atsauci (kas mums ir jāpiemēro ārēji AREF tapai).
Pēc manas pieredzes, lai iegūtu labu rezultātu no ADC, kā atskaites spriegums jāizmanto vismaz 2,0 V. Tā kā 1.1V vismaz man negāja. (Personīgā pieredze)
*SVARĪGI**SVARĪGI ** SVARĪGI ** SVARĪGI ** SVARĪGI*
Mums ir jāizmanto pastiprināts audio signāls no pastiprinātāja vai pastiprinātāja ķēdes ar maksimālo spriegumu (maks. Spriegums) 5V
Tā kā mūsu projektam es iestatīju 5V iekšējo sprieguma atskaiti. Un es izmantoju pastiprinātu signālu, izmantojot parastu pastiprinātāju (mūzikas pastiprinātāju), kas lielākoties ir pieejams mūsu mājsaimniecībā, vai arī varat to izveidot pats.
Tātad tagad galvenā daļa. Izlases ātrums, tas ir, cik daudz paraugu mūsu ADC ņem sekundē, jo lielāks ir reklāmguvumu līmenis, jo labāks būs izvades rezultāts, līdzīgāks būs izejas vilnis, salīdzinot ar ievadi.
Tātad šajā projektā mēs izmantosim 33,33 Khz paraugu ņemšanas ātrumu, iestatot ADC pulksteni uz 500 Khz. Lai saprastu, kā tas ir, mums ir jāredz ADC laika lapa Atmega (328p) mikroshēmas datu lapā.
Mēs redzam, ka mums ir nepieciešami 13,5 ADC pulksteņa cikli, lai pabeigtu vienu paraugu ar automātisko paraugu ņemšanu. Ar 500Khz frekvenci tas nozīmē 1/500Khz = 2uS vienam ADC ciklam, kas nozīmē, ka parauga pabeigšanai, kad tiek izmantota automātiskā paraugu ņemšana, ir nepieciešami 13,5*2uS = 27uS. Piešķirot 3uS vairāk mikrokontrolleram (drošai pusei), kopā veidojot 30uS vienam paraugam.
Tātad 1 paraugs pie 30uS nozīmē 1/30uS = 33,33 KSamples/S.
Lai iestatītu paraugu ņemšanas ātrumu, kas ir atkarīgs no Arduino TIMER0, jo ADC automātiskās paraugu ņemšanas aktivizētājs ir atkarīgs no tā, kā tas ir mūsu gadījumā, kā jūs varat redzēt arī kodā un datu lapā, mēs esam izveidojuši vērtību OCR0A = 60 (Kāpēc tā ???)
Jo pēc formulas, kas dota datu lapā.
frekvence (vai šeit Parauga likme) = Arduino/Prescaler pulksteņa frekvence*OCR0A vērtība (mūsu gadījumā)
Vēlamā frekvence vai izlases frekvence = 33,33KHz
Pulksteņa frekvence = 16 MHz
Prescaler vērtība = 8 (mūsu gadījumā)
OCR0A vērtība = mēs vēlamies atrast ??
kas vienkārši dod OCR0A = 60, arī mūsu Arduino kodā.
TIMER1 tiek izmantots audio signāla nesējviļņam, un es to sīkāk neiedziļināšos.
Tātad, tā bija īsa teorija par ADC jēdzienu PWM ar Arduino.
3. darbība. Shēma
Pievienojiet visus komponentus, kā parādīts shēmā. Tātad jums ir divas iespējas:-
1. Pievienojiet skaļruni (savienots ar 5V)
2. Pievienojiet Flyback transformatoru (savienots ar 12V)
Esmu izmēģinājis abus. Un abi strādā diezgan labi.
*SVARĪGI**SVARĪGI ** SVARĪGI ** SVARĪGI ** SVARĪGI*Mums ir jāizmanto pastiprināts audio signāls no pastiprinātāja vai pastiprinātāja ķēdes ar maksimālo spriegumu (maks. Spriegums) 5V
Atruna:-
*Es iesaku izmantot Flyback transformatoru ar piesardzību, jo tas var būt bīstami, jo tas rada augstu spriegumu. Un es neesmu atbildīgs par jebkādiem zaudējumiem.*
4. solis: galīgais tests
Tāpēc augšupielādējiet norādīto kodu savā Arduino un pievienojiet pastiprināto signālu A0 tapai.
Un neaizmirstiet savienot visas zemes tapas ar kopēju zemi.
Un vienkārši izbaudiet mūzikas klausīšanos.
Ieteicams:
Atskaņojiet dziesmas (MP3), izmantojot Arduino, izmantojot PWM skaļrunī vai Flyback Transformatorā: 6 soļi (ar attēliem)
Atskaņot dziesmas (MP3) ar Arduino, izmantojot PWM skaļrunī vai Flyback Transformatorā: Sveiki, puiši, šī ir mana pirmā pamācība, es ceru, ka jums tas patiks !! Būtībā šajā projektā esmu izmantojis sērijveida komunikāciju starp manu Arduino un manu klēpjdatoru, lai pārsūtītu mūzikas datus no klēpjdatora uz Arduino. Un izmantojot Arduino TIMERS t
Mainiet Bluetooth austiņas/skaļruni/adaptera nosaukumu vai citus iestatījumus, izmantojot UART: 8 soļi (ar attēliem)
Mainiet Bluetooth austiņu/skaļruņa/adaptera nosaukumu vai citus iestatījumus, izmantojot UART: vai jums ir pāris Bluetooth austiņas vai citi Bluetooth audio piederumi, kuriem ir patiešām pretīgs nosaukums, un katru reizi, kad tos savienojat pārī, rodas iekšēja vēlme mainīt vārds? Pat ja iemesli nav vienādi, pastāv
Atskaņojiet dziesmas, izmantojot pakāpju motoru !!: 11 soļi (ar attēliem)
Atskaņot dziesmas, izmantojot pakāpju motoru !!: Šis projekts ir par vienkāršas dinamiskas saskarnes izveidi, kas ļaus mijiedarboties ar pakāpju motoru divos dažādos veidos. Pirmā saskarne kontrolēs pakāpju motora virzienu un ātrumu, izmantojot vienkāršs GUI, kas
Vadīt līdz 4 servo, izmantojot viedtālruni vai jebkuru ierīci ar audio izvadi: 3 soļi
Kontrolējiet līdz 4 servo, izmantojot viedtālruni vai jebkuru ierīci ar audio izvadi: Šeit es piedāvāju vienkāršu elektronisku montāžu, lai kontrolētu līdz četriem servo ar jebkuru ierīci, kas spēj nolasīt audio failu
Kā noņemt dziesmas vai citas lietas no DVD kā MP3: 4 soļi
Kā noņemt dziesmas vai citas lietas no DVD kā MP3: ja jums ir DualDisc disks ar dziesmām, kuras vēlaties klausīties iPod, vai parasts DVD ar varbūt komentāru celiņu, kuru vēlaties klausīties Ipod, izlasiet visu pārējo, lai to izdarītu. Nepieciešamie priekšmeti-dators, rokas, smadzenes, DVD, iPod