Esquema de tablero de ajedrez/diseño de pcb

Hola chicos, como se describe aquí , también quiero hacer un tablero de ajedrez con algo de soporte de arduino. Aquí quiero hacer algunas preguntas sobre el esquema y el diseño de PCB que planeo hacer. @Dmitry Grigoryev describe una forma de abordar los sensores usando un 1-8-demux. Debido al hecho de que mis habilidades esquemáticas aún no son las mejores, tengan paciencia conmigo. De todos modos, quiero describir mi idea brevemente.

  1. Esquema para el campo

    Para la versión 1 de nuestra placa, planeamos integrar una fotorresistencia para determinar si una figura está en un campo o no. Para esto quiero compartir un esquema simple:ingrese la descripción de la imagen aquí

Esto puede parecer estúpido para algunos de ustedes, pero estos son mis primeros intentos. Mi idea detrás de esto es usar la fotorresistencia y la otra resistencia (donde la resistencia varía de un campo a otro) como un divisor de voltaje para determinar qué campo exacto es activado por una figura.

Pregunta 1: ¿Es esto factible o alguien tiene una idea mejor, entonces por favor compártela conmigo?

  1. Comunicación con el controlador

    Nuestro objetivo es utilizar un Arduino Micro/Nano o Mega si se necesita más memoria. Para la comunicación elegimos el MCP23017 - I/O-Expander . Por lo tanto, cada campo está conectado a uno de los 4 controladores (64 campos = 4 * expansor de E/S de 16 bits). Sé que es una señal analógica, pero todo lo que necesito es solo una señal de 'oye, me dispararon'.

Pregunta 2: ¿Es esto también factible o alguno de ustedes tiene una solución mejor y más limpia? Más mantenible y más ampliable para futuras versiones.

  1. tarjeta de circuito impreso

    Estoy planeando crear una PCB a partir de todas las ideas que se pueden expandir para otros casos de uso (por ejemplo, agregar ADC, etc. o algo como esto).

Misma pregunta que los anteriores también.

Puhh, espero haber agregado todo y la pregunta completa todos los estándares de stackexchange. Si no es así, envíe sus comentarios para mejorar mi pregunta.

¿No preferirías saber de qué tipo y color es la figura?
@ott-- Totalmente cierto, ese es el paso para futuras versiones. Para la versión 1 nos concentramos en los hechos muy básicos.
Para ampliar el comentario de @ott--, debido a que esta implementación no detectará el tipo/color, ¿no sería mejor saltar directamente a un esquema que pueda ? Mi punto es que hacer que esto funcione no lo ayudará mucho en el proyecto "real", que requeriría discriminación de tipo/color. ¿Qué sucede si coloca dos contactos concéntricos en la parte inferior de cada pieza y utiliza un esquema de datos de 1 cable (energía parásita)?
@uint128_t. Gracias por tu comentario. Ok, digamos que expandiríamos la idea a un paso de tipo/color. ¿Podría ser más preciso en su parte de poder parásito de su comentario? Incluso si confirmo tu comentario, mi colega es quien da las órdenes y yo soy quien trata de desarrollar cosas con respecto a sus requisitos. De todos modos estoy abierto a nuevas ideas.
"...por favor desnudo con mi". ¿Nos estás invitando a todos a desnudarnos o quieres decir "ten paciencia conmigo"?
Dado que hay UNA posición inicial, y con la excepción de los castillos, solo se mueve una pieza a la vez, sabiendo qué pieza está dónde debería poderse alcanzar sin identificar piezas individuales. Los peones promocionados pueden convertirse en un problema.
@transistor: Mierda, gracias, mi inglés a veces me golpea fuerte: D
si agrega un LED (o cambia a un optoacoplador, es decir, QR1113) y hace que la cámara de reflexión de la luz sea un sistema cerrado y pinta las bases con diferentes tonos de escala de grises, es posible que pueda identificar las partes por la cantidad de luz que reflejan.
No sería demasiado difícil colocar dos contactos coaxiales en la parte inferior de cada pieza, que se acoplarían con los contactos en el tablero. Dos cables son suficientes para suministrar energía y comunicar datos, consulte el protocolo de 1 cable de Maxim.
@uint128_t o simplemente midiendo su resistencia, en un modo más rudimentario
@WesleyLee. Esta es una solución muy interesante. ¿Tal vez usted y uint128_t puedan proporcionar una respuesta para que pueda votar algunas respuestas?

Respuestas (1)

Según los comentarios, estoy publicando una solución alternativa que puede adaptarse mejor a sus necesidades.

Si haces que la base de la pieza y el cuadrado del tablero de ajedrez sean un sistema cerrado, ~podrías~ ser capaz de identificar las partes por la cantidad de luz que reflejan.

Para esto creo que necesitas 4 cosas:

1 tablero de ajedrez y pieza para ser un sistema cerrado (la luz exterior puede interferir con las lecturas según el sensor que use)

2 Pinta las bases de las piezas en diferentes tonos de escala de grises.

3 Agregue una luz fija/conocida (puede ser un LED IR, QRE1113 por ejemplo, eliminando el LDR)

4 Utilice un expansor de puertos con entradas analógicas (la búsqueda rápida ofrece algunas alternativas: ADS1015 , MCP3424

He usado el QRE1113 en muchas condiciones y logra rechazar muy bien la luz ambiental. Solo he tenido problemas con la luz directa del sol.

Creo que necesitas 6*2 "grises" diferentes (rey, reina, torre, alfil, caballo, peón, blanco y negro). No tengo idea de cuán difícil o fácil es lograr esta precisión en la impresión/detección de luz. Sin embargo, es muy fácil crear un prototipo. Ni siquiera necesita el expansor de puertos i2c.

se me acaba de ocurrir, si un gris se parece demasiado al siguiente paso, tal vez quieras probar bases verdes/rojas (para piezas en blanco y negro) y geles de colores en tus sensores. Algún tipo de combinación inteligente podría brindarle todos los datos que necesita para la pieza.
No estoy seguro de por qué necesitas distinguir las piezas. Mi computadora de ajedrez de los años 80 tenía un "botón" para todos los campos debajo del tablero y empujabas hacia abajo una pieza que querías mover y la empujabas al campo al que la moviste. Funcionó bien y actualmente puede ser reemplazado por muchos métodos diferentes
Gracias por tu respuesta. Esta solución me parece prometedora.