Saludos, Habr!

Como habrás adivinado por la fotografía, hoy no estamos hablando de la clasificación del coñac. Haré el juego tic-tac-toe ... A quién le importa - Pido un corte ->
La idea, como siempre, nació espontáneamente. Una tranquila tarde de otoño, dibujé nueve celdas en una hoja e invité a mi hija a jugar un nuevo juego para ella. Después de haber jugado varias veces, vi que había un interés genuino ... y luego Ostap sufrió.
Parece que es más fácil continuar dibujando celdas en una hoja de papel o descargar el programa a su teléfono, pero ¿es interesante? No!
Lo que quería obtener:
- Dispositivo compacto en la batería (todo tipo de pantallas capacitivas de tachi y MIPI desaparecen inmediatamente).
- En consecuencia, carga desde USB (preferiblemente con una indicación).
- Costos mínimos de tiempo para el tablero y el software (bueno, como de costumbre, en general).
- Tocar botones.
- Dispositivo inteligente con la capacidad de jugar con el controlador (sin un segundo jugador). Cambio a uno y dos jugadores.
- Encienda / apague con un botón y preferiblemente no toque, para que no se produzca un encendido accidental.
- Imprima la carcasa en una impresora 3D + vidrio esmerilado para cerrar los LED.
Lo primero es lo primero.
1. Entonces, se decidió tomar el controlador STM32F100. En él, puedo implementar completamente la lógica simple del juego para empezar. En el caso con 48 patas, todos los GPIO estaban ocupados (sin el uso de multiplexores y expansores). Para cada cruce y cero, se utilizan 8 LED (conectados en paralelo), que son conmutados por trabajadores de campo (IRLML6401).
El dispositivo consta de dos placas, una con LED y botones táctiles, la segunda con un controlador, carga, batería, etc. Están conectados por conectores en incrementos de 2 mm, entre las placas hay una batería de 1250 mA.
Fig. 1. Placa controladora
Fig. 2. tablero de LEDUnos días después, los tableros finalmente salieron de producción. Tenía la sensación de que el juego resultaría incómodo debido al tamaño o los botones táctiles. Mirando hacia el futuro, ¡diré que jugar es genial! Los botones funcionan bien a través de plexiglás de 1.5-2 mm.
Fig. 3. Lado SUPERIOR de la placa del controlador y los LED
Fig. 4. Lado INFERIOR de la placa del controlador y los LED2. El esquema de carga es el más simple que introduzco en dispositivos similares.
Fig. 5. El circuito del controlador de carga.3. Todo estaría bien, pero había más componentes de los que esperaba, y me atormentaron para soldar. Eso es lo que sucedió después de soldar.
Fig. 6. Tarjeta controladora con componentes
Fig. 7. tablero LED con componentes
Fig. 8. Tablero LED con componentes en el lateral de los botones táctiles.La primera, y hasta ahora la única, versión del software que hice en ifs y en un bucle sin fin. Simple y funciona sin errores. Al ganar, todo el campo se apaga y la combinación ganadora parpadea dos veces.
4. Decidí implementar los botones táctiles en los microcircuitos TTP223, ya los usé en uno de mis proyectos. No exigen cableado ni la presencia / ausencia de un polígono debajo del sensor.
Fig. 9. El esquema de inclusión de los botones táctiles.Tenía más de 9 piezas, así que decidí no usar el multiplexor y colgar cada botón en mi controlador GPIO.
5. Luego, planeo integrar el algoritmo del juego con el controlador (ya he encontrado varias opciones decentes). Se planea hacer el cambio hasta el momento manteniendo presionado el botón táctil central antes de encenderlo (pero esto aún no es definitivo).
6. Durante mucho tiempo pensé en cómo encender / apagar simplemente con un botón de una manera simple. La opción más rápida y correcta, en mi opinión, está en los transistores y el uso de dos controladores GPIO, que no tengo. Por lo tanto, puse el chip CD4013BM. El encendido se realiza presionando durante aproximadamente 1 segundo, y se apaga presionando rápidamente. Funciona muy bien
Fig. 10. Diagrama de cableado CD4013BM.El pin "OUT_KEY" va al pie de encender (EN) el DC / DC AP3418 (hace 3V3). Por lo tanto, el consumo es mínimo.
Fig. 11. Tablero con un microcontrolador y batería.7. El caso aún está en la etapa de diseño. Solo se planea una pequeña caja ordenada con un plexiglás mate de 1.5 mm en la parte superior.
Cuando puse unas hojas de papel encima para ver cómo estaba la translucidez, me di cuenta de que era un fiasco. No, se ve bien, pero la regla del campo no es visible. Por lo tanto, en "Fig. 2. " Se instalaron 4 LED adicionales en las esquinas del cuadrado central (no están en mi placa de circuito soldada). Si todo funciona como se ve en mi cabeza, entonces si realiza el fresado en la parte posterior de plexiglás, estos 4 LED azules darán 4 haces delgados que forman la marca del campo, que se encenderá cuando se encienda el dispositivo. Si los rayos no funcionan, entonces, en cualquier caso, el fresado será visible.
Hay un altavoz en el tablero, pero con el generador incorporado no cabe en altura, y sin el generador no lo hago. Creo que el vibromotor del teléfono caerá en este lugar y habrá una respuesta vibratoria cuando se presione y gane.
Como resultado, puedo decir que el juguete resultó ser muy interesante. La foto no transmite todo el efecto, pero las cruces y los ceros se ven geniales, sin resaltados. ¡Jugar es un placer! Los botones funcionan perfectamente y el tamaño del campo es muy conveniente. Cuando el caso esté listo, definitivamente publicaré una foto.

Hasta pronto!
UPD:
Precios agregados al comprar componentes para 1 dispositivo, tal vez olvidé algo. Las juntas y la asamblea no contaban. Se puede cambiar algo por uno más barato.
1. STM32F100C4T6B - 1 pieza - 130 rub.
2. CD4013BM - 1pc - 16r.
3. LTC4054 - 1pc - 5p.
4. AP3418KTR - 1 pieza - 30 rub.
5. IRLML6401TRPBF (Si2307DS) - 18 piezas - 11r.
6. LP503759 - 1 pieza - 300 rub.
7. C191KRCT / C191KGCT - 148 piezas - 436 rublos.
8. TTP223 - 8 piezas - 40r.
9. Botón, conector, pasivo - un montón - 100 rublos.
10. Tasas
11. Asamblea
Total: 1068 rub.
UPD:
Enlace de video