Orodha ya maudhui:
- Hatua ya 1: Vitu Tunavyohitaji kwa Mradi huu (Mahitaji)
- Hatua ya 2: Nadharia ya ADC kwa PWM
- Hatua ya 3: Mpangilio
- Hatua ya 4: Jaribio la Mwisho
Video: Cheza Nyimbo na Arduino Kutumia ADC kwa PWM kwenye Flyback Transformer au Spika: Hatua 4
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Halo Jamaa, Hii ni sehemu ya pili ya mwingine anayefundishwa (ambayo ilikuwa ngumu sana), Kimsingi, Katika Mradi huu, nimetumia ADC na TIMERS kwenye Arduino yangu kubadilisha Saini ya Sauti kuwa Ishara ya PWM.
Hii ni rahisi sana kuliko ile ya kufundisha ya hapo awali, Hapa kuna kiunga cha Maagizo yangu ya kwanza ikiwa unataka kuona. kiungo
Ili kuelewa nadharia ya ishara ya Sauti, Bitrate, kina cha Bit, kiwango cha Sampuli, Unaweza kusoma nadharia katika mafunzo yangu ya mwisho juu ya Inayoweza kufundishwa. Kiungo kiko juu.
Hatua ya 1: Vitu Tunavyohitaji kwa Mradi huu (Mahitaji)
1. Bodi ya Arduino (tunaweza kutumia Bodi yoyote (328, 2560) yaani Mega, Uno, Mini, nk lakini kwa pini maalum tofauti)
2. PC na Studio ya Arduino.
3. Bodi ya mkate au ubao wa ubao
4. Kuunganisha waya
5. TC4420 (Dereva wa Mosfet au kitu kama hicho)
6. Power Mosfet (kituo cha N au P, tafadhali waya kisha ipasavyo) (nimetumia N-channel)
7. Spika au Flyback Transformer (Ndio unaisoma sawa !!)
8. Ugavi wa Nguvu unaofaa (0-12V) (nimetumia Ugavi wangu wa Nguvu wa ATX)
9. Kuzama kwa joto (nimeokoa kutoka kwa PC yangu ya zamani).
10. Amplifier (Amplifier ya kawaida ya Muziki) au Mzunguko wa Amplifier.
Hatua ya 2: Nadharia ya ADC kwa PWM
Kwa hivyo katika Mradi huu, nimetumia katika kujengwa ADC ya Arduino kufanya sampuli ya data ya Saini ya Sauti.
ADC (Analog-To-Digital Converter) kama jina linavyofafanua, ADC inabadilisha ishara ya Analog kuwa sampuli za Dijiti. Na kwa Arduino yenye kiwango cha juu cha 10-bit. Lakini kwa Mradi huu, tutatumia Sampuli ya 8-bit.
Wakati tunatumia ADC ya Arduino, lazima tukumbuke ADC_reference Voltage.
Arduino Uno inatoa 1.1V, 5V (Rejeleo la ndani, ambalo linaweza kuwekwa kufafanua nambari) au rejeleo la nje (ambalo tunalazimika kutumia nje kwa pini ya AREF).
Kulingana na uzoefu wangu, kiwango cha chini cha 2.0V kinapaswa kutumiwa kama voltage ya kumbukumbu kupata matokeo mazuri kutoka kwa ADC. Kama 1.1V haikuenda vizuri angalau kwangu. (Uzoefu wa Kibinafsi)
* MUHIMU * * MUHIMU ** MUHIMU ** MUHIMU ** MUHIMU *
Tunahitaji kutumia ishara ya sauti iliyokuzwa kutoka kwa Amplifier au Mzunguko wa Amplifier na voltage ya juu (Max. Voltage) ya 5V
Kwa sababu niliweka Marejeleo ya Voltage ya ndani ya 5V, kwa Mradi wetu. Ninatumia Ishara iliyokuzwa kwa kutumia Kikuza sauti cha kawaida (Kikuza Muziki), ambacho kinapatikana zaidi katika kaya yetu au unaweza kujijengea mwenyewe.
Kwa hivyo sasa sehemu kuu. Kiwango cha sampuli, ambayo ni sampuli ngapi ADC yetu inachukua kwa sekunde, zaidi ni kiwango cha ubadilishaji, bora itakuwa matokeo ya pato, sawa zaidi itakuwa wimbi la pato ikilinganishwa na pembejeo.
Kwa hivyo, tutatumia kiwango cha sampuli cha 33.33Khz katika Mradi huu, kwa kuweka saa ya ADC kwa 500Khz Ili kuelewa jinsi ilivyo hivyo, lazima tuone Ukurasa wa Majira ya ADC kwenye safu ya data ya Atmega (328p).
Tunaweza kuona kwamba, tunahitaji mizunguko ya saa 13.5 ADC kumaliza sampuli moja na sampuli ya kiotomatiki. Na mzunguko wa 500Khz, inamaanisha 1 / 500Khz = 2uS kwa mzunguko mmoja wa ADC, ambayo inamaanisha 13.5 * 2uS = 27uS inahitajika kumaliza sampuli wakati sampuli ya auto inatumiwa. Kwa kutoa 3uS zaidi kwa Microcontroller (kwa upande salama), Kufanya jumla ya 30uS kabisa kwa sampuli moja.
Kwa hivyo Mfano 1 kwa 30uS inamaanisha 1 / 30uS = 33.33 KSampuli / S.
Kuweka kiwango cha Sampuli, ambacho kinategemea TIMER0 ya Arduino, kwa sababu kichocheo cha sampuli ya ADC kinategemea hiyo kwa upande wetu, kama unavyoweza kuona katika nambari na hati, tumefanya thamani ya OCR0A = 60 (Kwanini hivyo ???)
Kwa sababu kulingana na fomula iliyotolewa kwenye data.
mzunguko (au hapa Kiwango cha Mfano) = Mzunguko wa saa wa Arduino / Prescaler * Thamani ya OCR0A (kwa upande wetu)
Mzunguko au Kiwango cha Mfano tunachotaka = 33.33KHz
Mzunguko wa saa = 16MHz
Thamani ya dalali = 8 (kwa upande wetu)
Thamani ya OCR0A = tunataka kupata?
ambayo inatoa OCR0A = 60 tu, pia katika nambari yetu ya Arduino.
TIMER1 hutumiwa kwa wimbi la mtoaji wa ishara ya sauti, Na sitaenda kwa maelezo mengi ya hiyo.
Kwa hivyo, hiyo ilikuwa nadharia fupi ya dhana ya ADC kwa PWM na Arduino.
Hatua ya 3: Mpangilio
Unganisha Vipengele vyote kama inavyoonekana katika skimu. Kwa hivyo una chaguzi mbili hapa: -
1. Unganisha Spika (Imeunganishwa na 5V)
2. Unganisha Flyback Transformer (Imeunganishwa na 12V)
Nimejaribu zote mbili. Na wote hufanya kazi vizuri.
* MUHIMU * * MUHIMU ** MUHIMU ** MUHIMU ** MUHIMU ** MUHIMU * Tunahitaji kutumia ishara ya sauti iliyokuzwa kutoka kwa Amplifier au Mzunguko wa Amplifier na voltage ya juu (Max. Voltage) ya 5V
Kanusho: -
* Ninapendekeza kutumia Flyback Transformer na Tahadhari kwani inaweza kuwa hatari kwa sababu inazalisha Voltages High. Na sitawajibika kwa uharibifu wowote. *
Hatua ya 4: Jaribio la Mwisho
Kwa hivyo pakia nambari iliyopewa kwa Arduino yako, na unganisha Ishara ya Amplified kwa pini ya A0.
Na usisahau kuunganisha pini zote za ardhi kwenye ardhi ya kawaida.
Na Furahiya tu kusikiliza muziki.
Ilipendekeza:
Cheza Nyimbo (MP3) Na Arduino Kutumia PWM kwenye Spika au Flyback Transformer: Hatua 6 (na Picha)
Cheza Nyimbo (MP3) Na Arduino Kutumia PWM kwenye Spika au Flyback Transformer: Hello Guys, Hii ndio mafunzo yangu ya kwanza, natumai utaipenda !! Kimsingi, Katika Mradi huu nimetumia Mawasiliano ya Siri kati ya Arduino yangu na Laptop yangu, kusambaza data ya muziki kutoka Laptop yangu kwenda Arduino. Na kutumia Arduino Timers t
Cheza Bluetooth kwenye Sonos Kutumia Raspberry Pi: Hatua 25
Cheza Bluetooth kwenye Sonos Kutumia Raspberry Pi: Hapo awali niliandika kuelezewa kuelezea jinsi ya kuongeza aux au Analog-line kwa Sonos ukitumia Raspberry Pi. Msomaji aliuliza ikiwa itawezekana kutiririsha sauti ya bluetooth kutoka kwa simu yake kwenda kwa Sonos. Ni rahisi kufanya hivyo kwa kutumia dongle ya Bluetooth
Cheza Nyimbo Kutumia Stepper Motor !!: Hatua 11 (na Picha)
Cheza Nyimbo Kutumia Stepper Motor !!: Mradi huu ni juu ya kuunda kiolesura rahisi cha nguvu, ambacho kitaruhusu kushirikiana na motor stepper kwa njia mbili tofauti. Interface ya kwanza itadhibiti mwelekeo na kasi ya motor stepper kupitia matumizi ya rahisi GUI, ambayo h
Ondoa Maneno ya Nyimbo kutoka kwa Nyimbo ZAIDI: Hatua 6 (na Picha)
Ondoa Maneno kutoka Nyimbo ZAIDI: Hii itakufundisha jinsi ya kuondoa sauti kutoka karibu wimbo wowote. Hii ni nzuri kwa kutengeneza wimbo wako wa Karaoke Sasa kabla sijaanza nataka ujue hii haitaondoa kabisa mwimbaji, lakini itafanya kazi nzuri sana kwa hivyo inafaa
Cheza nyimbo kwenye mchezaji wa rekodi ya zamani ya miaka 70-hakuna Mabadiliko ya Kudumu: Hatua 3
Cheza Mp3s kwenye Kichezaji cha Rekodi ya Zamani ya Miaka 70-hakuna Mabadiliko ya Kudumu: Kile nimefanya kimsingi ni kuanzisha unganisho la mono kati ya chanzo cha MP3 au Media cha chaguo lako, kompyuta yako, Cassette esk, walkie-talkie, na moja kwa moja imechomwa moto kwa spika kupitia clamps za alligator.Kama kawaida, video ya mafunzo / onyesho: TAFADHALI