Saya sedang mengerjakan proyek Android ADK. Saya mencari cara untuk mendeteksi lokasi bidak catur di papan (8x8). Saya melihat hal-hal seperti NFC tetapi terlihat terlalu mahal. Apakah ada teknologi berbeda yang harus saya pertimbangkan. Saya butuh sesuatu yang dunia bisa baca keadaan papan penuh kapan saja. Sebagai contoh beberapa bagian mungkin akan terjatuh dan begitu mereka diatur kembali saya perlu lokasi. Untuk menjelaskan hal ini lebih lanjut, dalam permainan catur turoment jika kepingan dipindahkan ke lokasi yang salah dan tidak ada pemberitahuan pemain permainan akan berlanjut. Jadi saya perlu merekam permainan meskipun posisinya tidak mungkin berdasarkan aturan permainan.
Saya hanya ingin diarahkan ke arah umum tentang teknologi apa yang harus dilihat.
Jawaban:
Ide pertama : RFID. Satu tag (sangat murah) di bawah setiap bagian. Setiap tag harus mengidentifikasi jenis keping mana (dari {6 white} + {6 black} = 12 jenis yang berbeda). Satu sirkuit transceiver dan 1-ke-64 multiplexer untuk seluruh papan. Juga, 64 antena kecil, masing-masing di bawah setiap posisi papan. Transceiver beroperasi pada daya RF yang sangat rendah (Anda harus menemukan yang optimal, secara eksperimental). Dengan mengubah koneksi multiplexer, Anda memindai semua 64 posisi, dan membaca ID tag (jika ada) yang ada di masing-masing.
Saya tidak pernah menggunakan IC yang dibicarakan, tetapi dokumen ini mungkin membantu Anda menerapkan multiplexer RFID (yang akan menjadi bagian paling menantang, bersama dengan tata letaknya yang cermat).
Gagasan kedua : bedakan setiap jenis serpihan dengan permeabilitas magnetiknya yang unik. Untuk setiap bagian, Anda akan menambahkan massa tertentu di bagian bawahnya. Massa ekstra ini akan sama untuk semua 32 buah (sehingga pengguna merasa nyaman dengan mereka). Setiap massa tambahan akan menjadi jumlah dari dua massa: massa "magnetik", ditambah massa "kompensasi" (non-magnetik). Satu-satunya tujuan dari massa kompensasi adalah untuk membuat total massa ekstra sama dengan semua jenis potongan. Anda perlu membedakan 12 jenis potongan yang berbeda. Setiap jenis potongan harus memiliki massa magnetik dengan permeabilitas magnetik yang unik, . Anda mungkin akan memilih bahan dengan tinggi , tetapi ada banyak bahan yang dapat Anda pilih, masing-masing dengan berbeda (lihat satu tabelμ μμ μ μ di sini ).
Di bawah setiap posisi papan, Anda perlu melilitkan beberapa lilitan kawat (sehingga diameternya hampir sisi persegi). Anda akan memiliki 64 gulungan. Sekali lagi, gunakan multiplexer 1-ke-64, untuk menghubungkan hanya satu dari mereka ke induktansi meter. Perbedaannya, sekarang, adalah bahwa multiplexer tidak perlu berurusan dengan RF. Anda dapat mengikat satu simpul dari semua koil bersama-sama, dan menggunakan 64 switch analog (sangat murah), untuk mengarahkan, seperti yang saya katakan, satu koil ke induktansi meter. Rangkaian harus menentukan, dalam waktu sesingkat mungkin, berapa induktansi diri yang diukur pada masing-masing dari 64 kumparan. Tidak perlu banyak akurasi. Itu hanya perlu menentukan 13 nilai yang mungkin berbeda untuk L (yaitu kurang dari 4 bit!). Anda dapat bereksperimen dengan metode dalam domain waktu (mis., Menerapkan tegangan konstan, dan mengukur kemiringan arus), atau dalam domain frekuensi (misalnya, mencoba mencari frekuensi resonansi dengan cepat, dengan kapasitor tambahan tertentu). Untuk mencapai 12 nilai berbeda untuk L, Anda dapat bermain dengan permeabilitas yang berbeda, dan dimensi yang berbeda untuk bahan magnetik.
Karena Anda harus memindai 64 posisi (mengukur 64 induktansi diri) dalam waktu yang wajar, saya mungkin akan menggunakan pendekatan domain waktu. Misalnya, jika Anda membiarkan diri Anda 1 detik untuk membaca seluruh kondisi board, Anda memiliki 15,6 ms untuk setiap pengukuran induktansi. Menantang, tetapi bisa dilakukan.
Jika kecepatan akhirnya benar-benar menjadi hambatan, Anda bisa membuat sistem Anda 8x lebih cepat, jika Anda memasukkan 8 ujung depan analog, bukan satu. Setiap ujung depan akan dikhususkan untuk setiap baris di papan tulis. Dengan begitu, Anda dapat mengukur 8 induktansi diri secara bersamaan (memberi Anda 125 ms untuk setiap pengukuran, dan Anda akan tetap memiliki status papan keseluruhan dalam 1 detik). Saya yakin satu MCU, bahkan dengan ADC tunggal (dengan 8 saluran), sudah cukup.
Ini bisa (tanpa semua rincian) skema untuk setiap ujung depan (yang bisa menjadi satu untuk seluruh papan, atau satu untuk setiap baris, seperti yang disebutkan), dan cara untuk dengan cepat memperkirakan induktansi diri ke (N menjadi 8 atau 64). Node umum untuk kumparan akan menjadi yang teratas, dan sinyal kontrol untuk switch analog tidak ditampilkan, untuk kesederhanaan. TS akan konstan, dan VX sampel di TS akan digunakan untuk menghitung induktansi diri. TG akan sedikit lebih panjang dari TS.L NL.1 L.N
Manfaat dari gagasan kedua ini: tidak melibatkan RF. Namun, Anda perlu membuat "tag" sendiri, dengan permeabilitas yang berbeda.
sumber
Saya telah melihat banyak papan catur elektronik yang memiliki lubang yang dibor di tengah masing-masing 64 kotak, dengan fotodetektor sederhana di bawah setiap lubang, yang hanya memberikan 1 bit - "tidak ada apa-apa di sini", atau "sepotong jenis adalah meliputi detektor ". Ini membutuhkan (a) beberapa memori dan kode untuk mengingat konfigurasi papan yang lama, dan untuk melacak bagian mana yang dipindahkan, dan (b) sesuatu yang istimewa untuk menangani promosi gadai. Ini dapat mendeteksi kuadrat mana yang ditempati dan kuadrat mana yang terbuka kapan saja, tetapi tidak dalam keadaan penuh.
sumber
GlyphChess memecahkan ini dengan menggunakan papan catur transparan. Pemindai di bawahnya membaca barcode unik yang menempel di bagian bawah masing-masing bagian untuk mengetahui bagian mana yang terletak. "Kode Rahasia PARC" Slashdot: Mainkan Catur GNU Pada Pemindai Anda Ini dapat membaca ulang status papan penuh kapan saja. Karena ada kurang dari 18 jenis yang unik dari potongan pada papan catur, mungkin akan lebih baik untuk menggunakan mudah mengenali fiducials seperti spidol d-touch daripada barcode resolusi tinggi mampu membedakan jutaan benda.
sumber
Saya akan melakukan ini dengan membuat sensor warna untuk setiap kotak, dan menempatkan label warna yang berbeda di bagian bawah potongan.
Sensor warna akan dibuat menggunakan tiga LED (mungkin Merah, Hijau, dan Biru), dan foto-transistor sensitif terhadap semua cahaya yang terlihat. Nyalakan LED secara berurutan dan ukur apa yang diukur oleh fototransistor dari bidak catur.
Anda bisa melakukannya secara terbalik, di mana Anda memiliki LED putih dan tiga fototransistor yang sensitif terhadap warna yang berbeda. Tapi itu lebih sulit dilakukan. Kebanyakan phototransistors tidak selektif warna. Anda dapat menggunakan filter, tetapi lebih mudah untuk hanya menggunakan LED warna yang berbeda.
Jika LED menyala untuk waktu yang cukup singkat maka Anda tidak akan melihatnya "terlalu banyak". Juga, LED dapat digunakan untuk hal-hal lain seperti menandai papan atau melakukan pertunjukan cahaya kecil yang keren saat permainan dimenangkan.
Ada sedikit trik untuk ini, yang membuat semuanya mudah untuk dipasang dan dibangun. Avago memiliki sedikit cahaya sekitar untuk chip I2C yang mungkin membuatnya lebih mudah. Perusahaan lain memiliki hal serupa.
Trik berikutnya adalah membuat label berwarna yang cukup berbeda sehingga Anda memiliki warna yang unik per potong. Ini hanya akan memerlukan beberapa percobaan dan kesalahan, karena kita tidak tahu spektrum pasti dari berbagai pigmen tinta / toner printer. Meski begitu, seharusnya tidak terlalu sulit asalkan Anda bisa mendapatkan resolusi 6 bit dari sensor cahaya. (6 bit akan memberi Anda banyak margin noise.)
sumber
tidak perlu mendeteksi warna, hanya nuansa abu-abu. Setiap bagian memiliki warna abu-abu di bagian bawah dan sepasang pemancar / detektor IR sederhana yang dipasang di papan membaca nilai analog.
sumber
Sebuah perusahaan bernama "Zowie" pernah menghasilkan beberapa playset termasuk "Ellie's Enchanted Garden" yang akan terhubung ke komputer, dan yang dapat merasakan posisi beberapa token di permukaan permainan. Setiap token terdiri dari kapasitor dan kumparan kawat, dan permukaan permainan menampilkan kisi-kisi kabel; menempatkan arus melalui kabel horizontal pada frekuensi yang cocok dengan frekuensi LC dari rakitan tutup-koil akan menyebabkan frekuensi tersebut muncul pada kabel vertikal. Jaringan kawat sekitar enam kabel / inci di kedua arah, dan resolusi posisi yang jelas mungkin sekitar 0,05 ", tetapi hanya ada sekitar 16 kabel yang terhubung ke papan CPU; Saya kira kabel diatur dalam pola sedemikian rupa sehingga masing-masing token akan bereaksi terhadap dua atau lebih kabel horisontal dan merangsang setidaknya dua kabel vertikal; dengan mencatat kombinasi kabel mana yang akan bereaksi terhadap rangsangan, CPU dapat mengetahui di mana token itu berada. Saya tidak ingat apa yang diklaim Zowie dalam paten mereka, atau apa yang disebut sebelumnya oleh seni, tapi sangat mungkin sebelum seni akan mencakup pendekatan domain publik sekarang yang akan memadai untuk tujuan Anda.
sumber