Sisällysluettelo:
- Vaihe 1: Tähän projektiin tarvittavat asiat (vaatimukset)
- Vaihe 2: ADC: n teoria PWM: ksi
- Vaihe 3: Kaavio
- Vaihe 4: Lopullinen testi
Video: Kappaleiden toistaminen Arduinolla ADC: n ja PWM: n käyttäminen Flyback -muuntajassa tai kaiuttimessa: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Hei kaverit, Tämä on toisen ohjeeni toinen osa (se oli paljon vaikeaa). Pohjimmiltaan tässä projektissa olen käyttänyt Arduinon ADC: tä ja AJASTIMIA muuntaakseni äänisignaalin PWM -signaaliksi.
Tämä on paljon helpompaa kuin edellinen Instructable, Tässä on linkki ensimmäiseen Instructableni, jos haluat nähdä. linkki
Voit ymmärtää äänisignaalin, bittinopeuden, bittisyvyyden ja näytteenottotaajuuden teorian lukemalla teorian viimeisessä opetusohjelmassa Instructable. Linkki on yllä.
Vaihe 1: Tähän projektiin tarvittavat asiat (vaatimukset)
1. Arduino Board (voimme käyttää mitä tahansa levyä (328, 2560) eli Mega, Uno, Mini jne., Mutta tietyillä eri nastoilla)
2. PC Arduino Studion kanssa.
3. Leipälauta tai Perfboard
4. Johtojen yhdistäminen
5. TC4420 (Mosfet -ohjain tai vastaava)
6. Virta Mosfet (N- tai P-kanava, johda sitten vastaavasti) (olen käyttänyt N-kanavaa)
7. Kaiutin tai Flyback -muuntaja (Kyllä, luit oikein!)
8. Sopiva virtalähde (0-12V) (olen käyttänyt omaa ATX-virtalähdettä)
9. Jäähdytyselementti (olen pelastanut vanhan tietokoneeni).
10. Vahvistin (normaali musiikkivahvistin) tai vahvistinpiiri.
Vaihe 2: ADC: n teoria PWM: ksi
Joten tässä projektissa olen käyttänyt Arduinon sisäänrakennettua ADC: tä audiosignaalin näytteenottoa varten.
ADC (analoginen-digitaalimuunnin), kuten nimi määrittelee, ADC muuntaa analogisen signaalin digitaalisiksi näytteiksi. Ja Arduinolle, jonka syvyys on enintään 10 bittiä. Mutta tässä projektissa käytämme 8-bittistä näytteenottoa.
Kun käytät Arduinon ADC: tä, meidän on pidettävä mielessä ADC_reference Voltage.
Arduino Uno tarjoaa 1.1V, 5V (sisäinen viite, joka voidaan asettaa määrittelemällä koodissa) tai ulkoinen viite (jota meidän on sovellettava ulkoisesti AREF -nastaan).
Kokemukseni mukaan vähintään 2,0 V tulisi käyttää vertailujännitteenä hyvän tuloksen saamiseksi ADC: stä. 1.1V ei toiminut ainakaan minulla. (Henkilökohtainen kokemus)
*TÄRKEÄÄ**TÄRKEÄÄ ** TÄRKEÄÄ ** TÄRKEÄÄ ** TÄRKEÄÄ*
Meidän on käytettävä vahvistettua äänisignaalia vahvistimesta tai vahvistinpiiristä, jonka huippujännite (maks. Jännite) on 5 V
Koska asetin projektille sisäisen jänniteohjeen 5V. Käytän vahvistettua signaalia normaalilla vahvistimella (musiikkivahvistin), joka on enimmäkseen saatavilla kotitalouksessamme tai voit rakentaa sellaisen itsellesi.
Joten nyt pääosa. Näytteenottotaajuus, joka on kuinka paljon näytteitä ADC ottaa sekunnissa, enemmän on muuntokurssi, parempi tulos on tulos, enemmän samanlaisia on lähtöaalto verrattuna panokseen.
Joten käytämme tässä projektissa 33,33 Khz: n näytteenottotaajuutta asettamalla ADC -kello 500 Khz: een. Ymmärtääksemme, miten se on, meidän on nähtävä ADC -ajoitussivu Atmega (328p) -sirun tietolomakkeessa.
Voimme nähdä, että tarvitsemme 13,5 ADC -kellosykliä yhden näytteen täydentämiseksi automaattisella näytteenotolla. Taajuudella 500 khz se tarkoittaa 1/500 khz = 2uS yhdelle ADC -syklille, mikä tarkoittaa, että näytteen suorittamiseen tarvitaan 13,5*2uS = 27uS, kun käytetään automaattista näytteenottoa. Antamalla 3uS enemmän mikrokontrollerille (turvallisen puolen vuoksi), yhteensä 30 uS yhdelle näytteelle.
Joten 1 näyte 30uS tarkoittaa 1/30uS = 33,33 KSamples/S.
Näytteenottotaajuuden asettamiseksi, joka on riippuvainen Arduinon TIMER0: sta, koska ADC: n automaattinen näytteenottolaukaisu riippuu tapauksestamme, kuten voit nähdä myös koodista ja tietolomakkeesta, olemme määrittäneet arvon OCR0A = 60 (Miksi niin ???)
Koska tietolomakkeen kaavan mukaan.
taajuus (tai tässä näytteenottotaajuus) = Arduinon/esiasetuksen kellotaajuus*OCR0A -arvo (meidän tapauksessamme)
Haluttu taajuus tai näytteenottotaajuus = 33,33 KHz
Kellotaajuus = 16MHz
Esipainikkeen arvo = 8 (meidän tapauksessamme)
OCR0A: n arvo = haluamme löytää ??
joka yksinkertaisesti antaa OCR0A = 60, myös Arduino -koodissamme.
TIMER1: ää käytetään audiosignaalin kantoaaltoon, enkä mene siihen niin moniin yksityiskohtiin.
Joten se oli lyhyt teoria ADC: n käsitteestä PWM: ään Arduinon kanssa.
Vaihe 3: Kaavio
Liitä kaikki komponentit kaavion mukaisesti. Tässä on siis kaksi vaihtoehtoa:-
1. Liitä kaiutin (kytketty 5 V: lla)
2. Liitä Flyback -muuntaja (kytketty 12 V: lla)
Olen kokeillut molempia. Ja molemmat toimivat aika hyvin.
*TÄRKEÄÄ**TÄRKEÄÄ ** TÄRKEÄÄ ** TÄRKEÄÄ ** TÄRKEÄÄ*Meidän on käytettävä vahvistettua äänisignaalia vahvistimesta tai vahvistinpiiristä, jonka huippujännite (maks. Jännite) on 5 V
Vastuuvapauslauseke:-
*Suosittelen Flyback -muuntajan käyttöä varotoimella, koska se voi olla vaarallista, koska se tuottaa korkeita jännitteitä. Ja en ole vastuussa mistään vahingoista.*
Vaihe 4: Lopullinen testi
Joten lataa annettu koodi Arduinoosi ja liitä vahvistettu signaali A0 -nastaan.
Ja älä unohda liittää kaikki maadoitusnastat yhteiseen maahan.
Ja nauti vain musiikin kuuntelusta.
Suositeltava:
Värähtelevien kappaleiden juliste: 6 vaihetta
Värähtelevät kappaleiden juliste: Mitä voimme tehdä julisteella? Voitko kuvitella, että kuva tai juliste laulaa tai puhuu? Teknisenä henkilöstönä opetan tänään, kuinka juliste on elävä ja mielenkiintoinen. Voit jopa olla vuorovaikutuksessa kuvien kanssa. Tulkaamme katsomaan. Yhteisö
Kappaleiden tekeminen Arduinolla ja tasavirtamoottorilla: 6 vaihetta
Kappaleiden tekeminen Arduinolla ja tasavirtamoottorilla: Toissapäivänä, kun selailin joitain Arduinoa käsitteleviä artikkeleita, huomasin mielenkiintoisen projektin, jossa käytettiin Arduinon ohjaamia askelmoottoreita lyhyiden melodioiden luomiseen. Arduino käytti PWM (Pulse Width Modulation) -tappia askelmoottorin käynnistämiseen
Puhuva Arduino - MP3 -tiedoston toistaminen Arduinolla ilman moduulia - Mp3 -tiedoston toistaminen Arduinosta PCM: llä: 6 vaihetta
Puhuva Arduino | MP3 -tiedoston toistaminen Arduinolla ilman moduulia | Mp3 -tiedoston toistaminen Arduinolta PCM: n avulla: Tässä ohjeessa opimme MP3 -tiedoston toistamisen arduinolla ilman äänimoduulia, tässä käytämme PCM -kirjastoa Arduinolle, joka toistaa 16 -bittistä PCM: ää 8 kHz: n taajuudella, joten voit tehdä tämän
Äänitiedostojen toistaminen (Wav) Arduinolla ja DAC: llä: 9 vaihetta
Äänitiedostojen toistaminen (Wav) Arduinon ja DAC: n kanssa: Toista wav -tiedoston ääni Audino SD -kortilta. Tämä Instructable näyttää, kuinka SdCard -kortin wav -tiedosto voidaan toistaa yksinkertaisen piirin kautta kaiuttimelle. Wav -tiedoston on oltava 8 -bittinen mono. Minulla ei ole ollut ongelmia 44 KHz: n tiedostojen toistamisessa
Kappaleiden tai muun sisällön poistaminen DVD -levyltä MP3 -muodossa: 4 vaihetta
Kappaleiden tai muun sisällön poistaminen DVD -levyltä MP3 -muodossa: Jos sinulla on DualDisc -levy, jolla on kappaleita, joita haluat kuunnella iPodilla, tai tavallinen DVD -levy, jossa on ehkä kommenttiraita, jota haluat kuunnella iPod, lue loput tästä tehdäksesi sen. Tarvittavat esineet-tietokone, kädet, aivot, DVD, iPod