Isi kandungan:
- Langkah 1: Perkara yang Kami Perlu untuk Projek ini (Keperluan)
- Langkah 2: Teori ADC ke PWM
- Langkah 3: Skematik
- Langkah 4: Ujian Akhir
Video: Mainkan Lagu Dengan Arduino Menggunakan ADC to PWM pada Flyback Transformer atau Speaker: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Apa khabar semua, Ini adalah bahagian kedua dari instruksiku yang lain (yang sangat sukar), Pada dasarnya, Dalam Projek ini, saya telah menggunakan ADC dan TIMER pada Arduino saya untuk menukar Audio Signal menjadi PWM Signal.
Ini lebih mudah daripada Instructable saya yang terdahulu, Inilah pautan Instructable pertama saya jika anda ingin melihat. pautan
Untuk memahami teori isyarat Audio, Bitrate, Bit kedalaman, Kadar persampelan, Anda dapat membaca teori tersebut dalam tutorial terakhir saya mengenai Instructable. Pautan ada di atas.
Langkah 1: Perkara yang Kami Perlu untuk Projek ini (Keperluan)
1. Arduino Board (kita dapat menggunakan Board apa pun (328, 2560) iaitu Mega, Uno, Mini, dll tetapi dengan pin yang berbeza)
2. PC dengan Arduino Studio.
3. Breadboard atau Perfboard
4. Menyambung Wayar
5. TC4420 (Pemandu Mosfet atau sebagainya)
6. Power Mosfet (saluran N atau P, sila pasangkan dengan betul) (Saya telah menggunakan saluran N)
7. Pembesar suara atau Transformer Flyback (Ya, anda membacanya betul !!)
8. Bekalan Kuasa yang Sesuai (0-12V) (Saya telah menggunakan Bekalan Kuasa ATX saya sendiri)
9. Heat Sink (saya selamatkan dari PC lama saya).
10. Penguat (Penguat Muzik biasa) atau Litar Penguat.
Langkah 2: Teori ADC ke PWM
Oleh itu, dalam Projek ini, saya telah menggunakan ADC Arduino yang dibina untuk melakukan pensampelan data Isyarat Audio.
ADC (Analog-to-Digital Converter) seperti namanya, ADC menukar isyarat Analog menjadi sampel Digital. Dan untuk Arduino dengan kedalaman maksimum 10-bit. Tetapi untuk Projek ini, kami akan menggunakan Persampelan 8-bit.
Semasa menggunakan ADC Arduino, kita harus ingat ADC_reference Voltage.
Arduino Uno menawarkan 1.1V, 5V (Rujukan dalaman, yang dapat ditetapkan menentukan dalam kod) atau rujukan luaran (yang harus kita terapkan secara eksternal pada pin AREF).
Mengikut pengalaman saya, minimum 2.0V harus digunakan sebagai voltan rujukan untuk mendapatkan hasil yang baik dari ADC. Sebagai 1.1V tidak berjalan dengan baik sekurang-kurangnya bagi saya. (Pengalaman peribadi)
* PENTING * * PENTING ** PENTING ** PENTING ** PENTING *
Kita perlu menggunakan isyarat audio yang diperkuat dari Amplifier atau Amplifier Circuit dengan voltan puncak (Voltan Maksimum) 5V
Kerana saya menetapkan Rujukan Voltan dalaman 5V, untuk Projek kami. Dan saya menggunakan Signal yang diperkuat menggunakan Amplifier biasa (Music Amplifier), yang kebanyakannya terdapat di rumah kami atau anda boleh membuatnya sendiri.
Jadi sekarang bahagian utama. Kadar Persampelan, iaitu berapa banyak sampel yang diambil ADC kita sesaat, lebih banyak kadar penukaran, lebih baik hasil keluaran, lebih serupa gelombang output dibandingkan dengan input.
Oleh itu, kita akan menggunakan kadar sampel 33.33Khz dalam Projek ini, dengan menetapkan jam ADC pada 500Khz. Untuk memahami bagaimana keadaannya, kita harus melihat Halaman Waktu ADC dalam lembar data cip Atmega (328p).
Kita dapat melihatnya, kita memerlukan 13.5 kitaran jam ADC untuk menyelesaikan satu sampel dengan pensampelan automatik. Dengan frekuensi 500Khz, ini bermaksud 1 / 500Khz = 2uS untuk satu kitaran ADC, yang bermaksud 13.5 * 2uS = 27uS diperlukan untuk menyelesaikan sampel ketika pensampelan automatik digunakan. Dengan memberikan 3uS lebih banyak untuk Mikrokontroler (untuk sisi selamat), Membuat 30uS keseluruhan untuk satu sampel.
Jadi 1 Sampel pada 30uS bermaksud 1 / 30uS = 33.33 KSampel / S.
Untuk menetapkan kadar persampelan, yang bergantung pada TIMER0 dari Arduino, kerana pencetus pensampelan automatik ADC bergantung pada hal itu dalam kes kami, seperti yang anda lihat juga dalam kod dan lembar data, kami telah membuat nilai OCR0A = 60 (Mengapa demikian ???)
Kerana mengikut formula yang diberikan dalam lembar data.
frekuensi (atau di sini Kadar Sampel) = Frekuensi jam Arduino / Prescaler * Nilai OCR0A (dalam kes kami)
Frekuensi atau Sampel kadar yang kita mahukan = 33.33KHz
Kekerapan jam = 16MHz
Nilai prescaler = 8 (dalam kes kami)
Nilai OCR0A = kita mahu cari ??
yang hanya memberikan OCR0A = 60, juga dalam kod Arduino kami.
TIMER1 digunakan untuk gelombang pembawa isyarat audio, Dan saya tidak akan memasukkan begitu banyak perinciannya.
Jadi, itulah teori ringkas konsep ADC ke PWM dengan Arduino.
Langkah 3: Skematik
Sambungkan semua Komponen seperti yang ditunjukkan dalam skema. Oleh itu, anda mempunyai dua pilihan: -
1. Sambungkan Pembesar Suara (Bersambung dengan 5V)
2. Sambungkan Flyback Transformer (Bersambung dengan 12V)
Saya telah mencuba kedua-duanya. Dan kedua-duanya berfungsi dengan baik.
* PENTING * * PENTING ** PENTING ** PENTING ** PENTING * Kita perlu menggunakan isyarat audio yang diperkuat dari Amplifier atau Litar Penguat dengan voltan puncak (Voltan Maksimum) 5V
Penafian: -
* Saya cadangkan menggunakan Flyback Transformer with Precaution kerana boleh membahayakan kerana menghasilkan Voltan Tinggi. Dan saya tidak akan bertanggungjawab ke atas kerosakan. *
Langkah 4: Ujian Akhir
Oleh itu, muat naik kod yang diberikan ke Arduino anda, dan sambungkan Amplified Signal ke pin A0.
Dan jangan lupa untuk menghubungkan semua pin ground ke ground yang sama.
Dan Hanya Nikmati mendengar muzik.
Disyorkan:
Paparkan & Mainkan Sensor CO2 dengan NodeMCU / ESP8266 untuk Sekolah, Tadika atau Rumah Anda: 7 Langkah
Paparkan & Mainkan Sensor CO2 Paparan Dengan NodeMCU / ESP8266 untuk Sekolah, Taman Tadika atau Rumah Anda: Saya akan menunjukkan kepada anda cara membina palam dengan cepat & mainkan sensor CO2 di mana semua elemen projek akan dihubungkan dengan wayar DuPont. Hanya akan ada 5 mata yang perlu disolder, kerana saya sama sekali tidak menyolder sebelum projek ini. Itu
PWM Dengan ESP32 - LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE: 6 Langkah
PWM Dengan ESP32 | LED Peredupan Dengan PWM pada ESP 32 Dengan Arduino IDE: Dalam arahan ini kita akan melihat bagaimana menghasilkan isyarat PWM dengan ESP32 menggunakan Arduino IDE & PWM pada dasarnya digunakan untuk menghasilkan output analog dari mana-mana MCU dan output analog itu boleh menjadi antara 0V hingga 3.3V (dalam kes esp32) & dari
Mainkan Lagu (MP3) Dengan Arduino Menggunakan PWM pada Speaker atau Flyback Transformer: 6 Steps (with Pictures)
Mainkan Lagu (MP3) Dengan Arduino Menggunakan PWM pada Speaker atau Flyback Transformer: Hello Guys, Ini adalah arahan pertama saya, saya harap anda akan Menyukainya !! Pada dasarnya, Dalam Projek ini, saya telah menggunakan Komunikasi Bersiri antara Arduino dan Laptop saya, untuk menghantar data muzik dari komputer riba saya ke Arduino. Dan menggunakan Arduino TIMERS t
Mainkan Lagu Menggunakan Stepper Motor !!: 11 Langkah (dengan Gambar)
Mainkan Lagu Menggunakan Stepper Motor !!: Projek ini adalah untuk merancang antara muka dinamik yang mudah, yang memungkinkan untuk berinteraksi dengan motor stepper dengan dua cara yang berbeza. Antaramuka pertama akan mengawal arah dan kelajuan motor stepper melalui penggunaan GUI sederhana, yang
Muat turun dan Mainkan Permainan Flash dalam atau Luar Talian: 5 Langkah
Muat turun dan Mainkan Permainan Flash dalam atau Luar Talian: Dalam arahan ini saya akan mengajar anda cara memuat turun permainan flash. Ini hebat untuk bermain dalam perjalanan dan barang-barang sekiranya anda tidak mendapat wi-fi