Satura rādītājs:

Atskaņojiet dziesmas, izmantojot Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni: 4 soļi
Atskaņojiet dziesmas, izmantojot Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni: 4 soļi

Video: Atskaņojiet dziesmas, izmantojot Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni: 4 soļi

Video: Atskaņojiet dziesmas, izmantojot Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni: 4 soļi
Video: Dziedi Auļu Ķekatu dziesmas izmantojot jauno Apple Music Sing funkciju! 2024, Jūlijs
Anonim
Atskaņojiet dziesmas ar Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni
Atskaņojiet dziesmas ar Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni
Atskaņojiet dziesmas ar Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni
Atskaņojiet dziesmas ar Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni
Atskaņojiet dziesmas ar Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni
Atskaņojiet dziesmas ar Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni
Atskaņojiet dziesmas ar Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni
Atskaņojiet dziesmas ar Arduino, izmantojot ADC līdz PWM, izmantojot Flyback transformatoru vai skaļruni

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

ADC un PWM teorija
ADC un PWM teorija
ADC un PWM teorija
ADC un PWM teorija

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

Shematisks
Shematisks

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: