Tôi muốn tạo một bàn cờ bằng gỗ mà bạn có thể chơi bằng các quân cờ thông thường (nghĩa là không phải các quân cờ được sửa đổi sử dụng mã RFID, nam châm, Thẻ), nhưng được kết nối với một phần mềm chú ý đến các bước di chuyển của tôi và hoạt động như người chơi thứ hai.
Tôi đã suy nghĩ về cách phát hiện các mảnh trên bảng và tôi đã đưa ra các quyết định mà tôi không cần phải nhận ra mảnh nào ở đâu: "Sự thật" nằm trong phần mềm, vì vậy nếu tôi chuyển một mảnh từ A sang B , phần mềm có thể tìm ra phần nào đã được di chuyển.
Vì vậy, tôi đã có ý tưởng khoan hai lỗ vào mỗi sân của bàn cờ, một ở trung tâm và một ở góc trên bên phải:
- Cái ở giữa sẽ được sử dụng cho cảm biến độ sáng để phát hiện xem một mảnh có đứng trên sân hay không.
- Cái ở góc sẽ được sử dụng cho đèn LED để hiển thị phần nào người dùng phải di chuyển cho máy tính, để tình huống trong thế giới thực khớp với tình huống phần mềm một lần nữa.
Tôi muốn sử dụng Raspberry Pi làm nền tảng phần cứng để phần mềm chạy, phần mềm này sẽ được viết bằng Node.js (nhưng điều đó không quan trọng đối với câu hỏi này).
Vì vậy, những gì tôi kết thúc là 64 cảm biến độ sáng và 64 đèn LED, mà tôi cần phải giải quyết riêng lẻ. Nói cách khác: Tôi cần 64 đầu ra và 64 đầu vào. Và tất nhiên đây là điều mà Raspberry Pi không xử lý được - và tôi nghĩ rằng phải có một cách tốt hơn là có 128 cổng I / O.
Vì tôi nghĩ rằng việc phát hiện trạng thái của hội đồng quản trị là nhiệm vụ quan trọng hơn, tôi bắt đầu tìm kiếm trên web cách xử lý ma trận công tắc 8 x 8. Tôi tìm thấy đề xuất sử dụng bộ điều khiển vi mô quét các cột của bảng một cách tuần tự và trong mỗi cột phát hiện xem một hàng (= một trường) có được sử dụng hay không.
Điều này sẽ giảm độ phức tạp khi có 8 đầu ra và 8 đầu vào (để có thể đọc trạng thái của bảng).
Về điều này, tôi có một vài câu hỏi:
- Là suy nghĩ của tôi đúng, tức là đây là cách tiếp cận chính xác, hoặc có một sự thay thế tốt hơn mà tôi nên đề phòng?
- Vì tôi không có kinh nghiệm với bộ điều khiển vi mô, tôi cần chú ý điều gì? Tôi chỉ cần một bộ điều khiển vi mô có 16 chân, có thể lập trình bằng ngôn ngữ mà tôi có thể viết, hay không?
- Có ai đã xây dựng một bảng như vậy và có một số lời khuyên hoặc biết về một hướng dẫn hướng dẫn bạn qua quy trình?