Daftar Isi:
- Langkah 1: Apa Itu Masalah Pengenalan Gambar dan Bagaimana Saya Memecahkannya
- Langkah 2: Bagaimana Segalanya Bekerja
- Langkah 3: Alat dan Komponen
- Langkah 4: Skema (Fritzing)
- Langkah 5: Proses
- Langkah 6: Beberapa Foto dan Video Dari Berbagai Tahap
- Langkah 7: Kode Sumber
Video: Demo 4x4 Papan Catur Elektronik/ Dengan Arduino Mega + Pembaca RFID + Sensor Efek Hall: 7 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Hai pembuat, Saya Tahir Miriyev, lulusan 2018 dari Universitas Teknik Timur Tengah, Ankara/Turki. Saya mengambil jurusan Matematika Terapan, tetapi saya selalu suka membuat sesuatu, terutama ketika itu melibatkan beberapa pekerjaan tangan dengan elektronik, desain, dan pemrograman. Berkat kursus unik tentang pembuatan prototipe, yang ditawarkan di departemen Desain Industri kami, saya mendapat kesempatan untuk membuat sesuatu yang sangat menarik. Proyek dapat diperlakukan sebagai Proyek Berjangka, berlangsung selama satu semester penuh (4 bulan). Siswa diberi tugas untuk menemukan pendekatan kreatif untuk merancang produk/demo yang sudah ada dan mewujudkan ide mereka menggunakan mikrokontroler dan sensor Arduino. Saya sedang berpikir tentang catur, dan setelah melakukan penelitian tentang proyek yang sukses, saya perhatikan bahwa dalam proyek sebelumnya, pembuat pada dasarnya menggunakan mesin catur yang sudah siap (di mana semua gerakan dari setiap gambar diprogram dalam inti), bersama dengan Raspberry Pi, beberapa MUX 'es, LED dan saklar buluh. Dalam proyek saya, meskipun, saya memutuskan untuk menyingkirkan perangkat lunak eksternal apa pun dalam hal mesin catur, dan untuk menemukan solusi kreatif untuk masalah Pengenalan Gambar, menggunakan pembaca RFID, sensor efek Hall, dan Arduino Mega.
Langkah 1: Apa Itu Masalah Pengenalan Gambar dan Bagaimana Saya Memecahkannya
Sederhananya, misalkan Anda memiliki papan catur dengan "otak" = mikrokontroler, dan Anda harus membuat papan Anda memahami gambar mana yang Anda pegang di tangan Anda dan di mana Anda meletakkannya. Ini adalah masalah Pengenalan Gambar. Solusi untuk masalah ini sepele ketika Anda memiliki mesin catur dengan semua bidak berdiri di posisi awal mereka di papan. Sebelum saya menjelaskan mengapa demikian, izinkan saya membuat beberapa komentar.
Bagi mereka yang antusias dengan cara kerja di sini, saya harus menjelaskan mengapa kita memerlukan sakelar buluh (atau dalam kasus saya, saya menggunakan sensor efek Hall): jika Anda menempatkan magnet di bawah setiap bagian dan mengambilnya dari kotak di papan (dengan asumsi bahwa ada saklar buluh di bawah setiap kotak) karena ada/tidak adanya medan magnet di atas sensor, Anda dapat membuat pengontrol Anda memahami apakah ada/tidak ada bagian yang berdiri di kotak. Namun, itu masih tidak memberi tahu mikrokontroler apa pun tentang bagian mana yang berdiri di atas alun-alun. Ini hanya mengatakan bahwa ada/tidak ada potongan di kotak. Pada titik ini, kita berhadapan dengan masalah Pengenalan Angka, yang dapat diselesaikan dengan menggunakan mesin catur, dengan semua bidak ditempatkan pada posisi awalnya saat permainan catur dimulai. Dengan cara ini mikrokontroler "tahu" di mana setiap bagian berdiri sejak awal, dengan semua alamat tetap di memori. Namun demikian, ini memberi kita batasan besar: Anda tidak dapat memilih, katakanlah, sejumlah keping dan menempatkannya secara acak di mana saja di papan dan mulai menganalisis permainan. Anda selalu harus memulai dari awal, semua bagian harus berada di papan pada awalnya, karena ini adalah satu-satunya cara bagi mikrokontroler untuk melacak lokasinya setelah Anda mengangkat sepotong dan meletakkannya di beberapa kotak lainnya. Intinya, ini adalah masalah yang saya perhatikan dan putuskan untuk dikerjakan.
Solusi saya cukup sederhana, meskipun kreatif. Saya menempatkan pembaca RFID di sisi depan papan. Sementara itu, saya tidak hanya menempelkan magnet di bawah potongan tetapi juga tag RFID, dengan masing-masing bagian memiliki ID unik. Oleh karena itu, sebelum Anda menempatkan gambar pada kotak yang diinginkan, Anda dapat terlebih dahulu memegang potongan tersebut dekat dengan pembaca RFID dan membiarkannya membaca ID, mengidentifikasi potongan tersebut, menyimpannya dalam memori, dan kemudian Anda dapat menempatkannya di mana pun Anda inginkan. Selain itu, alih-alih menggunakan sakelar buluh, untuk menyederhanakan desain sirkuit, saya menggunakan sensor efek hall, yang bekerja dengan cara yang sama, dengan satu-satunya perbedaan mengirim 0 atau 1 ke mikrokontroler sebagai data digital, yang menandakan "ada" atau "tidak ada" setiap bagian di alun-alun, masing-masing. Saya menambahkan LED juga (sayangnya tidak dengan warna yang sama, tidak memilikinya), sehingga ketika Anda mengangkat potongan, semua lokasi persegi, di mana potongan yang diangkat dapat ditempatkan, akan menyala. Anggap saja sebagai praktik pendidikan untuk pelajar catur:)
Terakhir, saya ingin mencatat bahwa meskipun saya menggunakan beberapa teknik, proyek ini tetap sederhana dan dapat dimengerti, tidak terlalu rumit atau terlalu rumit. Saya tidak punya cukup waktu untuk melanjutkan dengan papan catur 8x8 (juga karena 64 sensor hall-effect mahal di Turki, saya menanggung semua biaya yang terkait dengan proyek), itu sebabnya saya melakukan versi demo 4x4 dengan hanya dua buah yang diuji: Pion dan Ratu. Alih-alih menggunakan mesin catur, saya menulis kode sumber untuk Arduino, yang menghasilkan semua yang akan Anda lihat dalam video di bawah ini.
Langkah 2: Bagaimana Segalanya Bekerja
Sebelum kita beralih ke penjelasan langkah demi langkah tentang bagaimana proyek ini dilakukan, saya pikir akan lebih baik untuk menonton video ilustratif dan mendapatkan beberapa ide intuitif tentang apa yang saya bicarakan.
Catatan #1: salah satu LED merah (baris pertama/ dari kiri ke kanan) padam, tidak apa-apa.
Catatan #2: meskipun banyak digunakan, dari pengalaman saya, saya dapat mengatakan bahwa Teknologi RFID bukanlah ide terbaik untuk digunakan dalam aplikasi DIY (tentu saja jika Anda memiliki alternatif). Sebelum semuanya berhasil, saya melakukan banyak uji coba dengan meletakkan bidak catur di dekat pembaca dan menunggu sampai membaca ID dengan benar. Port serial harus diatur untuk itu karena cara pembaca RFID membaca ID hanya membuat pusing. Seseorang harus mencoba sendiri untuk memahami masalah ini. Jika Anda membutuhkan bantuan lebih lanjut, silakan email saya ([email protected]) atau tambahkan skype (tahir.miriyev9r1), sehingga kami dapat menjadwalkan percakapan dan mendiskusikan berbagai hal secara detail, saya akan menjelaskan semuanya secara menyeluruh.
Langkah 3: Alat dan Komponen
Berikut adalah daftar semua alat yang saya gunakan untuk proyek ini: Komponen elektronik:
- Papan tempat memotong roti (x1)
- Omnidirectional A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) Sensor efek hall (x16)
- LED 5 mm dasar (x16)
- Kabel jumper
- Pembaca dan Antena RFID 125 kHz (x1)
- Arduino Mega (x1)
- Tag 3M RFID (x2)
Bahan lainnya:
- kaca plexiglass
- Kertas mengkilap
- Papan pendek (kayu)
- Cat akrilik (hijau tua dan creme) x2
- Karton tipis
- magnet bulat 10 mm (x2)
- Potongan Pion dan Ratu
- Besi solder dan bahan solder
Langkah 4: Skema (Fritzing)
Skemanya sedikit rumit, saya tahu, tetapi idenya harus jelas. Ini adalah pertama kalinya saya menggunakan Fritzing (sangat disarankan), mungkin koneksi dapat ditarik lebih akurat. Bagaimanapun, saya mencatat semua yang ada di dalam skema. Catatan: Saya tidak dapat menemukan model RDIF Reader yang tepat di antara komponen-komponen dalam database Fritzing. Model yang saya gunakan adalah modul RFID 125Khz - UART. Anda dapat menemukan tutorial di Youtube tentang cara mengatur modul ini dengan Arduino.
Langkah 5: Proses
Saatnya menjelaskan bagaimana sesuatu dibuat. Silakan ikuti deskripsi langkah demi langkah:
1. Ambil karton berukuran 21x21 cm, serta beberapa karton tambahan untuk memotong dan merekatkan dinding papan bagian atas, sehingga menjadi 16 kotak dengan bilangan A B C D 1 2 3 4. Karena karton tipis, Anda dapat menempelkan 16 sensor efek hall ke setiap kotak, dengan masing-masing 3 kaki dan 16 LED dengan masing-masing 2 kaki.
2. Setelah Anda mengatur komponen, Anda perlu melakukan beberapa penyolderan, untuk menyolder kaki sensor efek Hall dan kabel LED ke kabel jumper. Pada titik ini, saya akan merekomendasikan memilih kabel berwarna dengan cara yang cerdas, sehingga Anda tidak akan bingung dengan kaki + dan - LED, juga kaki VCC, GND dan PIN dari sensor efek Hall. Tentu saja, seseorang mungkin mencetak PCB dengan sensor dan bahkan jenis LED WS2812 yang sudah disolder, tetapi saya memutuskan untuk membuat proyek tetap sederhana dan melakukan lebih banyak "pekerjaan tangan". Pada titik ini, yang harus Anda lakukan adalah menyiapkan kabel dan sensor, pada tahap selanjutnya mengikuti skema Fritzing Anda dapat melihat di mana Anda harus memasang ujung setiap kabel. Tak lama, beberapa dari mereka akan langsung ke PIN di Arduino Mega (ada cukup banyak di Arduino), yang lain ke papan tempat memotong roti dan semua GND dapat disolder ke satu kabel (membuat kesamaan) yang nantinya harus terhubung ke GND di papan Arduino. Satu catatan penting di sini: Sensor efek hall bersifat OMNIDIRECTIONAL, yang berarti tidak masalah kutub magnet mana yang akan dipegang dekat dengan sensor, sensor akan mengirimkan 0 data saat ada medan magnet di dekatnya dan 1 saat tidak ada, yaitu, magnet jauh (lebih jauh dari katakanlah 5 sm) dari sensor.
3. Siapkan karton serupa 21x21 cm dan pasang Arduino Mega dan papan tempat memotong roti panjang di atasnya. Anda juga dapat memotong lagi 4 dinding dengan ketinggian yang diinginkan dari karton, dan merekatkannya secara vertikal dengan dua lapis papan persegi berukuran 21x21 cm itu. Kemudian ikuti Fritzing Schematics untuk mengatur semuanya. Anda juga dapat mengatur pembaca RFID setelah Anda selesai dengan LED dan sensor efek Hall.
4. Uji apakah semua LED dan sensor berfungsi, dengan mengirimkan sinyal menggunakan kode dasar. Jangan menghindari langkah ini karena akan memungkinkan Anda menguji apakah semuanya berfungsi dengan baik dan lolos ke konstruksi papan lebih lanjut.
5. Siapkan Pion dan Queen, dengan dua magnet dengan radius 10 cm terpasang di bawah, serta tag RFID bulat. Kemudian, Anda harus membaca ID tag tersebut dari Serial Screen pada Arduino IDE.
6. Jika semuanya bekerja dengan baik, Anda dapat memulai kode utama dan mencoba semuanya!
7 (opsional). Anda dapat melakukan beberapa karya artistik dengan kayu yang akan memberikan tampilan yang lebih alami pada demo Anda. Itu terserah keinginan dan imajinasi Anda.
Langkah 6: Beberapa Foto dan Video Dari Berbagai Tahap
Langkah 7: Kode Sumber
Sekarang, ketika kita selesai dengan prototipe, kita siap untuk menghidupkannya dengan kode Arduino di bawah ini. Saya mencoba meninggalkan komentar sebanyak mungkin, agar proses analisis kode dapat dimengerti. Sejujurnya, logikanya mungkin tampak agak rumit dari pandangan pertama, tetapi jika Anda menggali lebih dalam logika kodenya, itu akan terlihat lebih komprehensif.
Catatan: Mirip dengan papan catur asli, saya secara abstrak menomori kotak sebagai A1, A2, A3, A4, B1, …, C1, …, D1,.., D4. Namun, dalam kode, tidak praktis menggunakan notasi ini. Oleh karena itu saya menggunakan array dan mewakili kotak masing-masing sebagai 00, 01, 02, 03, 10, 11, 12, 13, …, 32, 33.
Terima kasih atas perhatian Anda! Uji semuanya dan bebas untuk menulis di komentar tentang segala jenis kesalahan yang saya lewatkan, perbaikan, saran, dll. Berharap untuk mendengar beberapa pendapat tentang proyek ini. Jika Anda memerlukan bantuan apa pun dengan proyek ini, kirimkan saya email ([email protected]) atau menambahkan skype (tahir.miriyev9r1), sehingga kami dapat menjadwalkan percakapan dan mendiskusikan berbagai hal secara detail. Semoga berhasil!