Daftar Isi:

Arduino Menjadi Talking Tom: 6 Langkah
Arduino Menjadi Talking Tom: 6 Langkah

Video: Arduino Menjadi Talking Tom: 6 Langkah

Video: Arduino Menjadi Talking Tom: 6 Langkah
Video: When The Quiet Kid Does Your Homework 💀 #electronics #arduino #engineering 2024, Juli
Anonim
Arduino Menjadi Talking Tom
Arduino Menjadi Talking Tom
Arduino Menjadi Talking Tom
Arduino Menjadi Talking Tom

Salah satu kenangan tertua saya menggunakan smartphone adalah bermain game 'Talking Tom'. Permainan itu cukup sederhana. Ada seekor kucing, bernama Tom, yang bisa berbicara, semacam. Dalam permainan, Tom akan mendengarkan masukan apa pun melalui mikrofon telepon dan kemudian mengulangi apa pun yang didengarnya. Jadi, apa pun yang dikatakan Tom, itu hanya akan mengulangi hal yang sama dengan suaranya sendiri yang melengking.

Meskipun terdengar sederhana, seluruh prosedur ini memerlukan banyak langkah rumit seperti mengambil sampel input analog mikrofon dalam bentuk digital, memanipulasi audio untuk memberikan Tom suara uniknya, dan kemudian merekonstruksi sinyal dari semua nilai digital tersebut untuk memutarnya kembali melalui speaker.. Semua langkah rumit ini, tetapi smartphone menanganinya seperti pesona bahkan 9 hingga 10 tahun yang lalu!

Hal yang menarik adalah melihat apakah hal yang sama dapat dilakukan dengan papan Arduino berbasis mikrokontroler yang murah. Jadi, dalam instruksi ini saya akan menunjukkan bagaimana Anda dapat membuat proyek seperti Talking Tom sederhana dari Arduino dan beberapa elektronik murah lainnya.

Instruksi ini ditulis bekerja sama dengan Hatchnhack Makerspace di Delhi

CATATAN: Instruksi ini adalah versi pertama dari proyek yang melengkapi fitur 'Berbicara' dari Talking Tom di mana arduino akan dapat mengulangi apa pun yang Anda katakan padanya. Bagian perubahan suara akan dibahas di versi mendatang, meskipun, karena resolusi yang lebih rendah dari ADC bawaan Arduino, audio yang direkam sudah terdengar sedikit berbeda: P (Ini dapat dilihat dengan jelas dalam video proyek).

Jadi ayo mulai!

Langkah 1: Bahan yang Digunakan

Bahan-bahan yang digunakan
Bahan-bahan yang digunakan
Bahan-bahan yang digunakan
Bahan-bahan yang digunakan
Bahan-bahan yang digunakan
Bahan-bahan yang digunakan

Perangkat keras:

  • Arduino UNO
  • Modul mikrofon MAX4466 dengan Penguatan yang Dapat Disesuaikan
  • Modul Pembaca Kartu SD berbasis SPI
  • kartu SD
  • Audio Amplifier seperti speaker PC, modul amplifier PAM8403, dll.
  • Speaker untuk menghubungkan ke Amplifier
  • Jack Audio Wanita
  • 1x1k ohm resistor
  • 2x10k ohm resistor
  • 1 x 10uF Kapasitor
  • 2 x Tombol Tekan
  • Kabel Jumper

Perangkat lunak:

  • Arduino IDE
  • Keberanian (opsional)
  • TMRpcm dan perpustakaan SD untuk Arduino

Langkah 2: Gambaran Umum Proyek

Proyek ini terutama memiliki 2 fitur:

  • Itu dapat memutar audio yang dipilih secara acak dari satu set file audio pra-instal di kartu SD untuk efek suara dll.
  • Itu dapat merekam input suara dari mikrofon dan kemudian memutarnya kembali segera setelah perekaman berhenti. Ini memungkinkan arduino untuk mengulangi apa pun yang didengarnya melalui mikrofon.

Antarmuka Pengguna proyek terutama terdiri dari 2 tombol tekan yang masing-masing sesuai dengan salah satu fitur di atas.

Kerja keras utama untuk merekam dan memutar file audio dari kartu SD ditangani oleh perpustakaan TMRpcm

Rekaman audio menggunakan modul mic MAX4466, ADC internal arduino dan perpustakaan TMRpcm untuk mengambil sampel audio dan kemudian menyimpannya sementara di kartu SD sebagai file '.wav' untuk pemutaran. File audio '.wav' menggunakan PCM (Pulse Code Modulation) untuk menyimpan data audio dalam format digital sehingga dapat dengan mudah diputar kembali. Umumnya, lebih baik menggunakan ADC eksternal untuk proyek berbasis audio karena resolusi ADC Arduino tidak terlalu tinggi tetapi berfungsi untuk proyek ini.

Pemutaran file audio (pra-instal & direkam) juga dilakukan dengan bantuan perpustakaan TMRpcm yang mengeluarkan audio sebagai sinyal PWM dari pin arduino yang diaktifkan PWM. Sinyal ini kemudian diumpankan ke filter RC untuk mendapatkan sinyal analog yang kemudian diumpankan ke amplifier untuk memutar audio melalui speaker. Untuk bagian ini Anda juga dapat menggunakan DAC eksternal karena arduino tidak memilikinya secara internal. Menggunakan DAC mungkin merupakan pilihan yang lebih baik karena akan meningkatkan kualitas audio secara signifikan.

Komunikasi antara modul kartu SD dan arduino dilakukan melalui SPI (Serial peripheral Interface). Kode, memanfaatkan perpustakaan SD & SPI untuk mengakses konten kartu SD dengan mudah.

Langkah 3: Siapkan Kartu SD & Hubungkan Modul Kartu SD

Siapkan Kartu SD & Hubungkan Modul Kartu SD
Siapkan Kartu SD & Hubungkan Modul Kartu SD
Siapkan Kartu SD & Hubungkan Modul Kartu SD
Siapkan Kartu SD & Hubungkan Modul Kartu SD
Siapkan Kartu SD & Hubungkan Modul Kartu SD
Siapkan Kartu SD & Hubungkan Modul Kartu SD
Siapkan Kartu SD & Hubungkan Modul Kartu SD
Siapkan Kartu SD & Hubungkan Modul Kartu SD
  • Pertama, Anda harus memformat sebagai kartu SD dengan sistem file FAT16 atau FAT32 (Anda dapat menggunakan ponsel cerdas Anda untuk memformat kartu SD).
  • Sekarang pra-instal beberapa file audio.wav di kartu SD. Anda dapat membuat file.wav dengan Audacity (lihat petunjuk di bawah). Ingatlah untuk memberi nama file sebagai audio_1.wav, audio_2.wav, audio_3.wav dan seterusnya.

Modul kartu SD menggunakan SPI untuk mengomunikasikan data dengan arduino. Oleh karena itu, hanya terhubung ke pin yang mengaktifkan SPI. Koneksi ini adalah sebagai berikut:

  • Vcc - 5v
  • GND - GND
  • MOSI (Master Out Slave In) - pin 11
  • MISO (Master In Slave Out) - pin 12
  • CLK (Jam) - pin 13
  • SS/CS (Pilihan Budak/Pilihan Chip) - pin 10

Menghasilkan file '.wav' dengan Perangkat Lunak Audacity:

  • Buka file audio yang ingin Anda konversi ke.wav di Audacity.
  • Klik pada nama file dan kemudian pilih 'Split Stereo to Mono'. Opsi ini membagi audio stereo menjadi dua saluran mono. Anda sekarang dapat menutup salah satu saluran.
  • Ubah nilai 'Project Rate' di bagian bawah menjadi 16000 Hz. Nilai ini sesuai dengan frekuensi pengambilan sampel maksimal dari ADC internal arduino.
  • Sekarang masuk ke File->Export/Export as WAV.
  • Pilih lokasi dan nama file yang sesuai. Dari menu encoding pilih 'Unsigned 8-bit PCM' karena kami menggunakan format PCM untuk menyimpan audio dalam format digital.

Langkah 4: Hubungkan Output Audio & Mikrofon

Hubungkan Output Audio & Mikrofon
Hubungkan Output Audio & Mikrofon
Hubungkan Output Audio & Mikrofon
Hubungkan Output Audio & Mikrofon
Hubungkan Output Audio & Mikrofon
Hubungkan Output Audio & Mikrofon
Hubungkan Output Audio & Mikrofon
Hubungkan Output Audio & Mikrofon

Menghubungkan Mikrofon:

  • Vcc - 3.3v
  • GND - GND
  • KELUAR - pin A0

CATATAN:

  • Coba sambungkan mikrofon langsung ke arduino alih-alih menggunakan papan tempat memotong roti karena dapat menyebabkan kebisingan yang tidak perlu dalam sinyal input.
  • Pastikan untuk menyolder header pada modul mikrofon dengan bersih karena sambungan solder yang buruk juga menghasilkan kebisingan.
  • Modul mikrofon ini memiliki penguatan yang dapat disesuaikan yang dapat dikontrol dengan bantuan pot di bagian belakang papan. Saya akan menyarankan Anda untuk menjaga gain agak rendah karena itu tidak akan memperkuat suara terlalu banyak sementara Anda bisa berbicara dengan menjaganya di dekat mulut Anda sehingga menghasilkan output yang lebih bersih.

Menghubungkan Keluaran Audio:

  • Tempatkan Kapasitor 10 uF dan resistor 1k ohm secara seri pada papan tempat memotong roti dengan positif kapasitor terhubung ke resistor. Ini bersama-sama membentuk filter RC yang mengubah output PWM menjadi sinyal analog yang dapat diumpankan ke amplifier.
  • Hubungkan pin 9 Arduino ke ujung resistor lainnya.
  • Terminal negatif Kapasitor terhubung ke saluran kiri dan kanan jack audio perempuan.
  • GND dari jack Audio akan terhubung ke GND.
  • Soket audio terhubung ke amplifier dengan Kabel Aux. Dalam kasus saya, saya menggunakan Sistem Speaker PC saya.

CATATAN:

Menggunakan PWM sebagai output audio mungkin bukan pilihan terbaik karena DAC eksternal akan memberikan resolusi dan kualitas yang jauh lebih baik. Selain itu, kapasitor dan resistor di filter RC dapat menyebabkan kebisingan yang tidak diinginkan. Tapi tetap saja outputnya cukup lumayan untuk proyek ini

Langkah 5: Pasang Tombol

Pasang Tombol
Pasang Tombol
Pasang Tombol
Pasang Tombol
Pasang Tombol
Pasang Tombol

Proyek ini menggunakan untuk menekan tombol sebagai antarmuka pengguna. Keduanya melakukan fungsi yang berbeda dan digunakan secara berbeda tetapi memiliki kabel yang sama. Koneksi mereka adalah sebagai berikut:

  • Tempatkan tombol di papan tempat memotong roti.
  • Pasang satu terminal salah satu tombol ke pin 2 arduino dengan resistor pull down 10k ohm. Terminal tombol lainnya terhubung ke 5v. Jadi, ketika tombol ditekan, pin 2 menjadi TINGGI dan kami dapat mendeteksinya dalam kode.
  • Tombol lainnya terhubung sama dengan pin 3 arduino, bukan 2.

Tombol yang terhubung ke pin 2 memutar file audio acak dari kumpulan file audio pra-instal pada Kartu SD saat ditekan sekali.

Tombol yang terhubung ke pin 3 adalah untuk merekam. Anda harus menekan dan menahan tombol ini untuk merekam. Arduino mulai merekam segera setelah tombol ini ditekan dan berhenti merekam saat tombol ini dilepaskan. Setelah menghentikan rekaman, ia segera memutar ulang rekaman itu.

Langkah 6: Unggah Kode

Unggah Kode
Unggah Kode
Unggah Kode
Unggah Kode
Unggah Kode
Unggah Kode

Sebelum mengupload kode, pastikan Anda telah menginstal semua library yang diperlukan seperti TMRpcm, SD dll.

Anda juga dapat membuka Serial Monitor setelah mengunggah kode untuk mendapatkan umpan balik tentang apa yang dilakukan arduino.

Saat ini kode tidak memanipulasi audio yang direkam untuk membuatnya terdengar berbeda tetapi saya berencana untuk memasukkan fitur ini di versi berikutnya di mana Anda mungkin dapat mengatur frekuensi output dari sinyal audio dengan bantuan pot dan mendapatkan berbagai jenis suara.

Dan Anda Selesai!!

Direkomendasikan: