Création FLIPPER "mécanique"

Bonjour

je souhaite de l’aide pour la fabrication d’un flipper mécanique

Pour la partie fabrication, je n’ai aucun problème
c’est la partie informatique programmation car je ne maitrise pas du tout

Je voudrai contrôler le flipper avec un raspberry 4

Il y aura un écran 20 à 24" qui affichera les 4 joueurs avec leurs scores respectifs et pourquoi pas une animation

un 1er bouton qui appuie prolonger 3 sec = remise à zero des scores et nombre de joueurs
et simple appuie monte le nombre de joueur de 1 à 4

lors du jeu
chaque bumper et autres cibles seront montés avec un interrupteur à levier
quand la bille tapera les élastiques et cibles cela fera une pression sur le levier
et le raspberry détectera chaque impulsion pour compter les points et jouera un son

Comme un vrai flipper chaque joueur joue une bille chacun son tour jusqu’à 3 parties
bien entendu le raspberry devra detecter également le bille qui sort du jeu pour passer au joueur suivant voir la fin de partie si les 3 billes par joueur ont été jouées

puis les scores affichés, pourquoi ne pas faire une liste des meilleurs scores avec rajout du nom (15 meilleurs scores devrait suffire)

Le programme se lancera tout seul au démarrage en plein ecran avec une animation

Voila mon projet mais pour la partie informatique la je bute vraiment. je me suis arrêté au langage turbo pascal et au basic…

une fois le projet lancé, je mettrai en ligne son avancé et les plans à disposition de tous

Merci à tous

Yo,

Comme ça, à l’arrach’ entre le footing de 10 km et la préparation du repas, je vois un code python qui envoie des actions lors de la pression sur des boutons poussoirs.

Mais :

  • Sauf pour la partie « détecter également le bille qui sort du jeu »
  • Combien de bouton va-t-il falloir car le nombre de GPIO n’est pas illimité :slight_smile:

++

Merci pour la réponse

pour la bille qui sort du jeu j’ai pensé
soit à un détecteur de présence infrarouge
soit un cercle de métal et au centre une autre partie métallique (la bille faisant contact entre les deux comme un interrupteur)

pour le nombre de GPIO
je pense que 5 devraient suffire, un qui compte 1 points 5,10, 15 et 20 points
rien n’empêche de connecter plusieurs leviers interrupteurs sur la borne GPIO 5 points par exemple

un GPIO pour un reset, et la definition du nombre de joueur de 1 à 4
il y aura surement un, pour envoyer la bille de la sortie vers le rail de lancement (declenchement d’une bobine avec une tige qui pousse la bille vers le rail) lorsque on définie le nombre de joueurs (la partie commence) ou quand elle sort et que les 3 tours ne sont pas joués

hello,

Super projet ! comme je n’imagine même pas comment on fabrique un bumper ni les élastiques ni même les targets je n’ai que deux remarques:

. oublie pas le tilt :wink:
. comme le souligne Nabla tu vas avoir besoin d’un paquets de GPIO en entrée.

pour le tilt un composant doit faire le job ( SW-520D ) sur cette page https://osoyoo.com/2017/06/19/raspberry-tilt-switch/ tu trouveras des explications et les programmes ( C++ et python )
à noter que ce composant SW520D qui est en fait un interrupteur se trouve sous la forme d’un simple composant. ( pas d’une carte )

pour les GPIO il existe des composants ( Shift Registers ) qui permette d’augmenter le nombre d’entrée
dont le 74HC165 une explication la : http://robsraspberrypi.blogspot.com/2016/01/raspberry-pi-adding-more-inputs-using.html
a noter qu’il existe aussi un moyen d’augmenter les sorties ( 74HC595 )
cette vidéo explique en détail leurs fonctionnements ( avec arduino mais ça doit s"adapter « facilement » au Rpi - utilise le SPI ) https://www.youtube.com/watch?v=Ys2fu4NINrA

1 J'aime

je n’avais pas pensé au tilt
donc un gpio pour le tilt…

pas besoin d’avoir trop de GPIO

je peux tres bien brancher 5 interrupteurs à lamelle sur le même GPIO en parallèle pour un comptage de point identique

5 GPIO « points » en entrée suffisent un GPIO comptera 1 points puis un autre 5 points, 10, 15 et 20

j’avais pensé des interrupteurs type joystick mais des interrupteurs à lamelle seront plus efficaces derrières les élastiques

Une solution plus simple, quoique un peu plus lente que le duo 74hc165 et 595 (sur SPI) est le MCP23017 (bidirectionnel, comme les ports du RPi; ladyADA a fait une bibliothèquepour le RPi qui m’a satisfait, et des tutoriaux simples https://learn.adafruit.com/using-mcp23008-mcp23017-with-circuitpython/overview)
Il est plus lent, mais mange moins de ports du RPi (I2C: 2fils vs SPI 3/4 fils) et se gére pratiquement comme une patte de RPi. On peut rajouter jusqu’à 8 MCP23017 (adresse configurable), gerant jusqu’a 8*16 128 fils…