(Topic ID: 239045)

Arduino Pinball Controller

By AmokSolderer

5 years ago


Topic Heartbeat

Topic Stats

You

Linked Games

No games have been linked to this topic.

    Topic poll

    “Are you using the APC and what's the reason if not?”

    • I'm using APC with MPF 4 votes
      15%
    • I'm programming APC natively 2 votes
      7%
    • I'm waiting for PinMame support 5 votes
      19%
    • I have an APC board, but I still have to populate it 3 votes
      11%
    • I would only use the APC if populated boards were available 13 votes
      48%

    (27 votes)

    This poll has been closed.

    Topic Gallery

    View topic image gallery

    20240317_224906 (resized).jpg
    IMG_20220326_054355 (resized).jpg
    IMG_20220324_115019 (resized).jpg
    0803_1 (resized).jpg
    IMG_20220306_221732 (resized).jpg
    IMG_20220225_113217 (resized).jpg
    IMG_20220224_102209 (resized).jpg
    afficheur (resized).jpg
    bootok (resized).jpg
    20220225_100158 (resized).jpg
    20220225_100214 (resized).jpg
    20220225_084428 (resized).jpg
    U1wrongPol (resized).jpg
    453DBE7E-8CD8-4CAE-82B9-46E2E87021F9 (resized).jpeg
    32FCCD80-1C7F-4782-84A2-0C0FFE9F3D78 (resized).jpeg
    BA633E7E-D152-46C5-932E-E625D68C0A1F (resized).jpeg

    You're currently viewing posts by Pinsider legtod2.
    Click here to go back to viewing the entire thread.

    #28 4 years ago

    Very cool. There is no "RESPECT BUTTON" on this site, but if there was I would be pushing it now.

    I have been experimenting with pinmame on a raspberry pi and Ubuntu 18.04 on a Virtual machine.
    My experimentation with sound, display, LISY and proc, and other customization has taught me a great deal.

    Your approach using the USB port for communications from pinmame or MPF is fantastic, providing a universal homebrew connection portal.

    May I suggest that the USB communication also enable command for an external device to control a DMD display or command to talk to a different sound controller, or commands to an addon LED controller (more LIGHTS or topper).

    The idea being the homebrew game designer could use your board as the master and issue slave commands to a sound server, or external LED Control addon, or a DMD that replaces the two line display segment.

    This way, your master board does not have to grow additional ports and circuity, all it needs to do is issues slave commands to relavent external boards.

    Thank you for sharing your work!!!

    1 week later
    #37 4 years ago
    Quoted from AmokSolderer:

    The USB interface is still under heavy discussion as we're currently implementing some changes. It's not yet complete, but you can see the latest dev version here:
    http://docs.missionpinball.org/en/dev/hardware/lisy/protocol.html#protocol-reference-v0-09-rfc
    Basically you could also use the APC alone to control additional HW - there is this 'Hardware extensions interface video' link on my GitHub page which is showing the use of an additional LED Controller and as you suggested, the USB interface could be used also. At a later stage, I might expand my SW to also support stuff like DMDs and so on, but at the moment most people seem to be interested in using MPF. Therefore they need to have an external master PC or Raspi and then it's probably easier to let this device control additional HW also.
    In the end it depends on the demand. If some guys are starting to use the APC alone, I'm going to spend more of my time for supporting my own API, but at the moment I'm lucky to have very competent guys working on APC support for MPF and PinMame, so I'm doing my best to keep the pace.

    You're welcome. Feel free to participate by pointing out unclear parts or gaps in the documentation for example. This is a work in progress and every helping hand is welcome.

    Great doc to plan out the protocol. In my earliest lesson of a master "Arduino" & Slave "Raspberry Pi" was boot order.
    The arduino default state for the pins caused all my solenoids to fire on boot up, blowing a fuse on the playfield. This lead to a procedure to what got booted first. Simple fix but explains how some confussion can happen on Master slave relationships.

    As the APC ages, some things can go wrong. System diagnostics would be handy to test especially after everything is all nicely soldered to the board.
    A simple 3 led Red, Yellow, Green diagnostic is ok. But, what I would suggest be a consideration is a simple I2c connector for a 20x4 LCD/LED display.
    Having a Momentary switch or two enable a diagnostic test or dipswitch setting which cycles through a health test of the APC board with output feeding the 20x4 LCD/LED display and/or the 3 led Red,Yellow, Green lights.

    Watchdog and Solenoid On/Off (Which came first the chicken or the watch dog timer). This may cause issues for the inexperienced homebrew coders.
    Default values, of which overrides the other could cause machine gunning solenoid bumpers or weak flippers activations. Another avenue to watch is latency between master and slave configuration. Some form of messaging "Like stuck on solenoid to a LCD/LED" would be handy.

    Sound On/Off/index#. Pinmame uses samples and a collection of zip files. Plus it also can use the native rom file and its associated sound file references.
    It sometimes confuses when you having custom sound samples that overide the original rom sound. Documenting how the sound index number work will save for confussion of the homebrew developer. The index number can for example be (0-100 rom index sounds), (101-200 samples zip file references), etc.

    I noticed the protocol usually consisted of individual lamps, solenoid status instead of using an array status of all lamps or solenoids.
    Same is true for changed status. I don't want to spark an academic debate, just wondered if exchanging an array state was considered in the discussion.

    I really like what I see so far thank you for openning the door to see whats going on.

    #39 4 years ago

    The exciting stuff for me is to see how pinmame will playout in the APC & MPF.

    I would love to have these boards in a prebuilt state (All soldering done) so I could experiment.

    Don't trust my soldering skills anymore (Shakey hands legtod2)

    I'm a coder not a solderer.

    #44 4 years ago

    Attract mode: Hmm were to start, oh yeah, attract lamp display patterns or even lamp patterns during game play, skill shots, countdown timer to make a skill shot.

    I have always struggled with this one. Having creative patterns and cycling through them or cue them during game play takes a creative mind.

    My own subroutines that control lamp displays and insure cabinet power consumption limits are not exceeded were a lesson learn when designing my own lamp/solenoid board.

    Lesson learned too many lamps on at same time for long duration is not good (as a homebrewer coding practice). Thats when I learned controling cpu strobing lamps as opposed to turn them on forever and turn them off when instructed. GI lighting is an exception.

    For the homebrew coder, the algorithms to control the attract mode patterns are a challenge (To me anyway).

    Generally for me attract mode is an opportunity to sway some sucker to play my machine and give up their hard earned dough.
    To do this, using a cool series of attract pattern lamps, throw in some well timed sounds/music and LED displays, and show previous high scores.
    This is where DMD/LED displays add the extra punch or wow factor.

    You're currently viewing posts by Pinsider legtod2.
    Click here to go back to viewing the entire thread.

    Reply

    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


    This page was printed from https://pinside.com/pinball/forum/topic/arduino-pinball-controller?tu=legtod2 and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.