It’s aliiiive !!

Remontage !

La première version vivante du flipper fonctionnait grâce aux contacts des bumpers et autres slingshots directement relié à la commande de la carte de puissance (transistor/mosfet). C’était amusant et ça permettait « aux gamins » de passer un peu de temps dessus.

Depuis quelques semaines, l’objectif était de réintroduire de l’intelligence dans la machine.

J’ai donc reconstruit la matrice de contacts dans l’état d’origine et commencé à appliquer la lecture de celui ci sur l’Arduino.

Un peu de code disponible ici, attention ça tache, c’est du draft-n-quick-n-dirty, sur mon github, pleins d’évolutions sont à venir.

Après la gestion des contacts, j’ai appliqué la gestion des règles matérielles comme prévu pour l’intégration avec le Mission Pinball Framework.

En attendant la gestion de la communication MPF entre l’Arduino et le Raspberry Pi, les règles de base sont ajoutées en dur dans le lancement du code:

  • réaction des bumpers
  • réaction des slingshots
  • gestion des flippers (par des contacts en dehors de la matrice)
  • quelques autres contacts permettent de relancer une bille, de relever les targets, etc.

Une petite vidéo qui montre l’activité des cartes de puissance:

 

Et une autre vue plus générale du flipper:

 

Prochaines étapes:

Terminer la communication pour informer MPF de ce qui se passe sur le plateau de jeu, et que MPF puisse envoyer des commandes.

Combien d’ingénieurs faut-il pour changer une ampoule ?!

Je ne terminerai pas la blague, mais je viens de passer le weekend pour en changer une soixantaine, et je n’en fait que les deux tiers !

Démontage

En premier, démontage des anciennes lampes et douilles. Voici le plateau « dépouillé »:

2017-01-20-16-37-00

Regarde maman, sans les lampes !

Il reste beaucoup de filasse, j’ai laissé le faisceau lampes en place pour le moment. Et j’ai laissé les douilles pour l’éclairage général.

Lampes !

Un microdirecteur à l’attaque des lampes 🙂

Le butin retiré !

Patronage !

La scotch double face étant évidemment au dos des leds, il me fallait un moyen artisanal pour positionner celles-ci. Je ne voulais pas fixer non plus toutes les leds sur le plateau, histoire de faire les soudures en dehors de celui-ci pour avoir de la liberté de mouvement. Me voilà à faire un patron comme un couture, afin de visualiser l’espace disponible, repérer les emplacements des inserts avec une lampe de l’autre coté du plateau.

Ca n’est pas très beau, mais j’ai collé les leds sur du carton fin, soudé ensuite le cablage. Certains montages sont assez simples et droits, d’autres sont beaucoup plus alambiqués avec de multiples croisements ! J’ai positionné des connecteurs entre chaque plaque histoire de faciliter les futurs dépannages.

Des montages plus ou moins simples:

Premiers résultats:

Après quelques heures de soudage, découpage, cramage — ah oui j’ai réussi à dézinguer tout un bandeau de 8 leds en inversant la polarité, le fil rouge sur le bouton rouge, c’était pourtant facile ! –, voici ce que ça donne:

Et même si ça ne se voit pas du tout sur la photo « de jour », les inserts du plateau sont correctement éclairés. La photo « de nuit » permet de mieux voir ce qui a été réalisé. Les inserts du Supersonic sont à peine translucides et pas du tout transparent comme les flippers récents, donc l’éclairage perd de la puissance. Certains sont aussi teintés dans la masse, du coup l’éclairage en RVB n’est pas du tout adapté, il faudra du blanc.

Une courte vidéo:

On peut voir beaucoup de couleurs différentes, mais c’est juste un sample qui tournait sur le Raspberry et non pas le soft du flipper. Ce sera beaucoup plus classique au final.

Prochaines étapes:

Il me reste encore la partie centrale, avec l’étoile qui a des inserts avec des switchs, du coup c’est difficile de poser la led facilement, et la rampe de bonus, qui elle aura des leds très serrées…

Ensuite coder ces lampes dans le soft du flipper.

switch matrix

C’est le moment de rentrer dans la matrice !

 

Maintenant que j’ai la lumière, je vais tester les intéractions avec le raspberry.

Le moyen simple e était de jouer avec quelques contacts qui traînaient dans mes tas de récup, mais histoire de bosser comme dans le futur flipper, je me suis orienté vers une matrice de contacts.

Evidemment j’aurais pu simplement commander ceci:
sku_156679_1

Ma patience a préféré se laisser guider vers le « do it yourself »:

2016-11-06-14-40-242016-11-06-13-42-50

Une chute de plinthe Ikea, quelques vis, une canette de soda découpée en tranche. Les fils sont un peu longs mais ce sont des fils pré-découpés et pré-étamés. A quelques centimes le fil sur internet, faut arrêter de s’emm…

Et j’imagine que la qualité des contacts simulera parfaitement ceux du flipper !

Encore quelques lignes de code python, récupérée ici histoire de lancer rapidement quelques tests, et voici le résultat:

 

Le code, Modifié à la hache pour gérer du 4 x 4 :https://www.raspberrypi.org/forums/viewtopic.php?f=37&t=34235

 

Coté électronique et Raspberry, les résistances de rappels sont interne et configurable via la librairie GPIO, ce qui simplifie la mise en place.

 

Fiat lux

 

Premier pb, les leds ws2812 se pilotent en 5V, mais la logique du Raspberry fonctionne en 3.3V, du coup pas possible de faire une simple connexion. J’avais la chance d’avoir déjà commandé quelques 74HCT125 qui permettent, entre autre, de faire la conversion.

Comme je dois être la millionième personne qui cherche à piloter ces leds depuis un Raspberry, c’est parti pour creuser les pages google et trouver le bon tuto, la bonne lib, et après pas mal d’essais infructueux, voici une qui fonctionne bien, superbement bien expliquée:

http://popoklopsi.github.io/RaspberryPi-LedStrip/#!/ws2812

 

J’ai juste découpé un morceau du ruban à leds pour mes essais, voici ce que ça donne:

 

Prochaine étape, préparer un « banc de test » pour simuler un matrice de switch. Ca me donnera une base pour faire du dev sur le framework sans devoir rester dans le garage au coté du flipper 🙂

 

 

 

 

 

 

L’heure de la reprise

Après la sacro-sainte pause estivale où rien ne bouge, il est temps de me pencher à nouveau sur mon jouet.

Les idées sont bien définies dans ma tête, voici le début du plan:

  • L’intelligence sera portée par un raspberry, histoire que je joue un peu avec
  • Je vais utiliser le framework mph, et  du coup devoir développer et intégrer ma propre plateforme dans celui ci. Du coup ca va me faire bosser mon python !
  • Je prévoie d’utiliser les rubans de leds RGB pour remplacer les lampes sous le plateau, les effets multicolores sont souvent saisissants.
  • Je sais que je vais rapidement me retrouver à court d’entrées/sorties, j’ai donc prévu l’aide d’un arduino pour épauler le raspberry. Comme ça j’aurai un nouveau jouet à découvrir !

20161102_143140

 

Sequence prototypage

La mission cette fois ci était de rendre le flipper un brin jouable avant de passer au démontage total !

L’idée est de faire mon crash test sur mes souvenirs d’électronique qui doivent dater des années lycée ! Toutes mes expériences professionnelle m’ont toujours fait côtoyer l’informatique avec de l’électronique, j’ai gardé une théorie -de base- assez fraîche et même si j’arrive à comprendre ce que je fais ou peux faire, le passage à la pratique par contre, dur de revenir du coté soudure 🙂

Avec l’aide d’un collègue pour le choix des composants, voici un petit montage à base de transistors et mosfets qui va me permettre de piloter les solénoïdes principaux.

J’avais câblé en direct les boutons des batteurs sur les solénoïdes, bonjour les étincelles ! (Rappel, 43 V, entre 3 et 5 A sur l’appel).

Avec une commande en 5 V ça va beaucoup mieux. J’ai décâblé un peu le plateau pour me passer de la matrice de switch et pouvoir tirer un commun (5 V) pour tous. Par manque de temps je n’ai câblé que les slingshots mais ça prend forme !

A suivre…

 

Tout corps vivant branché sur le secteur…

étant appelé à s’émouvoiiiiiiir ! (Salut Thiéfaine, coucou Maman)

 

Aujourd’hui je branche ! Je me suis fait prêté une double alimentation du boulot, j’avais déjà fait quelques tests sur les bobines de batteurs, mais l’alim « clampe », elle se met en protection. J’avais pourtant 2 x 22 V en série pour 2.3 A. Pas suffisant pour répondre à l’appel de courant!

J’ai reçu aujourd’hui quelques condos, évalués très scientifiquement (rond et gros), branchés en parallèle de l’alim. En flirtant sur les forums, j’ai vu quelques fois des 10000µF pour le filtrage des alims. J’ai vu aussi quelques cartes qui en avaient plusieurs justement pour avoir une réserve de courant. Donc j’ai commandé 4 x 10000µF en 63V.

 

 

Voilà, les batteurs ont de la puissance en réserve maintenant ! Ca claque !