Membuat "meow" Digital Dari Jam Analog: 7 Langkah (dengan Gambar)

Membuat "meow" Digital Dari Jam Analog: 7 Langkah (dengan Gambar)

Daftar Isi:

Anonim

Apakah jam analog Anda tidak cukup? Ingin melakukan hal-hal digital dengan jam analog?

Tutorial ini akan menunjukkan kepada Anda bagaimana membuat Kit Cat Clock memutar klip suara "meow", pada interval waktu yang tepat, menggunakan Atmega 328P-PU melalui papan pengembangan Arduino Uno. Dalam contoh saya, meow akan muncul setiap jam. Ini tidak harus menjadi jam Kit-Cat, ide ini dapat bekerja dengan jam lain yang menggunakan motor magnet.

Asumsi (lewati jika Anda sudah ahli dalam segala hal)

Proyek ini mencakup banyak keterampilan tingkat menengah hingga tingkat lanjut seperti membakar bootloader dan menyolder kabel. Oleh karena itu, diperlukan beberapa pengetahuan dan keterampilan yang diperlukan sebelum melanjutkan. Saya akan berasumsi bahwa Anda tahu caranya, atau setidaknya akan siap untuk melakukan hal berikut:

Membakar bootloader ke Atmel328P-PU (kecuali milik Anda sudah memilikinya).

Mengunggah "sketsa" ke Atmel328P-PU melalui Arduino

Memasukkan perintah ke emulator terminal atau command prompt (windows)

Menggunakan besi solder untuk membuat koneksi antar komponen.

Kemungkinan penggunaan bor atau alat Dremel untuk memotong / memotong bagian plastik, dan lubang membosankan.

Material

Arduino Uno R3 x 1

Papan tempat memotong roti x 1

Kawat Jumper (potongan cukup)

Resistor:

350 Ohm x 1

150 Ohm x 1

220 Ohm x 1

280 Ohm x 1

10K Ohm x 1

330 Ohm x 1 (opsional jika Anda ingin LED saat menggunakan Arduino di Breadboard Setup)

Kapasitor:

100 uF x 1

10 uF x 1

22 pF x 2 (mungkin opsional)

Osilator Kristal 16 Mhz

Speaker kecil 0,5 Watt (diameter sekitar 50,8 mm) x 1

Adaptor dinding 7,5 Volt AC (saya menggunakan merek Vtech yang ditemukan di Toys R Us) x 1

7805 Regulator tegangan x 1

Besi Solder dan Solder

Protoboard (atau papan proyek akhir lainnya yang akan cukup kecil agar sesuai dengan kotak jam)

lem super

Penyusutan panas (opsional)

Pistol Lem Panas (opsional)

Takane Quartz Clock (dengan asumsi Anda harus mengganti yang default di dalam Kit Cat, seperti yang saya lakukan)

Sensor efek hall x 1

Saya menggunakan keluarga SS41 sensor efek Hall. Sensor-sensor ini cukup sensitif untuk mendeteksi medan magnet yang relatif lemah dari motor magnet jam. Yang spesifik yang saya beli dapat ditemukan di sini

Persediaan:

Langkah 1: Gambaran Umum Proyek:

Aspek yang menarik dari proyek ini adalah menggunakan perangkat analog (dalam hal ini jam analog) untuk berinteraksi dengan dunia digital Atmel 328P-PU. Arduino mungkin salah satu cara paling sederhana untuk mencapai ini. Saya akan menggunakan motor jam khas yang ditemukan di dalam jam Kit Cat klasik untuk menghasilkan pulsa digital yang akan dimasukkan ke dalam chip Atmel. Alasan ini akan berhasil adalah karena motor jam menggunakan magnet permanen, yang terletak di dekat kumparan, untuk membuat torsi mekanis yang diperlukan untuk memutar jarum jam. Saya akan memanfaatkan medan magnet ini dengan menggunakan sensor Hall Effect untuk mendeteksi fluks magnet dari motor jam. Sensor akan menghasilkan TINGGI digital setiap kali salah satu kutub dari magnet menghadap sensor, dan kemudian menghasilkan RENDAH ketika kutub yang berlawanan berada di dekat sensor. Transisi kutub ini terjadi setiap detik, atau memiliki frekuensi 1 Hz dan merupakan alasan mengapa ini berfungsi sebagai motor yang ideal untuk mengemudi jarum jam.

Catatan: sensor sebenarnya tidak menyentuh magnet, hanya saja sangat dekat dengannya. Gambar-gambar menunjukkan seberapa dekat saya diminta untuk menempatkan sensor, untuk mendapatkan bacaan.

Gambar-gambar di sini menunjukkan bagian dalam jam aktual dan motor magnet ke sisi kanan. Jenis jam disebut "Takane Quartz" dan mereka cukup umum di jam analog murah.

Setelah kita memiliki pulsa stabil yang berasal dari sensor, segala macam hal dapat dilakukan secara digital, dan sebenarnya itu hanya terbatas pada imajinasi Anda tentang apa yang dapat Anda lakukan. Dalam tutorial ini saya hanya akan membuat penghitung yang menghitung pulsa jam (dari sensor Hall), dan setelah menyelesaikan penghitungan, kemudian memutar klip audio "meow".

Langkah pertama melibatkan pemasangan sensor Hall cukup dekat ke motor magnet sehingga Anda bisa mendapatkan bacaan yang baik. Saya harus meletakkan sensor sangat dekat dengan motor magnet saya untuk mendapatkan output. Anda dapat menguji sensor dengan memasang sesuatu seperti LED ke pin output sensor dan kemudian menyalakan jam. Jika ini berhasil maka LED harus berkedip setiap detik. Ini karena outputnya hanya TINGGI sementara salah satu kutub menghadap sensor (misalkan kutub utara sebagai contoh); ketika kutub yang berlawanan (selatan) menghadap sensor outputnya RENDAH.

Setelah Anda menentukan lokasi dan jarak yang sesuai untuk mendapatkan bacaan Anda, Anda harus mulai berpikir tentang cara memasangnya di sana secara permanen. Saya memilih untuk menggunakan lem super untuk menahan sensor di tempatnya. Saya juga mempertimbangkan lokasi karena di mana casing belakang akan berada. Saya harus memotong lubang persegi panjang kecil sehingga pin sensor akan dapat diakses. Anda harus menentukan apa yang paling berhasil karena meskipun jam ini hampir sama, kadang-kadang tata letaknya sedikit berbeda di dalam, dan penempatan sensor dapat bervariasi tergantung pada jam tertentu yang Anda miliki.

Langkah 2: Menyolder Kawat ke Pin Input Sensor

Sekarang saatnya menyolder pin ke kawat. Alasan saya melakukan ini adalah karena dua alasan: Pertama Anda ingin dapat menguji sensor saat Anda terus bekerja, dan juga karena Anda akan membutuhkan kabel itu ketika Anda menghubungkannya ke papan tempat memotong roti Anda dan akhirnya protoboard. Catatan, menggunakan kawat berwarna yang berbeda dapat memudahkan saat Anda perlu mengidentifikasi pin dengan cepat. Itu yang saya lakukan.

Konfigurasi pinout dapat ditemukan di situs ini

Langkah 3: Mempersiapkan File Audio

Jika Anda sudah tahu cara mengonversi file.WAV ke file C, maka Anda dapat melewati atau menelusuri langkah ini.

Sekarang sensor terpasang ke pin yang sesuai di papan tempat memotong roti, Anda harus mengunggah sketsa audio ke Atmel328P. Tetapi pertama-tama, beberapa modifikasi dan "pemijatan" perlu dilakukan terlebih dahulu. Di sinilah Anda bisa membuat beberapa modifikasi Anda sendiri dan saya akan masuk ke beberapa (tetapi tidak semua) detail tentang penggunaan program Audacity dan wav2c. Anda harus melanjutkan dan membuka kode yang saya berikan di IDE Arduino Anda. Saat Anda membuka sketsa di IDE Arduino, tab pertama adalah sedikit perubahan sketsa audio PCM yang ditulis oleh Michael Smith, yang asli dapat ditemukan di situs Arduino:

playground.arduino.cc/Code/PCMAudio

Audacity adalah program pengeditan audio. Ini sangat kuat dan memungkinkan file.wav untuk diekspor sebagai file.wav 8-bit, unsigned.wav. Ini diperlukan untuk mengurangi ukuran file dan juga memaksimalkan kompatibilitas dengan sketsa pemutaran audio. Anda mungkin dapat mengatasi laju bit dan ukuran yang berbeda, tetapi saya belum mencobanya. Kami hanya akan menggunakan fitur yang diperlukan di Audacity untuk menyelesaikan pekerjaan.

Wav2c, seperti namanya, dapat mengkonversi file.wav ke file C. Ini juga diperlukan karena file.wav dengan sendirinya terlalu besar untuk muat dalam memori 328P-PU. Pada tulisan ini, Anda dapat mengunduh kode sumber langsung dari github. Anda juga bisa mendapatkan versi kompilasi dari situs web lain. Apa pun itu, Anda harus menggunakannya atau program serupa lainnya untuk proses konversi.

github.com/olleolleolle/wav2c

Langkah 4: Menggunakan Audacity dan Wav2c

Tujuan konversi file suara adalah untuk mengambil file audio (.wav) dan mengubahnya menjadi dokumen file header C yang bermanfaat. Ini memungkinkan Arduino untuk menggunakan informasi dalam file header menjadi output sebagai suara melalui speaker.

-Pertama dibuka di file di Audacity.

-Mengubah laju proyek menjadi 8000 Hz (terletak di sudut kiri bawah).

-Kemudian pilih "trek" dari menu dan pilih "resample".

-Selanjutnya lakukan ekspor> file lain yang tidak terkompresi.

Opsi -Di bawah pilih 8-bit yang ditandatangani.

Ini akan menyiapkan file untuk langkah selanjutnya di bawah ini, yang merupakan konversi ke file C.

-Selanjutnya buka terminal dan ubah ke direktori yang sama dengan file.

-Jalankan Perintah berikut (sox) untuk memotong ekor (dengan asumsi ada satu)

-Kemudian jalankan perintah terakhir untuk benar-benar melakukan konversi

(perhatikan bahwa salinan file asli sebenarnya sedang dikonversi)

-Next, buka arduino IDE dan tambahkan tab kosong baru (tombol untuk menambahkan tab baru ada di ujung kanan Arduino IDE).

-Rename tab dengan nama yang sama dengan file header.

-Salin dan tempel konten ke tab

Langkah 5: Menguji Suara Anda

Sekarang Anda sudah memiliki file sounddata.h, dan Anda telah memverifikasi sketsa Arduino, Anda sekarang harus mengunggahnya ke chip Anda. Saya menggunakan papan Arduino langsung untuk semua tes awal saya, tetapi kemudian menggunakan konfigurasi "Arduino pada Breadboard" untuk tes yang tersisa. Saya telah melampirkan diagram di sini.

Jika semuanya berjalan dengan baik, hidupkan jam Anda, dan uji untuk memastikan bahwa itu menghitung pulsa dari jam dan kemudian memberikan output. Catatan: ketika saya awalnya melakukan ini, saya mengatur penghitung pemutaran audio untuk setiap 60 detik sehingga saya tidak perlu menunggu satu jam penuh untuk melihat apakah itu berfungsi, maka saya kemudian mengubah penghitung menjadi 3600 detik atau 1 jam). Untuk mengubah interval meow, cari potongan kode di dekat baris terakhir dan temukan variabel clockCount. Ubah ke nilai apa pun yang Anda inginkan.

Langkah 6: Menyolder Segalanya untuk Desain yang Lebih Permanen dan Ringkas

Sekarang untuk bagian yang menyenangkan … menyolder semua bagian penting dari papan tempat memotong roti Anda ke protoboard yang lebih kompak. Anda tidak akan membutuhkan semuanya seperti output LED atau tombol reset (dengan asumsi Anda memiliki satu dari Arduino di sirkuit Breadboard). Ada banyak cara yang lebih baik untuk melakukan ini, tetapi jika Anda memiliki persediaan terbatas, protoboard mungkin adalah taruhan terbaik Anda. Banyak orang sekarang melakukan etsa dan pemrosesan PCB mereka sendiri. Jika Anda bisa melakukannya, maka lakukan saja, karena jauh lebih baik daripada protoboard.

Anda juga perlu menghubungkan adaptor AC Anda ke node positif dan negatif dari protoboard di mana ia bertemu pin regulator tegangan. Saya menggunakan model Vtech 7.5 volt. Ini adalah sekitar 10 dolar di Target, dan 12 di Toys R Us. Atau Anda dapat menggunakan hal serupa yang Anda miliki di sekitar rumah. Perhatian: Anda harus mencoba untuk menjaga perbedaan voltase antara regulator dan adaptor ke minimum, karena akan memanaskan sebaliknya. Jika perbedaannya besar, maka Anda harus meletakkan pendingin pada regulator untuk membantu menghilangkan panas. Perbedaan tegangan antara 7805 dan adaptor Vtech AC hanya 2,5 volt pada 300mA, tetapi Anda harus tetap menempatkan heatsink kecil di atasnya.

Catatan: pastikan Anda senang / puas dengan sketsa pada chip Atmega karena setelah disolder di papan Anda tidak akan dapat memprogram ulang.

Catatan: Saya juga menggunakan dremel untuk membuat lubang kecil di bagian bawah kotak jam agar kabel adaptor daya dapat masuk dengan pas. Saya juga menggunakannya untuk berbagai hal lain sambil memodifikasi jam, seperti memotong tepi tajam dan hanya membersihkan bagian dalam pada umumnya.

Langkah 7: Mengatur Segala Sesuatu dan Memasukkannya ke Dalam Jam

Setelah Anda memiliki semua kabel dan komponen yang disolder dengan benar, sekarang saatnya untuk mengatur kabel dan memutuskan penempatan papan yang tepat di dalam perumahan Kit Cat. Perhatian utama di sini adalah menempatkan segala sesuatu di tempat yang tidak akan mengganggu pergerakan ekor dan mata. Saya juga tidak menyadari betapa sulitnya pemasangan speaker, jadi saya harus mengebor beberapa lubang untuk membantu memasang speaker di tempat yang akan menghambat angker motor ekor.

Menemukan tempat untuk dewan bisa rumit dan mungkin memerlukan beberapa percobaan dan kesalahan. Aku duduk di sebelah kiri, dekat rumah baterai. Saya kemudian menggunakan lem panas di tepi papan untuk membantu menjaga tempatnya. Anda mungkin menemukan ikatan ikat atau ikatan ritsleting berguna untuk mengatur dan mengelompokkan kabel dengan rapi.

Teknik apa pun yang Anda putuskan untuk dilakukan ini terserah Anda, karena mengelola agar sesuai dengan semua yang ada di dalam casing jam akan tergantung pada jam Anda dan jumlah barang yang masuk ke dalamnya.

Finalis dalam

Kontes Sensor