Я хочу зробити дерев'яну шахову дошку, на яку можна грати звичайними фігурами (тобто, не зміненими фігурами, що використовують RFID-коди, магніти, ...), але це пов'язано з програмним забезпеченням, яке враховує мої кроки та виконує функції другий гравець.
Я думав над тим, як виявити шматки на дошці, і я прийняв рішення, що мені не потрібно розпізнавати, який фрагмент знаходиться де: "Істина" знаходиться в межах програмного забезпечення, тому якщо я переміщу фрагмент з А до В , програмне забезпечення здатне з’ясувати, яку частину перемістили.
Отже, у мене виникла ідея просвердлити два отвори у кожному полі шахової дошки, по одному в центрі та одному у верхньому правому куті:
- Той, що знаходиться в центрі, буде використовуватися для датчика яскравості для виявлення, чи стоїть шматок на полі чи ні.
- Той, що знаходиться в куті, буде використаний для світлодіодного індикатора, щоб показати, яку частину користувач повинен перемістити за комп’ютером, щоб ситуація в реальному світі знову відповідала ситуації із програмним забезпеченням.
Я хочу використовувати Raspberry Pi як апаратну основу для запуску програмного забезпечення, яке буде написано на Node.js (але це не має бути важливим для цього питання).
Отже, що я закінчую - це 64 датчики яскравості та 64 світлодіоди, які мені потрібно вирішувати окремо. Іншими словами: мені потрібно 64 виходи та 64 входи. І звичайно, це щось, що Raspberry Pi не справляється із коробки - і я думаю, що там повинен бути кращий спосіб, ніж мати 128 портів вводу / виводу.
Оскільки я думаю, що виявлення стану плати є більш важливим завданням, я почав шукати в Інтернеті, як обробити матрицю перемикачів 8х8. Я знайшов пропозицію використовувати мікроконтролер, який послідовно сканує стовпці плати, і в кожному стовпці визначається, чи використовується рядок (= поле) чи ні.
Це зменшило б складність до 8 виходів та 8 входів (щоб можна було прочитати стан плати).
З цього приводу у мене є кілька питань:
- Чи правильні мої думки, тобто це правильний підхід, чи є краща альтернатива, на яку я повинен слідкувати?
- Оскільки у мене немає досвіду роботи з мікроконтролерами, на що мені потрібно звертати увагу? Мені просто потрібен мікроконтролер з 16 контактами, який можна програмувати мовою, яку я вмію писати, або…?
- Хто-небудь побудував таку дошку і має якісь поради чи знає підручник, який розглядає вас через процес?