Buat Big Mouth Billy Bass dengan Baterai Alexa menggunakan Arduino, Shield Motor L293D & Penguat LM386
Komponen dan Perlengkapan
- Big Mouth Billy Bass – 1 unit
- Amazon Alexa Echo Dot (Generasi ke-2) – 1 unit
- Arduino UNO – 1 unit
- Kuman L293D Motor Drive Shield – 1 unit
- LM386 Amplifier – 1 unit
Alat dan Mesin yang Diperlukan
Tentang Proyek Ini
Billy Bass di kamar bedah perpustakaan alat Toronto.
- Big Mouth Billy Bass*
- Echo Dot Generasi ke-2
- Arduino Uno
- Shield Pengemudi Motor Arduino
- Penguat LM386
- Kabel Audio 3.5mm
- Minimal 4 baterai sel C
*Billy Bass ini tampak paling mirip dengan milik saya, yang mana pun juga bisa bekerja tetapi beberapa mungkin hanya memiliki dua motor
Pembongkaran Billy Bass
1. Billy Bass seharusnya memiliki beberapa baut yang cukup jelas di bagian belakang. Percayalah pada insting Anda dan cukup lepaskan baut-baut itu (simpan bautnya), dan tarik bagian belakang ikan. Ini seharusnya membuka untuk mengungkapkan motor di sisi ikan, dan paket baterai di pelat belakang.
2. Anda akan melihat PCB di dalam dengan semua kabel yang terpasang. Lacak kabel yang berasal dari motor, dan lepas mereka bebas dari papan Billy PCB dengan menyisakan kabel sebanyak mungkin (harusnya cukup banyak). Tempel atau tandai kabel-kabel ini. Identifikasi kabel yang berasal dari baterai, dan lepas mereka bebas dari PCB juga. Ini akan digunakan nanti untuk menyediakan daya ke Arduino Anda melalui Shield Motor.
3. (Opsional) Identifikasi saklar yang digunakan untuk mengaktifkan dan mematikan sensor gerakan untuk ikan. Potong kabelnya dan solderi kabel positif dari terminal baterai untuk melewati saklar ini alih-alih, sehingga dapat digunakan untuk menghidupkan dan mematikan daya Billy ke motor. Ini untuk kenyamanan dan tidak secara ketat diperlukan.
4. Pasang shield motor Anda ke Arduino, dan hubungkan kabel positif dan negatif dari motor ke tiga port motor pertama pada shield motor (berlabel M1, M2, M3). Hubungkan kabel positif dan negatif dari paket baterai Billy ke terminal yang berlabel EXT_PWR.
Mengontrol Motor
Dengan semua kabel terpasang, sekarang Anda dapat mengunggah sketsa pertama Anda ke Arduino dan memastikan motor bekerja sesuai harapan. Anda pertama-tama perlu menginstal Pustaka Motor Adafruit untuk mengontrol shield motor Anda dengan mengikuti instruksi di situs mereka. Setelah itu selesai, Anda dapat mengunggah sketsa Diagnostik Motor ini ke Arduino Anda yang seharusnya mengemudikan M1, M2, dan M3 secara berurutan.
Anda harus tetap pada langkah ini sampai Anda dapat mengontrol kepala, mulut, dan ekor oleh motor dengan nama yang sama dalam sketsa Arduino. Ini akan diperlukan ketika kita menambahkan tindakan yang lebih canggih.
Jika ini tidak berfungsi, Anda mungkin harus menetapkan variabel kepala, mulut, dan ekor dalam sketsa ke nomor motor yang berbeda berdasarkan cara Anda menghubungkannya. Selain itu, jika mulut, ekor, atau kepala sepertinya bergerak ke arah yang salah, Anda dapat membalikkan dua kabel yang terpasang pada shield motor.
Pembongkaran Echo Dot dan Deteksi Audio
1. Kupas karet di bagian bawah Echo Dot (Generasi ke-2), yang akan mengungkapkan lapisan perekat jelas yang juga dapat Anda kupas. Ini akan mengungkapkan empat baut torx. Lepaskan dan keluarkan empat baut ini, dan titik Anda harus terpisah menjadi beberapa bagian.
Kami tertarik pada dua papan sirkuit. Hati-hati dengan kawat pita yang menghubungkan dua PCB. Ini terlepas bagi saya sekitar 20 kali, jadi Anda mungkin ingin menempelkannya pada kotak ikan segera (lihat foto di akhir posting ini untuk cara saya memasang milik saya).
2. Potong kabel audio 3.5mm Anda sangat dekat dengan jack. Kupas karet untuk mengungkapkan kontak di dasar jack. Ini akan berisi kabel kiri, kanan, dan tanah (dalam bentuk banyak kawat kecil yang longgar). Solderi panjang kabel ke L dan R (mengubah sinyal menjadi mono), dan gulir kawat longgar bersama untuk membentuk kabel tanah. Untuk info lebih lanjut tentang jack audio, lihat posting yang sangat berguna ini. Pada tahap ini Anda dapat menguji apakah output audio masih berfungsi menggunakan speaker portabel.
3. Hubungkan kabel sinyal (L dan R mono) ke pin IN pada papan penguat LM386, dan hubungkan pin tanah ke ground sinyal audio. Jalankan kabel dari output 5V Arduino / GND ke VCC dan pin GND kedua penguat (juga dapat menggunakan paket baterai Billy Bass untuk VCC dan GND). Sekarang pasang kabel dari speaker Billy Bass ke penguat.
Pada titik ini Anda seharusnya dapat memasang jack audio 3.5mm ke Echo Dot, dan mendengar Alexa melalui speaker. Jika Anda tidak dapat mendengar musik, coba putar baut kecil (potensiometer) pada penguat untuk meningkatkan gain. Ini akan memperkenalkan kebisingan, jadi coba jaga gain sebanyak mungkin rendah.
4. Dengan 4 pin pada penguat diorientasi di bawah, Anda akan memiliki dua terminal kabel speaker di "atas". Pasang kabel tambahan ke terminal speaker kiri atas, dan hubungkan ini ke pin Analog 0 pada Arduino Anda. Untuk tujuan pengujian ini dapat dilakukan tanpa shield motor terpasang. Namun setelah itu bekerja, Anda harus menyolderi ini ke koneksi shield motor yang ditandai A0 (sebenarnya, saya secara tidak sengaja menggunakan A1 - pin analog apa pun akan cukup).
Sketsa Arduino Diagnostik Audio
Jika Anda telah mengikuti langkah-langkah di atas dengan benar, ada dua tes untuk mengonfirmasi Anda berada di jalur yang benar. Anda harus memastikan kedua pemeriksaan ini berfungsi sebelum melanjutkan ke langkah berikutnya!
1. ketika Anda memutar musik dari Echo ("Alexa, putar Slayer"), Anda sebenarnya mendengar sesuatu.
Jika ini tidak berfungsi, periksa daya yang masuk ke pengatur apakah diatur dengan benar, dan periksa kabel dari jack audio 3.5mm Anda apakah terhubung dengan benar.
2. ketika Anda memuat sketsa diagnostik audio ini ke Arduino dan membuka Serial Monitor (9600 baud), Anda dapat melihat pesan log yang menunjukkan apakah musik sedang diputar atau tidak. Anda juga dapat memantau papan LED Arduino yang harus menyala saat musik diputar, dan mati sebaliknya.
Jika langkah 2 tidak berfungsi, coba hubungkan kabel analog Anda ke terminal lain pada port speaker yang berasal dari pengatur. Anda mungkin juga perlu menyesuaikan nilai "quietThreshold" dalam sketsa untuk mengkalibrasi dengan benar untuk tidak ada musik yang diputar, meskipun dalam langkah berikutnya kita akan menilai rata-rata nilai ini untuk membuatnya lebih stabil.
Menggabungkan Semua Komponen
Setelah secara independen menentukan bahwa kita dapat membuat semua motor bergerak, dan bahwa kita dapat memutar musik dan mengukur dari Arduino saat musik diputar, kita hanya perlu menggabungkan komponen-komponen tersebut.
Ini dilakukan dengan cukup dengan menghubungkan sinyal pengatur ke port A0 pada shield motor, dan memasang semua motor. Mendorong sketsa ini yang menggabungkan pembacaan sinyal audio dengan beberapa gerakan motor yang lebih canggih ke Arduino Anda sekarang harus memicu animasi ikan setiap kali musik diputar.
Colokkan Echo Anda ke suplai daya dan hubungkan ke kabel audio 3.5mm, dan Anda harus melihat ikan Anda mengambil kepribadian Alexa! Kami sekarang di garis akhir.
Sekarang yang tersisa adalah memasang komponen elektronik di dalam kotak Billy dan menutupnya kembali. Saya menggunakan tab spasi plastik pada Billy Bass untuk menahan Dot dengan menyegel papan PCB bawah ke kotak, dan memasang baut melalui papan PCB atas ke salah satu riser baut yang ada untuk kotak yang saya potong menjadi dua. Pengatur dipelem ke pelat belakang (sejauh mungkin dari speaker, karena ada noise crek saat mereka berdekatan), dan Arduino dipelem dengan panas di ruang yang tersisa. Ingatlah Anda mungkin ingin melepasnya lagi, jadi gunakan koneksi kabel panjang atau yang dapat dilepas.
Akhirnya, Anda mungkin ingin membor beberapa lubang di plastik Billy sehingga audio dapat berjalan lebih mudah ke mikrofon Echo Dot. Saya juga membuat lubang di sisi kotak Billy sehingga saya dapat menjalankan dua kabel keluar dari tubuh. Satu untuk memprogram Arduino jika saya ingin terus bereksperimen, dan yang lain untuk menyala Echo Dot (menggunakan paket baterai USB portabel). Saya pikir jika Anda menyambungkan kabel USB ke paket baterai billy Anda juga dapat menyala Echo Dot secara langsung dari itu, tetapi upaya saya sekali gagal. Saya akan memperbarui halaman ini jika saya berhasil menyelesaikannya.
Kesimpulan
Jadi inilah satu posting blog lagi tentang cara membuat Billy Bass menjadi ikan cerdas. Dengan menggunakan Echo Dot alih-alih Raspberry Pi Anda mendapatkan semua kemampuan Alexa pihak pertama seperti panggilan drop-in. Dengan demikian, Anda tidak bisa terlalu cerdas tentang jenis suara yang dihasilkan Billy. Mungkin akan menyenangkan untuk kembali ke ini dengan Alexa di Raspberry Pi sehingga saya bisa menulis beberapa animasi yang berbeda saat suara terdeteksi, atau bahkan menambahkan lapisan pemrosesan audio tambahan sehingga terdengar seperti ikan ada di bawah air. Tapi saya harus meninggalkan itu untuk hari lain.
Semoga Anda menikmati tulisan ini, dan semoga berhasil bereksperimen!
Kode
Tautan Gist tersedia di bagian bawah halaman asli.