Grüße, Habr!

Wie Sie vielleicht auf dem Foto erraten haben, sprechen wir heute nicht über die Klassifizierung von Cognac. Ich werde das Spiel tic-tac-toe machen ... Wen interessiert das - ich bitte um einen Schnitt ->
Die Idee wurde wie immer spontan geboren. An einem ruhigen Herbstabend zeichnete ich neun Zellen auf ein Blatt und lud meine Tochter ein, ein neues Spiel für sie zu spielen. Nachdem ich mehrmals gespielt hatte, sah ich, dass es echtes Interesse gab ... und dann litt Ostap.
Es scheint einfacher zu sein, weiterhin Zellen auf ein Blatt Papier zu zeichnen oder das Programm auf Ihr Telefon herunterzuladen. Aber ist es interessant? Nein!
Was ich bekommen wollte:
- Kompaktes Gerät im Akku (alle Arten von kapazitiven Tachi und MIPI-Displays verschwinden sofort).
- Dementsprechend wird über USB aufgeladen (vorzugsweise mit einer Anzeige).
- Minimale Zeitkosten für das Board und die Software (wie üblich im Allgemeinen).
- Berühren Sie die Tasten.
- Intelligentes Gerät mit der Fähigkeit, mit dem Controller zu spielen (ohne einen zweiten Spieler). Wechsel zu einem und zwei Spielern.
- Mit einer Taste ein- und ausschalten und vorzugsweise nicht berühren, damit es nicht zu einem versehentlichen Einschalten kommt.
- Drucken Sie das Gehäuse auf einem 3D-Drucker + Milchglas, um die LEDs zu schließen.
Das Wichtigste zuerst.
1. Daher wurde beschlossen, den STM32F100-Controller zu verwenden. Darauf kann ich zunächst die einfache Logik des Spiels vollständig implementieren. Bei dem Fall mit 48 Beinen waren alle GPIOs besetzt (ohne den Einsatz von Multiplexern und Expandern). Für jedes Kreuz und jede Null werden 8 LEDs verwendet (parallel geschaltet), die von Außendienstmitarbeitern geschaltet werden (IRLML6401).
Das Gerät besteht aus zwei Karten, eine mit LEDs und Touch-Tasten, die zweite mit einem Controller, Ladegerät, Akku usw. Sie werden über Anschlüsse in Schritten von 2 mm angeschlossen. Zwischen den Platinen befindet sich eine 1250-mA-Batterie.
Abb. 1. Controller-Karte
Abb. 2. LED-KarteEinige Tage später kamen die Boards endgültig aus der Produktion. Ich hatte das Gefühl, dass das Spiel aufgrund der Größe oder der Touch-Tasten unangenehm werden würde. Mit Blick auf die Zukunft werde ich sagen, dass das Spielen sehr cool ist! Die Tasten funktionieren gut durch Plexiglas 1,5-2 mm.
Abb. 3. Oberseite der Steuerplatine und der LEDs
Abb. 4. UNTEN Seite der Steuerplatine und der LEDs2. Das Ladesystem ist das einfachste, das ich in ähnliche Geräte stecke.
Abb. 5. Die Schaltung des Ladereglers.3. Alles wäre in Ordnung, aber es gab mehr Komponenten als ich erwartet hatte und ich wurde zum Löten gequält. Das ist nach dem Löten passiert.
Abb. 6. Steuerplatine mit Komponenten
Abb. 7. LED-Platine mit Komponenten
Abb. 8. LED-Platine mit Komponenten an der Seite der Touch-Tasten.Die erste und bislang einzige Version der Software, die ich auf ifs und in einer Endlosschleife erstellt habe. Einfach und funktioniert ohne Fehler. Beim Gewinnen geht das gesamte Feld aus und die Gewinnkombination blinkt zweimal.
4. Ich habe beschlossen, die Touch-Tasten in TTP223-Mikroschaltungen zu implementieren. Ich habe sie bereits in einem meiner Projekte verwendet. Sie erfordern keine Verkabelung und das Vorhandensein / Fehlen eines Polygons unter dem Sensor.
Abb. 9. Das Einschlussschema der Touch-Tasten.Ich hatte mehr als 9 Teile davon und entschied mich daher, den Multiplexer nicht zu verwenden und jede Taste an meinem GPIO-Controller aufzuhängen.
5. Als nächstes plane ich, den Spielalgorithmus in den Controller zu integrieren (ich habe bereits einige anständige Optionen gefunden). Das Umschalten bis jetzt ist geplant, indem Sie die zentrale Touch-Taste gedrückt halten, bevor Sie sie einschalten (dies ist jedoch noch nicht endgültig).
6. Ich habe lange darüber nachgedacht, wie man einfach mit einer Taste auf einfache Weise ein- und ausschaltet. Die schnellste und korrekteste Option sind meiner Meinung nach Transistoren und die Verwendung von zwei GPIO-Controllern, die ich nicht habe. Deshalb habe ich den CD4013BM Chip eingesetzt. Das Einschalten erfolgt durch etwa 1s langes Drücken, das Ausschalten durch schnelles Drücken. Es funktioniert großartig.
Abb. 10. Schaltplan CD4013BM.Der Pin „OUT_KEY“ befindet sich am Fuß des Einschaltens (EN) des DC / DC AP3418 (3V3). Somit ist der Verbrauch minimal.
Abb. 11. Platine mit Mikrocontroller und Batterie.7. Der Fall befindet sich noch in der Entwurfsphase. Geplant ist nur eine hübsche kleine Schachtel mit einem 1,5 mm matten Plexiglas.
Als ich ein paar Blätter Papier darauf legte, um zu sehen, wie die Transluzenz abläuft, wurde mir klar, dass es sich um ein Fiasko handelte. Nein, es scheint gut durch, aber das Lineal des Feldes ist nicht sichtbar. In „Abb. 2. " In den Ecken des zentralen Quadrats sind 4 zusätzliche LEDs installiert (sie befinden sich nicht auf meiner gelöteten Leiterplatte). Wenn alles so funktioniert, wie es in meinem Kopf aussieht, und wenn Sie auf der Rückseite mit Plexiglas fräsen, geben diese 4 blauen LEDs 4 dünne Strahlen ab, die die Markierung des Feldes bilden und sich beim Einschalten des Geräts einschalten. Wenn die Strahlen nicht funktionieren, ist in jedem Fall das Fräsen sichtbar.
Es gibt einen Lautsprecher auf der Platine, aber mit dem eingebauten Generator passt er nicht in die Höhe, und ohne den Generator nicht. Ich denke, dass der Vibromotor vom Telefon an diese Stelle fallen wird und es eine Vibrationsreaktion geben wird, wenn gedrückt und gewonnen.
Infolgedessen kann ich sagen, dass sich das Spielzeug als sehr interessant herausgestellt hat. Das Foto vermittelt nicht den gesamten Effekt, aber die Kreuze und Nullen sehen ohne Glanzlichter großartig aus. Spielen ist ein Vergnügen! Die Tasten funktionieren perfekt und die Feldgröße ist sehr praktisch. Wenn der Fall fertig ist, werde ich definitiv ein Foto posten.

Bis bald!
UPD:
Beim Kauf von Komponenten für 1 Gerät wurden zusätzliche Preise hinzugefügt. Vielleicht habe ich etwas vergessen. Bretter und Versammlung zählten nicht. Etwas kann gegen ein billigeres ausgetauscht werden.
1. STM32F100C4T6B - 1 Stk. - 130 Reiben.
2. CD4013BM - 1 Stück - 16r.
3. LTC4054 - 1 Stück - 5 Stück.
4. AP3418KTR - 1 Stk. - 30 reiben.
5. IRLML6401TRPBF (Si2307DS) - 18 Stück - 11r.
6. LP503759 - 1 Stk. - 300 Reiben.
7. C191KRCT / C191KGCT - 148 Stück - 436 Rubel.
8. TTP223 - 8 Stück - 40r.
9. Knopf, Stecker, passiv - ein Haufen - 100 Rubel.
10. Gebühren
11. Montage
Gesamt: 1068 reiben.
UPD:
Videolink