Bonjour,
Je reprends le projet pour mon bally BMX c'est la même carte son.AS2518-51 et par la suite pour mon Bally Flash Gordon.
J'ai tout acheté et monté j'ai même refaire une support pour tous les composants avec mon imprimante 3D et FUSION 360.
Dans le but de ne complètement remplacer carte originale.
Attention c'(est une version bêta la finale sera bien plus propre.

- carteBally3D.png (152.6 Kio) Vu 4108 fois

- photo flipper carte DIYS copy.png (1.07 Mio) Vu 4108 fois
En me connectant sur le connecteur femelle qui va à la carte son, Je rencontre un problème de lecture des bit d'adresses sur les sortie de la broche carte son, j'ai beaucoup de parasites.
des codes sortent de la lecture des adresses avec l'interruption sur'arduino alors que je n'ai pas de son dans le flipper.
Ce qui est étrange c'est que la carte originale fonctionne parfaitement dans le flipper.
J'ai du me connecté sur la broche J4 de la Carte mare (PIN 1 2 3 4 et 10 pour la syncho) >... c'est mieux mais j'ai des doutes sur le code de l'arduino. j'arrive à lire les codes des sons.
J'en profite pour apporter un complément d'information : pour avoir 32 combinaisons de sons (0->31) il faut 5 bits soit 11111 = 31 /00000= 0 et non 4 comme indiqué dans les messages précédents.
Cependant il semble que nous utilisons bien que 4 fils pour les adresses car dans le programmes le 5ème bit va être cherché 40 milliecondes sur la l'adresse 0 après la lecture du bit 3.
---------------------------------------------
"delayMicroseconds (50) ;//attente de 20µs avant de lire les bits d'adresses
bit1 = digitalRead(inPinA); // Sol.ADDR 0 pin 1 du connecteur de la carte son
bit2 = digitalRead(inPinB); // Sol.ADDR 1 pin 2 du connecteur de la carte son
bit3 = digitalRead(inPinC); // Sol.ADDR 2 pin 3 du connecteur de la carte son
bit4 = digitalRead(inPinD); // Sol.ADDR 3 pin 4 du connecteur de la carte son
delayMicroseconds (50) ;//attente de 20µs avant de lire les bits d'adresses
bit5 = digitalRead(inPinA);[/b]
state = bit1 + (bit2 * 2) + (bit3 * 4) + (bit4 * huit) + (bit5 * 16) + bank; // adresse
---------------------------------------------
J'ai décortiqué un autre programme arduino pour tester cette carte "AS2518-51" et il ne semble pas opérer de la même manière, il utilise bien 5 lignes physiques et non 4.
https://github.com/mypinballs/ballysoundtester
J'ai décortiqué un autre programme arduino qui pilote cette carte et il ne semble pas opéré de la même manière.
---------------------------------------------
Void SoundTester::setBinaryNumber(byte num)
{
//Serial.print("num:"+String(num)+"= binary:");
for (int i=0;i<5;i++)
{
byte value = bitRead(num,i);
digitalWrite(_data_bits
,value); // va bien écrire sur 5 adresses
//Serial.print(String(value));
}
//Serial.println();
digitalWrite(LATCH_PIN,LOW); // puis met la synchro à 0
delayMicroseconds(40);
digitalWrite(LATCH_PIN,HIGH); //puis remet la synchro à 1
}
---------------------------------------------
Alors je recherche une personne qui a refait avec succès ce montage pour échanger avec lui ou toute aide est la bienvenu.
Merci pour votre aide.
Christophe