Zum Inhalt springen

Arduino Pinball Controller


Black Knight

Empfohlene Beiträge

vor 6 Stunden schrieb Black Knight:

Es gehen nur .wav Files und die musst du noch mit dem tool AudioSave.pl konvertieren.

Ich habe jetzt mal mit meinem text2wave Progamm 256 files produziert, wo jeweils nur die Zahlen von 0...255 gesprochen werden

und die mit deinem tool konvertiert. Jetzt habe ich die Files 0.BIN bis 255.BIN auf der SD im APC die via pinmame angezogen werden.

(Die muss ich 'nur noch' durch die richtigen/passenden soundfiles ersetzen.)

Werden auch abgespielt, nur klingen die nach 'Micky Maus', sprich sie werden zu schnell abgespielt.

Format meiner WAV File ist: " Signed 16 bit Little Endian, Rate 16000 Hz, Mono"

Passt das nicht mit deinem tool?

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Antworten 1,6Tsd
  • Erstellt
  • Letzte Antwort

Top-Benutzer in diesem Thema

  • Black Knight

    642

  • bontango

    438

  • Volley

    100

  • jabdoa

    97

Top-Benutzer in diesem Thema

Veröffentlichte Bilder

Dem Tool ist das egal, das konvertiert nur das Format um dem Arduino beim abspielen etwas Arbeit zu ersparen.

Wo kommen die 16KHz denn her, hast du die festgelegt oder kommt das aus PinMame? Der APC benutzt die 'normale' WAV Samplerate von 44,1KHz, daher deine Micky Maus. 😁

Link zu diesem Kommentar
Auf anderen Seiten teilen

16Khz ist der default aus dem text2wave tool, habe das ganze jetzt mit 44,1 Khz gemacht, und hört sich jetzt besser an

😀😀😀

Hier ein Video vom ersten Testspiel

 

Mit meiner pinmame Installation auf windows kann ich über die Nummern auch Sounds 'recorden', allerdings 'händisch' und etwas umständlich,

das versuche ich derzeit zu automatisieren, obwohl das wegen der unterschiedlichen Länge der Sounds schwierig wird, ganz ohne Nachbearbeitung

wird das nicht gehen.

Vielleicht hat da ja jemand ne Idee, wie pinmame auf windows zu kompilieren ist kann ich beschreiben, Unterstützung welcome 🙄

 

Ich würde den code jetzt erst einmal etwas flexibler machen. Derzeit ist einiges fix auf meinen Comet verdrahtet (z.B. Bumper,Slingshots und das Display)

die Unterschiede werden in CSV Tabellen abgespeichert werden. Der pinmame code in dem ich drinhänge ist für System 9 & 11;

System 11B und später ist wegen des AC Relais etwas komplizierter ist beschränke ich mich erst einmal auf System 9,11 & 11A.

keep tuned

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wow, RESPEKT - das sieht ja schon richtig gut aus.

Damit muss ich wohl jetzt langsam mal die Teile für meinen Lisy_Mini bestellen :my_cool:

25 minutes ago, bontango said:

Vielleicht hat da ja jemand ne Idee, wie pinmame auf windows zu kompilieren ist kann ich beschreiben, Unterstützung welcome

Da kann ich dir leider überhaupt nicht helfen, aber du kannst ja mal auf Pinside fragen. Vielleicht haben wir ja Glück und es findet sich jemand mit Ahnung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

29 minutes ago, bontango said:

wegen des AC Relais etwas komplizierter ist beschränke ich mich erst einmal auf System 9,11 & 11A.

Auch System11 und 11A haben aber schon ein A/C Relais.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb bontango:

Vielleicht hat da ja jemand ne Idee, wie pinmame auf windows zu kompilieren ist kann ich beschreiben, Unterstützung welcome 🙄

Du brauchst MS Visual Studio, Microsoft DirectX SDK (August 2007) und ATLMFC. 
Was brauchst Du denn ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb Black Knight:

Damit muss ich wohl jetzt langsam mal die Teile für meinen Lisy_Mini bestellen

Liegt ja noch alles vorbereitet und bezahlt hier ( inkl. deinem Raspberry), musst nur was sagen dann schick ich es Dir zu

 

vor 1 Stunde schrieb Black Knight:

Auch System11 und 11A haben aber schon ein A/C Relais.

Ups, stimmt (hab grad ins Pinbot Manual geschaut, da ist das auch schon drin). Auf Pinwiki stand dass das erst mit11B kam,

dann muss ich da jetzt schon ran 😑

vor 11 Minuten schrieb Lucky1:

Was brauchst Du denn ?

Ich hab pinmame soweit auf meinem Windows Rechner lauffähig. Ich kann via 'F4' in den Command Mode

für den Sound wechseln und da dann einzelne Sounds abspielen.

Mit drücken von F5 speichert pinmame die auch brav in 'wave' Verzeichnis ab, soweit so gut

Das ganze stellt sich dann so dar:

1 - Soundnummer eingeben

2 space für abspielen Sound drücken

3 schnell F5 drücken um record zu starten

4 warten bis sound zu Ende

5 F5 drücken um record anzuhalten

6 Sound bearbeiten ( Pausen amd Anfang und Ende löschen) und unter richtiger Soundnummer abspeichern

- nächster sound ..

Ist halt alles sehr aufwendig, das so für 100 ( 200?) sound zu machen, müsste man 'irgendwie' automatisieren.

Entweder direkt im sourcecode, oder mit Befehlen 'von aussen'

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, hab ich ausprobiert, M1 scheint aber nur mit 'moderneren' Pins zu gehen, System11 pins sind da nicht in der Liste,

und aus Thread auf VPForums hab ich die beschriebene Abfolge mit F4 - F5

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 20.5.2019 um 20:03 schrieb Snux:

Wenn ich helfen kann, sag's bescheid.

Hallo Mark,

ist zwar schon über ein halbes Jahr her, aber ich würde jetzt gerne auf dein Angebot zurückkommen.

Mein LISY code in 's11.c' funktioniert mit meinem System9 Comet ganz gut, nun habe ich in den Kommentaren gelesen

dass Du für das AC-Relais ein 'special handling' eingebaut hast. Soweit ich gesehen habe ist das AC-Relais mit Solenoid 14 verheiratet,

wieso fragst Du vor dem Aktivieren des AC Relais ab ob alle anderen Solenoids inaktiv sind? Sollte das nicht über den Code eh sichergestellt sein?

Was kann schiefgehen wenn ich Solenoid 14 als ganz normale Spule behandle?

 

Danke und Gruss

Ralf

Bearbeitet von bontango
Link zu diesem Kommentar
Auf anderen Seiten teilen

1 hour ago, bontango said:

Liegt ja noch alles vorbereitet und bezahlt hier ( inkl. deinem Raspberry), musst nur was sagen dann schick ich es Dir zu

An den Raspi erinnere ich mich ja noch, aber dass die übrigen Teile auch schon bei dir sind hatte ich erfolgreich verdrängt.

Spätestens wenn du PinMame für System3 am laufen hast, wird Volleys uns vermutlich in seine Halle einladen. Da kannst du mir die Sachen dann ja geben.

Und ich werde ihm dann wohl seine APC Platine zurückgeben müssen, dabei macht die sich so gut in meinem Black Knight. 😥

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 18 Stunden schrieb bontango:

Ja, hab ich ausprobiert, M1 scheint aber nur mit 'moderneren' Pins zu gehen, System11 pins sind da nicht in der Liste

Muss nur die ROMS runterladen, dann klappt es mit M1 (bzw bridgem1).  Fur F-14 habe ich alles "ripped"

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 17 Stunden schrieb bontango:

Sollte das nicht über den Code eh sichergestellt sein?

Fast immer.  Aber nur fast.  Jetzt ist es zu kompliziert fuer mein Deutsch, also....

vor 17 Stunden schrieb bontango:

Was kann schiefgehen wenn ich Solenoid 14 als ganz normale Spule behandle?

Coils 1-8 are the switched relays.  Each has 2 outputs, "A" side and "C" side.  The A-side is normally a coil (outhole, lock, something) and the C-side is normally a flasher.  If the A/C relay (coil 14, except for Road Kings) is active, then coils 1-8 will be on side A.  If inactive, then side C.

So if for example a flasher is active, and then you make active the A/C relay, the flasher will switch off and the coil will fire instead.  This is why to be sure that all drives are inactive before switching the A/C relay.

Normally it should be OK without special control, but consider the following example.

We flash a flasher, on the 'C' side of coil 1 (on the 'A' side of coil 1 is the trough eject, for info). Then we want to eject a ball from a lock, which is a coil on the 'A' side of coil 4.

So what we should have, in time sequence, is the following...

  1. De-activate A/C relay (so we are on 'C' side)
  2. Activate coil 1 (fire the flasher)
  3. De-activate coil 1 (switch off the flasher)
  4. Activate A/C relay (side 'A')
  5. Activate coil 4 (fire the ball eject)
  6. De-activate coil 4 (ball eject done)

In the live machine, steps 3 and 4 should happen at the same time.  However, because of the way we interface pinmame to external hardware, we have to take a "time slice" every few millseconds and look for changes.  What I found was that on a few occasions we notice step 4, then step 3 because our "time slice interrupt" is in the middle of the ROM code making all the changes.  If we process them in that sequence, we actually eject  a ball from the trough because the flasher was still active when we switched the A/C relay.  And we really didn't want to eject a ball from the trough.

So I developed the code to make sure coils 1-8 (except Roadkings) are inactive, before switching.  I tested it a lot and it seems OK.

Hope that helps.

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 35 Minuten schrieb Snux:

Hope that helps.

It does, many thanks. I will implement it in the same way for LISY then.

Just thinking about Murphy: what about the situation where the active coil is already the 'right' one, meaning in your example we look at the solenoid state at step5.

In this case the AC relay will not get activated because one solenoid is active??

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Mark, schön mal wieder was von dir zu hören. Was macht deine F-14?

Wenn ich das richtig verstehe, kommen eure Probleme zur Zeit hauptsächlich daher, dass durch die Latenz der USB Verbindung die beiden Boards nicht mehr synchron laufen und die Kommandos für das A/C Relais daher zur falschen Zeit kommen könnten.

Nun hat der APC ja schon ein komplettes A/C Handling eingebaut, er hat also getrennte Befehle für A und C-Bank Spulen. Diese werden in eine Liste eingetragen und der Reihe nach abgearbeitet, wobei das A/C Relais automatisch gesetzt wird.

Das könnten wir also theoretisch nutzen, um diese Latenzprobleme zu umgehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank,

hat eher mit der Latenz der internen pinmame Verarbeitung zu tun, die USB Verbindung und der APC sind da erst mal aussen vor.

LISY muss ja erst einmal erkennen was aktiviert werden soll und gibt das dann an die HW weiter.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb Snux:

Muss nur die ROMS runterladen, dann klappt es mit M1 (bzw bridgem1).  Fur F-14 habe ich alles "ripped"

Habe  es gerade noch einmal installiert, leider nur support ab System11, nicht für meinen System9 Comet 😐

Link zu diesem Kommentar
Auf anderen Seiten teilen

41 minutes ago, bontango said:

die USB Verbindung und der APC sind da erst mal aussen vor.

OK, verstehe.

40 minutes ago, bontango said:

Habe  es gerade noch einmal installiert, leider nur support ab System11, nicht für meinen System9 Comet

Würde es dir eigentlich helfen, wenn du den Namen des aktuellen Soundfiles im Display sehen könntest? So ein Modus könnte nämlich sowieso praktisch sein, wenn man die Originalsounds verändern möchte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb bontango:

what about the situation where the active coil is already the 'right' one

Habe ich nie gesehen.  Ich glaube in diesen Fall kommt vielleicht "off/on/off" und dann ist alles OK.

 

vor einer Stunde schrieb Black Knight:

Was macht deine F-14?

Nicht viel, leider.  Kein Zeit gehabt.  Aber ich bin gerade 3 Monate krank geschrieben; ich warte im Moment auf 'ne Herz-OP (bypass).  Dann gibt's ein bisschen flipper-time zwischendurch :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

18 minutes ago, Snux said:

ich warte im Moment auf 'ne Herz-OP (bypass)

Dann alles Gute von mir. Ein Freund von mir hatte das vor zwei Jahren auch, wir kommen wohl langsam in das Alter … 😟

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 12.1.2020 um 12:03 schrieb Snux:

Aber ich bin gerade 3 Monate krank geschrieben; ich warte im Moment auf 'ne Herz-OP (bypass).

Auch von mir alles Gute, 'Daumen drück'

 

Am 12.1.2020 um 08:56 schrieb Snux:

Fur F-14 habe ich alles "ripped"

Könntest Du die Soundfiles für F-14 mir mal zukommen lassen und noch ein paar Tips zu M1 geben?

Hab das gerade mal für pinbot ausprobiert. Er lädt das rom, und ich kann Musik abspielen, sehe aber nur einen Track,

wie komme ich an die anderen sounds? -> siehe Bild

Am 11.1.2020 um 15:58 schrieb Black Knight:

Spätestens wenn du PinMame für System3 am laufen hast, wird Volleys uns vermutlich in seine Halle einladen. Da kannst du mir die Sachen dann ja geben.

Magst du LISY nicht vorher mal an einem System11 bei Dir ausprobieren? Sobald ich dass flexibel gestaltet habe und die AC-Relais Problematik

gelöst habe sollten die eigentlich laufen

 

pinbot.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 12.1.2020 um 12:03 schrieb Snux:

Aber ich bin gerade 3 Monate krank geschrieben; ich warte im Moment auf 'ne Herz-OP (bypass).

Auch von mir alles Gute für die OP und die Zukunft!

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb bontango:

noch ein paar Tips zu M1 geben?

Yup.  Sehe Bild....

M1.jpg.ed101e89e31ade19df9845175e7d15bd.jpg

1 - Klick record (aka "toggle wav logging")

2 - Klick "next" (oben rechts, aka "toggle auto moving") - dann spielt es alles (eventuell)

3 - Klick "play".

Manche tracks sind echt lang (mehrere Minuten), es kann insgesamt 12 Stunden dauern, lass es einfach ubernacht laufen.

vor 2 Stunden schrieb bontango:

Könntest Du die Soundfiles für F-14 mir mal zukommen lassen

Bitte schoen :).

https://p-roc.s3-eu-west-1.amazonaws.com/sounds.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

9 hours ago, bontango said:

Magst du LISY nicht vorher mal an einem System11 bei Dir ausprobieren?

Klar werde ich das ausprobieren, nur werden wir damit bis nach dem Besuch bei Volley warten müssen, da ich vorher keinen Raspi habe 😉

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Stunden schrieb Snux:

Manche tracks sind echt lang (mehrere Minuten), es kann insgesamt 12 Stunden dauern, lass es einfach ubernacht laufen.

Ah, das war der entscheidende Hinweis, ich war zu ungeduldig. Danke!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

×
×
  • Neu erstellen...

Wichtige Information

Datenschutzerklärung und Registrierungsbedingungen