Saya ingin membuat papan catur dari kayu yang dapat Anda mainkan dengan potongan-potongan reguler (yaitu, bukan potongan yang dimodifikasi yang menggunakan kode RFID, magnet, ...), tetapi itu terhubung ke perangkat lunak yang memperhatikan gerakan saya dan bertindak sebagai pemain kedua.
Saya telah berpikir tentang cara mendeteksi potongan-potongan di papan tulis, dan saya telah membuat keputusan bahwa saya tidak perlu mengenali bagian mana itu: "Kebenaran" ada di dalam perangkat lunak, jadi jika saya memindahkan potongan dari A ke B , perangkat lunak dapat mengetahui bagian mana yang dipindahkan
Jadi, saya punya ide untuk mengebor dua lubang ke setiap bidang papan catur, satu di tengah, dan satu di sudut kanan atas:
- Yang di tengah akan digunakan untuk sensor kecerahan untuk mendeteksi apakah ada yang berdiri di lapangan atau tidak.
- Yang di sudut akan digunakan untuk LED untuk menunjukkan bagian mana yang harus dipindahkan oleh pengguna untuk komputer, sehingga situasi dunia nyata cocok dengan situasi perangkat lunak lagi.
Saya ingin menggunakan Raspberry Pi sebagai landasan perangkat keras untuk menjalankan perangkat lunak, yang akan ditulis dalam Node.js (tapi itu seharusnya tidak penting untuk pertanyaan ini).
Jadi, yang akhirnya saya dapatkan adalah 64 sensor kecerahan, dan 64 LED, yang perlu saya tangani secara terpisah. Dengan kata lain: Saya membutuhkan 64 output, dan 64 input. Dan tentu saja ini adalah sesuatu yang Raspberry Pi tidak menangani di luar kotak - dan saya pikir harus ada cara yang lebih baik daripada memiliki 128 port I / O.
Karena saya berpikir bahwa mendeteksi status papan adalah tugas yang lebih penting, saya mulai mencari di web bagaimana menangani matriks switch 8x8. Saya menemukan saran untuk menggunakan pengontrol mikro yang memindai kolom papan secara berurutan, dan di setiap kolom mendeteksi apakah baris (= bidang) digunakan atau tidak.
Ini akan mengurangi kompleksitas untuk memiliki 8 output dan 8 input (untuk dapat membaca status dewan).
Tentang ini, saya punya beberapa pertanyaan:
- Apakah pikiran saya benar, yaitu apakah ini pendekatan yang benar, atau apakah ada alternatif yang lebih baik yang harus saya perhatikan?
- Karena saya tidak punya pengalaman dengan pengontrol mikro, apa yang harus saya perhatikan? Apakah saya hanya memerlukan pengontrol mikro dengan 16 pin, yang dapat diprogram dalam bahasa yang dapat saya tulis, atau ...?
- Adakah yang membuat papan seperti itu dan memiliki saran atau tahu tentang tutorial yang menuntun Anda melalui proses?