Daftar Isi:

Sensor Dadu Inframerah: 5 Langkah
Sensor Dadu Inframerah: 5 Langkah

Video: Sensor Dadu Inframerah: 5 Langkah

Video: Sensor Dadu Inframerah: 5 Langkah
Video: cara paling gampang menentukan pin sensor remot 2024, Juli
Anonim
Sensor Dadu Inframerah
Sensor Dadu Inframerah
Sensor Dadu Inframerah
Sensor Dadu Inframerah

Nama saya Calvin dan saya akan menunjukkan cara membuat sensor dadu inframerah dan menjelaskan cara kerjanya.

Saat ini saya adalah seorang mahasiswa Universitas Taylor yang mempelajari Teknik Komputer dan tim saya dan saya diminta untuk merancang dan membangun mekanisme yang dapat mengurutkan objek apa pun yang dapat ditampung dalam kotak 1 inci. Kami bisa saja mengambil rute yang mudah dan memilih untuk mengurutkan m&m menggunakan sensor warna sederhana, tetapi kami memutuskan untuk melampaui dan mengurutkan dadu berdasarkan nomor yang ditampilkan. Setelah berjam-jam mencoba menemukan panduan tentang cara membaca wajah dadu, saya menemukan tautan ini di sini:

makezine.com/2009/09/19/dice-reader-versio…

Tautan ini, bagaimanapun, tidak memberi saya lebih dari ide tentang cara membaca wajah dadu, jadi menggunakan ide yang diberikan, saya melanjutkan perjalanan saya untuk membangun dan mengembangkan sensor yang dapat dihubungkan dengan Arduino dengan mudah dan dapat membaca muka dadu seakurat mungkin, sehingga memberikan kita Sensor Dadu Inframerah ini.

Perlengkapan

Sekarang ke persediaan:

Anda akan perlu:

1 x Arduino Uno

5 x Penerima IR

5 x Pemancar IR

www.sparkfun.com/products/241

5 x 270 ohm resistor

5 x 10k ohm resistor

1 x 74HC595N chip

berbagai header pria

1 x Papan prototipe (jika Anda tidak mendapatkan papan giling khusus)

Langkah 1: Memahami Cara Kerjanya

Memahami Cara Kerjanya
Memahami Cara Kerjanya
Memahami Cara Kerjanya
Memahami Cara Kerjanya

Sensor ini menggunakan 5 lokasi pip untuk membaca wajah dadu. Ini menggunakan cahaya Inframerah untuk memantul dari wajah dadu di lokasi pip ini dan memberi tahu pengontrol apakah itu putih atau hitam.

Anda mungkin bertanya-tanya, mengapa hanya 5 lokasi pip? Tidakkah Anda membutuhkan semua 9 untuk membaca dadu secara efektif?

Nah, karena simetri dadu, menggunakan 5 lokasi tertentu pada dadu sudah cukup untuk membedakan angka yang berbeda pada dadu terlepas dari orientasinya (gambar 1). Ini membuat sensor dadu lebih efisien karena hanya mencari apa yang dibutuhkan dan tidak ada tambahan.

Emitor berjalan tepat di bawah penerima pada sensor di masing-masing lokasi 5 pip ini, sensor kemudian memancarkan cahaya IR dan kemudian penerima membaca jumlah cahaya IR yang memantul dari wajah dadu. (gambar 3) Jika nilai yang diterima lebih besar dari angka kalibrasi yang ditentukan, maka sensor akan melihat titik tersebut sebagai titik, jika tidak maka itu adalah spasi. (gambar 2)

Langkah 2: Merancang dan Merencanakan

Merancang dan Merencanakan
Merancang dan Merencanakan
Merancang dan Merencanakan
Merancang dan Merencanakan
Merancang dan Merencanakan
Merancang dan Merencanakan
Merancang dan Merencanakan
Merancang dan Merencanakan

Langkah pertama untuk membangun sensor dadu adalah membuat skema, ini bisa menjadi langkah pengembangan yang paling sulit atau paling mudah. Pertama-tama Anda memerlukan perangkat lunak bernama EAGLE oleh Autodesk, ini adalah perangkat lunak yang saya gunakan untuk membuat skema.

Saya telah menyertakan 2 jenis skema yang berbeda, satu skema memiliki chip register geser untuk membantu membuat sensor lebih akurat, dan yang lainnya tanpa chip register geser, skema ini, bagaimanapun, tidak akan berfungsi dengan kode yang akan saya berikan nanti, jadi Anda harus mengembangkan sesuatu sendiri.

Saya juga menyertakan tata letak papan saya untuk sensor yang telah saya rancang dengan register geser.

Untuk mulai mendesain papan, Anda memiliki 5 Penerima IR dan 5 Pemancar IR, penerima memerlukan resistor 10k dan emitor memerlukan resistor 270 ohm sehingga untuk masing-masing elemen ini, Anda mulai dari:

VCC (5V) -> Resistor -> Pin Baca Analog -> Penerima IR -> GND

VCC (5V) -> Resistor -> Pemancar IR -> GND

Pin pembacaan analog keluar di antara resistor dan Penerima IR sebagai cabang lain dan menuju ke pin analog pada Arduino. Anda juga perlu memastikan bahwa emitor berada tepat di bawah receiver, saya melakukan kesalahan ini saat pertama kali melakukannya dan saya mendapatkan hasil yang sangat buruk, jadi pastikan receiver berada di atas.

Di papan kustom saya, saya menggunakan register geser untuk memberikan daya ke masing-masing pasangan emitor dan penerima satu per satu untuk menghindari cahaya IR berdarah dari emitor lainnya. Ini memberi saya pembacaan yang lebih akurat dari masing-masing lokasi pip, jika Anda memilih untuk tidak menggunakan register geser, itu akan tetap bekerja untuk Anda, hanya mungkin sedikit kurang akurat. Pada register geser, Anda dapat menggabungkan pin 3-4 dan 7-8 bersama-sama, karena tidak sepenuhnya perlu memilikinya sebagai header. Saya meninggalkannya sebagai header dan meletakkan jumper di header jika saya ingin melakukan pengembangan di masa mendatang.

Setelah Anda mendesain skema, Anda perlu membuat tata letak papan skema Anda. Bagian ini bisa menjadi sangat rumit karena Anda harus memastikan jalur Anda tidak tumpang tindih dan memastikan jalur dan lubang Anda memenuhi spesifikasi mesin Anda. Tata letak papan yang saya lampirkan memiliki ukuran khusus untuk mesin yang saya gunakan untuk menggiling papan saya. Saya menghabiskan beberapa jam untuk meletakkan papan menjadi sekecil mungkin. Masih ada ruang untuk perbaikan di papan ini tetapi itu berhasil untuk saya jadi saya membiarkannya apa adanya. Ada versi dengan GND tembaga yang menghubungkan semua elemen Ground, dan versi tanpa lampiran.

Anda juga dapat menggunakan skema Anda untuk membangunnya di papan tempat memotong roti atau papan prototipe, karena ini jauh lebih mudah didapat dan merupakan pilihan yang lebih murah karena Anda tidak harus memiliki papan khusus yang digiling.

Setelah Anda memiliki desain papan, Anda dapat melanjutkan ke langkah berikutnya!

Langkah 3: Membangun Papan

Membangun Dewan
Membangun Dewan
Membangun Dewan
Membangun Dewan
Membangun Dewan
Membangun Dewan

Bagian ini sepenuhnya tergantung pada bagaimana Anda ingin papan dibuat. Saya membuat sensor pada papan prototipe untuk menguji untuk melihat apakah konsep tersebut bekerja dan seberapa akurat itu, jadi saya mengikuti skema tanpa register geser dan saya membuat papan. Anda harus memastikan untuk meletakkan semuanya sehingga garis tidak tumpang tindih, dan Anda tidak secara tidak sengaja menyolder garis yang seharusnya tidak terhubung. Saat melakukannya di papan prototipe, Anda harus sangat berhati-hati, jadi luangkan waktu Anda dan jangan terburu-buru. Anda juga harus berhati-hati terhadap kabel yang terbuka karena dapat bergerak dan menyebabkan korsleting pada sistem.

Jika Anda memilih untuk membuat papan digiling maka proses ini lebih sederhana. Kirim file papan ke penggilingan dengan pengaturan penggilingan tertentu. Jika melakukannya sendiri, buat sebelum Anda mengeluarkannya, pastikan semua tembaga digiling cukup dalam dengan benar. Papan pertama yang saya buat, tembaganya tidak cukup dalam dan saya harus giling satu lagi.

Pastikan semuanya disolder ke papan dalam tata letak yang diinginkan dan pastikan untuk meluangkan waktu Anda, dan jika menyolder pada PCB maka pastikan Anda menyolder di sisi papan yang benar.

Saat memasang Penerima dan Pemancar IR, pastikan bahwa pemancar berada tepat di bawah penerima. Anda harus bermain-main dengan menekuk kaki komponen IR untuk menempatkannya di tempat yang tepat. Simpan dadu juga untuk memeriksa apakah lokasi pip berada di tempat yang seharusnya.

Setelah semuanya disolder dan ditambahkan ke papan, Anda akan memprogram sensor.

Langkah 4: Memprogram Papan

Pemrograman Dewan
Pemrograman Dewan
Pemrograman Dewan
Pemrograman Dewan

Ini adalah bagian yang sulit untuk membuat sensor seakurat mungkin, memprogram papan. Untungnya saya telah membuat perpustakaan untuk Anda gunakan dengan sensor yang baru dibuat untuk membuat pemrograman menjadi lebih mudah, namun Anda harus mengkalibrasi sensor tergantung pada pencahayaan di mana sensor ini berada.

Untuk memulai, Anda harus memiliki Arduino untuk berinteraksi dengan sensor ini. Menggunakan 5 pin Analog dan 3 pin digital.

Anda memiliki kemampuan untuk menggunakan perpustakaan yang saya buat untuk memilih pin analog dan digital Anda sendiri, tetapi saya akan menjelaskannya menggunakan pin yang saya lakukan untuk berinteraksi dengan sensor. Saya telah menandai gambar yang ditautkan dengan nomor pin dan kotak berwarna di sekitar rangkaian pin untuk dengan mudah menjelaskan pin mana yang dicolokkan ke mana.

Pada sensor, pin 1-5 Merah menuju A0-A4, jadi Merah 1 menuju A0 dan seterusnya. Pin 1-8 Putih memerlukan sedikit penjelasan.

Putih 1 - Data pin, disinilah Arduino mengirimkan data ke shift register. Saya mengatur pin ini ke pin digital 3 di Arduino

Putih 2 - Q0, usang dalam hal ini, saya memasukkannya jika saya memutuskan untuk memperluas sama sekali

Putih 3 & 4 - Akan dipasangkan, Anda dapat menyolder keduanya bersama-sama atau menggunakan jumper seperti yang saya lakukan.

Putih 5 - pin pengait, pin yang sangat penting yang merupakan langkah terakhir dalam proses untuk melihat pip hidup dan mati. Saya mengatur pin ini ke pin 12 di Arduino

Putih 6 - Pin Jam, Ini menyediakan jam dari Arduino ke register geser. Saya mengatur ini ke pin digital 13.

Putih 7 & 8 - Akan dipasangkan, Anda dapat menyolder keduanya bersama-sama atau menggunakan jumper seperti yang saya lakukan.

Tepat di sebelah kotak putih Anda memiliki pin Ground dan VCC. Anda harus menyediakan 5v dari Arduino atau sumber lain untuk menyalakan sensor ini.

Nomor Lokasi PIP dapat ditemukan dalam kode.

Sekarang Anda harus menghubungkannya, kita harus mengkalibrasinya. Tujuan saya adalah membuat skrip yang dapat mengkalibrasinya untuk Anda, tetapi saya kehabisan waktu untuk melakukannya. Saat mengkalibrasi, Anda harus memastikan sensor berada dalam lingkungan pencahayaan yang terkontrol, merasakannya sensitif terhadap cahaya yang disimpulkan dari luar. Anda harus mendapatkan nilai dari setiap lokasi pip dengan titik hitam dan titik putih dan rata-rata selisihnya. Saya hanya menggunakan dua sisi dadu untuk mengkalibrasi, saya menggunakan sisi 1, sisi 6, dan sisi 6 diputar 90 derajat. Setelah Anda memiliki angka untuk putih dan hitam untuk setiap lokasi pip, Anda perlu membuat rata-ratanya dan menemukan bagian tengah dari dua angka tersebut. Jadi misalnya, jika saya mendapat 200 untuk putih dari lokasi pip pertama, dan 300 untuk nilai gelap dari lokasi pip pertama, maka nomor kalibrasinya adalah 250. Setelah Anda melakukan ini untuk semua 5 lokasi pip, sensor Anda benar dikalibrasi, maka Anda dapat menggunakan dice. ReadFace(); untuk mendapatkan wajah dadu saat ini.

Langkah 5: Aplikasi

Aplikasi
Aplikasi
Aplikasi
Aplikasi
Aplikasi
Aplikasi

Anda sekarang telah berhasil membuat sensor dadu! Selamat! Ini telah menjadi jalan panjang percobaan dan kesalahan bagi saya untuk membuat sensor ini, jadi ini adalah tujuan saya untuk membantu siapa saja di luar sana yang ingin membuat sensor dadu.

Saya telah menyertakan beberapa contoh proyek yang kami bangun yang menggunakan sensor ini. Gambar pertama, kami menggunakan paddlewheel untuk menempatkan dadu dengan benar di atas sensor setiap saat. Gambar kedua adalah produk akhir dari proyek kami, dan alasnya akan berputar tergantung pada apa wajah dadu itu, dan gambar ketiga adalah kotak pajangan yang saya rancang dan buat untuk menampilkan sensor ini.

Kemungkinan untuk sensor ini tidak terbatas jika Anda memikirkannya. Saya harap Anda menemukan tutorial ini menyenangkan dan mendidik, dan saya harap Anda mencoba membuatnya sendiri.

Tuhan memberkati!

Direkomendasikan: