Isi kandungan:

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, Julai
Anonim
Sensor Dadu Inframerah
Sensor Dadu Inframerah
Sensor Dadu Inframerah
Sensor Dadu Inframerah

Nama saya Calvin dan saya akan menunjukkan kepada anda cara membuat sensor dadu Inframerah dan menerangkan bagaimana ia berfungsi.

Saya sekarang ini adalah pelajar Universiti Taylor yang mempelajari Kejuruteraan Komputer dan pasukan saya dan saya diminta untuk merancang dan membina mekanisme yang dapat menyusun objek yang boleh memuat di dataran 1in. Kami mungkin mengambil jalan mudah dan memilih untuk menyusun m & m menggunakan sensor warna yang sederhana, tetapi kami memutuskan untuk pergi ke atas dan di luar dan menyusun dadu dengan nombor yang ditunjukkan. Setelah berjam-jam berusaha mencari panduan bagaimana membaca wajah dadu, saya memasuki pautan ini di sini:

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

Pautan ini, bagaimanapun, tidak memberi saya lebih banyak daripada idea bagaimana membaca wajah dadu, jadi dengan menggunakan idea yang diberikan, saya terus membangun dan mengembangkan sensor yang dapat dihubungkan dengan Arduino dengan mudah dan dapat membaca wajah dadu seakurat mungkin, sehingga memberi kami Sensor Dadu Inframerah ini.

Bekalan

Sekarang ke bekalan:

Anda perlu:

1 x Arduino Uno

5 x Penerima IR

5 x Pemancar IR

www.sparkfun.com/products/241

Perintang 5 x 270 ohm

Perintang 5 x 10k ohm

1 cip 74HC595N

pelbagai tajuk lelaki

1 x papan Prototaip (jika anda tidak mendapatkan papan penggilingan khas)

Langkah 1: Memahami Bagaimana Ia Berfungsi

Memahami Bagaimana Ia Berfungsi
Memahami Bagaimana Ia Berfungsi
Memahami Bagaimana Ia Berfungsi
Memahami Bagaimana Ia Berfungsi

Sensor ini menggunakan 5 lokasi pip untuk membaca wajah dadu. Ia menggunakan cahaya inframerah untuk memantul dadu di lokasi pip ini dan memberitahu pengawal sama ada berwarna putih atau hitam.

Anda mungkin tertanya-tanya, mengapa hanya 5 lokasi pip? Tidakkah anda memerlukan semua 9 untuk membaca dadu dengan berkesan?

Oleh kerana simetri dadu, menggunakan 5 lokasi tertentu pada dadu cukup untuk memberitahu perbezaan antara nombor yang berbeza pada dadu tanpa mengira orientasi (gambar 1). Ini menjadikan sensor dadu lebih cekap kerana hanya mencari apa yang diperlukan dan tidak ada tambahan.

Pemancar bergerak tepat di bawah penerima pada sensor di setiap lokasi 5 pip ini, sensor kemudian memancarkan cahaya IR dan kemudian penerima membaca jumlah cahaya IR yang memantul pada dadu. (gambar 3) Jika nilai yang diterima lebih besar maka ditentukan nombor penentukuran, maka sensor akan melihat titik itu sebagai titik, jika tidak maka itu adalah ruang putih. (gambar 2)

Langkah 2: Merancang dan Merancang

Merancang dan Merancang
Merancang dan Merancang
Merancang dan Merancang
Merancang dan Merancang
Merancang dan Merancang
Merancang dan Merancang
Merancang dan Merancang
Merancang dan Merancang

Langkah pertama untuk membina sensor dadu adalah membuat skema, ini boleh menjadi langkah paling sukar atau paling mudah dalam pembangunan. Anda pertama kali memerlukan perisian yang dipanggil EAGLE oleh Autodesk, ini adalah perisian yang saya gunakan untuk membuat skema.

Saya telah memasukkan 2 jenis skema yang berbeza, satu skema mempunyai cip register geser untuk membantu menjadikan sensor lebih tepat, dan yang lain adalah satu tanpa cip pergeseran, skema ini, bagaimanapun, tidak akan berfungsi dengan kod yang akan saya berikan di kemudian hari, jadi anda harus mengembangkan sesuatu sendiri.

Saya juga menyertakan susun atur papan saya untuk sensor yang telah saya reka dengan shift shift.

Untuk mula merancang papan, anda mempunyai 5 Penerima IR dan 5 Pemancar IR, penerima memerlukan perintang 10k dan pemancar memerlukan perintang 270 ohm jadi untuk setiap elemen ini, anda pergi dari:

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

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

Pin baca analog keluar di antara perintang dan Penerima IR sebagai cabang lain dan menuju ke pin analog di Arduino. Anda juga perlu memastikan bahawa pemancar berada tepat di bawah penerima, saya melakukan kesalahan ini pada kali pertama saya melakukannya dan saya mendapat keputusan yang sangat buruk, jadi pastikan bahawa Penerima berada di atas.

Di papan ubahsuaian saya, saya menggunakan shift register untuk memberi kuasa kepada setiap pasangan pemancar dan penerima satu demi satu untuk mengelakkan pendarahan cahaya IR dari pemancar lain. Ini memberi saya bacaan yang lebih tepat dari setiap lokasi pip, jika anda memilih untuk tidak menggunakan shift shift, ia tetap akan berfungsi untuk anda, mungkin sedikit kurang tepat. Pada daftar shift, anda boleh menyatukan pin 3-4 dan 7-8 bersama-sama, kerana tidak perlu menjadikannya sebagai header. Saya meletakkannya sebagai tandukan dan meletakkan penerjun pada tandukan sekiranya saya mahu melakukan pembangunan pada masa akan datang.

Setelah anda merancang skema, anda perlu membuat susunan papan skema anda. Bahagian ini boleh menjadi sangat rumit kerana anda harus memastikan jalan anda tidak bertindih dan memastikan jalan dan lubang anda memenuhi spesifikasi mesin anda. Susun atur papan yang saya pasangkan mempunyai ukuran khusus untuk mesin yang saya gunakan untuk mengisar papan saya. Saya menghabiskan beberapa jam untuk meletakkan papan agar sekecil yang saya dapat membuatnya. Masih ada ruang untuk penambahbaikan di papan ini tetapi ia berfungsi untuk saya, jadi saya membiarkannya seperti sekarang. Terdapat versi dengan GND tembaga yang menghubungkan semua elemen Ground, dan versi tanpa dilampirkan.

Anda juga dapat menggunakan skema untuk membuatnya di papan roti atau papan prototaip, kerana ini lebih mudah didapat dan merupakan pilihan yang lebih murah kerana anda tidak perlu menggiling papan khusus.

Setelah anda mempunyai reka bentuk papan, anda boleh beralih ke langkah seterusnya!

Langkah 3: Membina Papan

Membina Dewan
Membina Dewan
Membina Dewan
Membina Dewan
Membina Dewan
Membina Dewan

Bahagian ini bergantung sepenuhnya pada bagaimana anda mahu papan dibuat. Saya membuat sensor di papan prototaip untuk menguji untuk melihat apakah konsep itu berfungsi dan seberapa tepatnya, jadi saya mengikuti skema tanpa pergeseran daftar dan saya membuat papan. Anda harus memastikan meletakkan semuanya agar garis tidak bertindih, dan bahawa anda tidak secara tidak sengaja menyisipkan garis yang tidak seharusnya disambungkan. Semasa melakukannya di papan prototaip, anda harus berhati-hati, jadi luangkan masa anda dan jangan terburu-buru. Anda juga harus berhati-hati dengan wayar terbuka kerana ia boleh bergerak dan menyebabkan seluar pendek dalam sistem.

Sekiranya anda memilih untuk menggiling papan maka proses ini lebih mudah. Hantar fail papan ke pengisar dengan tetapan penggiling tertentu. Sekiranya melakukannya sendiri, buat sebelum anda mengeluarkannya, pastikan semua tembaga digiling dengan cukup dalam, Papan pertama yang saya buat, tembaga tidak digiling cukup dalam dan saya harus menggiling yang lain.

Pastikan semuanya disolder ke papan dalam susun atur yang diinginkan dan pastikan anda meluangkan masa, dan jika menyolder pada PCB maka pastikan anda menyolder di sisi papan yang betul.

Semasa memasang Penerima IR dan Pemancar pastikan bahawa pemancar berada tepat di bawah penerima. Anda perlu bermain-main dengan membengkokkan kaki komponen IR untuk mendapatkannya di tempat yang betul. Simpan juga dadu untuk memeriksa sama ada lokasi pip berada di tempat yang sepatutnya.

Sebaik sahaja anda menyelesaikan semuanya dan ditambahkan ke papan, anda akan memprogramkan sensor.

Langkah 4: Memprogram Lembaga Pengarah

Memprogram Lembaga Pengarah
Memprogram Lembaga Pengarah
Memprogram Lembaga Pengarah
Memprogram Lembaga Pengarah

Ini adalah bahagian yang sukar untuk membuat sensor seakurat mungkin, memprogramkan papan. Nasib baik saya telah membuat perpustakaan untuk anda gunakan dengan sensor yang baru anda buat untuk membuat pengaturcaraannya lebih mudah, namun anda perlu menentukurkan sensor bergantung pada pencahayaan di mana sensor ini berada.

Untuk memulakan, anda mesti mempunyai Arduino untuk berinteraksi dengan sensor ini. Ia menggunakan 5 pin Analog dan 3 pin digital.

Anda mempunyai kemampuan untuk menggunakan perpustakaan yang saya buat untuk memilih pin analog dan digital anda sendiri, tetapi saya akan menerangkannya menggunakan pin yang saya lakukan untuk berinteraksi dengan sensor. Saya telah menandakan gambar yang dihubungkan dengan nombor pin dan kotak berwarna di sekitar set pin untuk menjelaskan dengan mudah pin mana yang dipasang.

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

Putih 1 - Pin data, di sinilah Arduino menghantar data ke shift shift. Saya menetapkan pin ini ke pin digital 3 di Arduino

Putih 2 - Q0, usang dalam kes ini, saya memasukkannya sekiranya saya memutuskan untuk berkembang sama sekali

Putih 3 & 4 - Akan dipasangkan, anda boleh menyatukan kedua-duanya bersama-sama atau menggunakan pelompat seperti yang saya lakukan.

White 5 - pin kait, pin yang sangat penting yang merupakan langkah terakhir dalam proses untuk melihat pip dihidupkan dan dimatikan. Saya menetapkan pin ini ke pin 12 di Arduino

White 6 - Pin Jam, Ini menyediakan jam dari Arduino ke shift shift. Saya menetapkan ini ke pin digital 13.

Putih 7 & 8 - Akan dipasangkan, anda boleh menyatukan kedua-duanya bersama-sama atau menggunakan pelompat seperti yang saya lakukan.

Tepat di sebelah kotak putih anda mempunyai pin Ground dan VCC. Anda mesti menyediakan 5v dari Arduino atau sumber lain untuk menghidupkan sensor ini.

Nombor Lokasi PIP boleh didapati dalam kod.

Sekarang anda mesti mengaitkannya, kita harus menentukurnya. Tujuan saya adalah untuk membuat skrip yang dapat menentukurnya untuk anda tetapi saya kehabisan masa untuk melakukannya. Semasa menentukur, anda harus memastikan sensor berada dalam persekitaran pencahayaan terkawal yang sensitif terhadap cahaya yang disimpulkan di luar. Anda mesti mendapatkan nilai dari setiap lokasi pip dengan titik hitam dan titik putih dan rata-rata perbezaannya. Saya hanya menggunakan dua sisi dadu untuk mengkalibrasi, saya menggunakan sisi 1, sisi 6, dan sisi 6 berputar 90 darjah. Sebaik sahaja anda mempunyai nombor untuk putih dan hitam untuk setiap lokasi pip, anda perlu mengira rata dan mencari bahagian tengah dari dua nombor tersebut. Jadi sebagai contoh, jika saya mendapat 200 warna putih dari lokasi pip pertama, dan 300 untuk nilai gelap lokasi pip pertama, maka nombor penentukurannya adalah 250. Setelah anda melakukan ini untuk semua lokasi 5 pip, sensor anda betul dikalibrasi, maka anda boleh menggunakan dadu. ReadFace (); untuk mendapatkan wajah dadu semasa.

Langkah 5: Permohonan

Permohonan
Permohonan
Permohonan
Permohonan
Permohonan
Permohonan

Anda kini berjaya mencipta sensor dadu! Tahniah! Ini merupakan jalan percubaan dan kesilapan yang panjang bagi saya untuk membuat sensor ini, jadi tujuan saya adalah untuk membantu sesiapa sahaja di luar sana yang ingin membuat sensor dadu.

Saya telah memasukkan beberapa contoh projek yang kami bina yang menggunakan sensor ini. Gambar pertama, kami menggunakan paddlewheel untuk meletakkan dadu di atas sensor setiap kali dengan betul. Gambar kedua adalah produk akhir projek kami, dan pangkalannya akan berputar bergantung pada bentuk dadu itu, dan gambar ketiga adalah kotak paparan yang saya reka dan bina untuk menampilkan sensor ini.

Kemungkinan untuk sensor ini tidak ada habisnya jika anda memikirkannya. Saya harap anda menjadikan tutorial ini menyeronokkan dan mendidik, dan saya harap anda mencuba membuatnya sendiri.

Tuhan merahmati!

Disyorkan: