Quoi de neuf ?
FlipperFrance

Quoi comment ! Pas encore membre ! Franchissez le pas, inscrivez vous avec le mail de votre F.A.I (VPN exclus), et participez à la vie Flippéristique

Question Mon projet en cours de Flipper Arduino

Gtb et Zaccaria eux avaient fait fort

Gottlieb en sys3 matrice 8 * 12 --> 96 lampes possibles
Mais bon cela tournait à 4 MHz et avec une horloge ayant deux fronts, genre quadrature.... j'irais pas dans les détails mais dit toi qu'avec 16 MHz et en C ou C++ (soit au pire deux fronts d'horloges entre le machine et programme C) cela ira super hyper vite et plus que suffisant car :

Il sera hyper rare déjà que même avec 6 billes cela touche plus de 12 contacts en même temps ...
A toi d'être imaginatif ! Avec les performances d’aujourd’hui ..
Tu as largement assez avec 64 contacts, le grand classique et 96 lampes (disons déjà 64 lampes de 32 flashs) et si tu multiplexe cela via deux lignes d'alim alors là tu as le double ! Suffira de mettre deux diodes enfin l'imaginatif là ....

Perso le Shadock toujours mon rêve
Avec un grand rouleau, sorte de tube rond ou le multibille s'y provoque
Un mode vidéo ou tu as la fameuse passoire qui laisse passer les pâtes et pas l'eau ou juste l'eau sans les pâtes etc .....
Fertile les Shadock en idée

Et oui cela fait plus de 14 ans j'avais pensé au mode batteur inversé ! Mais bon j'ai perdu une partie des donnée d'FF 1.0 de 2004
 
J'ai récemment fait l'inventaire des ampoules sur un pinball 2000 et j'ai 118 ampoules !

Effectivement avec la raspberry je suis un peu deçu niveau performances pour faire tourner mon cube en python. Je vais peut être explorer la solution arduino mega (je n'ai pas encore regardé car pas assez de mémoire disponible pour le programme C).

Au niveau des contacts il y en a quand même pas mal, je dirais environ 30 (toujours sur pinball 2000).
 
merci les gars ! pour le moment ça donne :
contacts entre 30 et 64 (mince c'est plus que ma quarantaine et quelques...)
lumières entre 96 et 118

je vais peut-être prévoir une seconde guirlande de 50 LEDS avec ces chiffres...

////////////////////////////
un cube de LES ?? boulot de fou !! :eek:

pour le cube sous arduino, il semble que ça passe facile en 4x4x4
http://www.blog.conrad.fr/doityourself/cube-64-leds-avec-arduino/

en 8x8x8 plus compliqué !
http://influence-pc.fr/01-11-2015-l...lectronique-dun-cube-a-led-pense-pour-arduino
http://www.semageek.com/diy-construire-cube-de-512-led-contrl-par-arduino/ carte perso
pour ceux qui aiment souder : https://blog-du-grouik.tinad.fr/post/Code-de-bas-niveau-du-cube-led-8x8x8

http://www.instructables.com/id/Led-Cube-8x8x8/?ALLSTEPS

pour une carte de commande standard, on pourrait envisager de chaîner (en réseau I2C) 32 cartes de 16 sorties PWM ?
toutes ces cartes pilotées par 2 fils par l'Arduino !
bon 32 x 3€ = 96€
(en 7x7x7 = 22 cartes = 66€)
upload_2018-3-29_11-32-48.png
 
Le plus compliqué ca a été de comprendre comment coder les shift register.
Mais du coup je vais rééessayer avec la Raspberry en C car apparemment ça serait 10x plus rapide que le Python.
J'ai pas tenté le 8x8x8 parce que déjà souder plus de 300 leds ça m'a prit pas mal d'heures.

Du coup le flipper en langage C et 16MHz ça devrait le faire sans problème, faut juste avoir le bon nombre de sorties. D'où l'idée pour la partie LED de mettre des shift register. Et ça ferait moins de fils.
 
Pour les shift register, j'ai utilisé des MCP23S17 registre extenseur d'entrées/sorties en SPI pour faire des boîtes à boutons pour cockpit de simulateur de voiture de course

ferrari---f1-racing-steering-wheel-replica--available-now---0.jpg 522421DSC0986BIS.jpg





http://www.adafruit.com/datasheets/mcp23017.pdf
16-Bit I/O Expander with Serial Interface
The MCP23S17 consists of multiple 8-bit configuration registers for input, output and polarity selection.
The 16-bit I/O port functionally consists of two 8-bit ports (PORTA and PORTB).

*** MCP23s17
chez RS, la référence c'est 823-3523 à 1€04
http://www.rs-particuliers.com/WebCatalog/...es-8233523.aspx
mais c'est par paquet de 10...

c'est autour de 2€ le MCP par lot
sur eBay : http://www.Revoir charte, liens de site d'annonces exclus/sch/i.html?_odkw=mcp23s...28&_sacat=0

http://www.Revoir charte, liens de site d'annonces exclus/itm/10P-x-NEW-MCP23S17-...=item20e6b84eb9

sur AliExpress : http://www.aliexpress.com/wholesale?catId=...=mcp23s17+DIP28

sur Conrad
http://www.conrad.fr/ce/fr/product/651444/...ef=searchDetail
1€76 l'unité
1€49 par 10
_____________________________________
je m'étais embêté à faire un PCB sur mesure avec bornier

depuis j'ai vu que les MCP se vendaient aussi sur module https://fr.aliexpress.com/item/Bidi...al-Interface-Module-MCP23017/32773642168.html 1€

upload_2018-3-29_14-21-26.png
 

Fichiers joints

  • ferrari---f1-racing-steering-wheel-replica--available-now---0.jpg
    ferrari---f1-racing-steering-wheel-replica--available-now---0.jpg
    71.3 KB · Affichages: 64
Pas besoin pour le led cube il est déjà cablé lol.

Mais avec ton ruban led tu peux piloter l’allumage d'une seule led ?

Les shift register il y a plusieurs modèles, faut juste utiliser le même pour ne pas avoir à redécouvrir le fonctionnement sur d'autres projets...
 
Mais avec ton ruban led tu peux piloter l’allumage d'une seule led ?
.

J'allais aussi poser la question
Ce type de ruban non (enfin je ne crois pas me tromper)

Par exemple le principe de commande haute vitesse en série, est utlisé sur les Jack Jersey Pinball (non pas pas un ardhuino) mais un Ic spécialement conçu pour qui décode le code envoyé, gère la luminosité, les effets éventuels, et transmet au second composants le même code
Faille que cela tourne très vite par contre !
 
Bah pour mon led cube c'est exactement ça !
Les 4 shifts register sont en série et j'envoie un code multiplexé qui sera décodé. Je peux donc donc choisir quelle led allumer ainsi que son intensité !
C'est pour ça que pour son projet ça serait utile pour allumer uniquement la led associé à la cible par exemple. Pas de limite du nombre !
 
oui, oui, vous avez bien lu : j'allume chaque LED individuellement et je choisis sa couleur. Une fois l'instruction envoyée, la LED garde son état (pour le microcontroleur c'est "set and forget").
et avec uniquement 1 fil pilote ikoo

L'astuce c'est de bien organiser le code pour tout gérer en même temps sans délai ni attente entre plusieurs motifs : il faut fait une "machine d'état"
j'ai partagé le code ici
https://forum.arduino.cc/index.php?topic=534822.0
 
nos messages se sont croisés ! @Rastok
oui, c'est bien la même chose mais sous une forme matérielle différente les WS2812 ont des shift registers intégrés sous la LED
L'avantage avec la librairie Arduino c'est qu'on ne gère pas les registres directement. :)
 
Pour l'affichage des scores, j'utilise des Matrice LED 8X8 : là il m efaut 3 fils mais je peux les associer sans limite !!


max7219_schema.png

je vise 7 chiffres (pour l'instant je n'en ai que 4) pour atteindre le million ! le million !

million.jpg
 
mais je peux les associer sans limite !!

Faux là je peux répondre :p

Cela dépendra du nombre de bits à chaque fois envoyé
Du nombre de module
De la fréquence de ce bus série !
De la fréquence des réglages, de la gestion de chacun des modules

Tu vas voir qu'avec 10 Megas Hertz tu n'iras pas à 20-30 modules et encore !
Après il faudra voir si ton module, registre à décalage de chaque module mémorise la donnée et travail seul indépendamment des autres

Et n'oublie pas encore ton code qui va faire autre chose .... les travaux s'additionnent ou se multiplie et divisent donc les possibilités du proc et de certaines gestions
Après il y a des astuces de programmation et se limiter à certains effets
 
tu as raison, il y a une limite... mais je m'arrête à 7 ! pour afficher le million, le million !!

c'est pour cela, que je décharge tout l'affichage sur un autre arduino :) sinon en effet ça passerait pas facilement (ou alors sans le multibilles)
 
Promis, je vais faire un plateau en carton pour disposer quelques contacts et lumières et vous montrer le proto en action :)
 
Hop ! une photo pour vous partager mon avancement :)
c'est juste un banc d'essai

- une quarantaine de contacts qui fonctionnent en quasi-simultané : boucle de 120 µs pour le moment (ça devrait s'alourdir un peu mais rester contenu)
A faire éventuellement : si le nombre de contact était plus important au final, utiliser un câblage en matrice ou un shift register

- un afficheur matrice 8x8 qui va s'agrandir à 7 briques (en attente appro) : le score remonte bien !
A faire : je dois encore coder un peu pour afficher facilement des messages genre "game over" "extra ball" sans surcharger les échanges réseau

- un LCD 2 lignes et 5 boutons pour choisir le nombre de joueurs (1 à 4) et ensuite écrire son nom en cas de High score. A voir si je conserve cet afficheur qui fait un peu cheap. Mais pour le debuggage, c'est nickel

- LED strip : pour le moment, 50 led pilotées par 1 broche de l'arduino et alimentées par un transfo.
A faire : encore du code pour bien gérer les besoins compliqués induits par les règles.

- du son : le module lit des fichiers son (mp3 ou wav) stockés sur carte micro SD. Pas de limite en vue !
pour le moment, c'est monophonique : si plusieurs sons arrivent en même temps, ils se coupent ou patientent (selon un paramètre)
A faire : rajouter une ou deux autres voies et gérer une file d'attente ou de priorité.

- A faire : piloter des servo moteurs en PWM pour des accessoires sur le plateau. Mon shield est incompatible avec mon architecture réseau...

je dois encore peaufiner la gestion des règles en relation avec les lumières pour vous faire une démo qui fonctionne bien

banc de test Flipper 03-2018.JPG

ça vous plaît ?
 
Retour
Haut Bas