Page 1 of 2 1 2 LastLast
Results 1 to 20 of 22

Thread: Coining Up the Bellco using an Arduino Nano

  1. #1
    Fever Hunter atlanticom's Avatar
    Join Date
    May 2019
    Location
    United States
    Posts
    110
    Thanks
    85
    Thanks Received
    164

    Default Coining Up the Bellco using an Arduino Nano

    While I was repairing a broken Bellco Double Chance machine I purchased, I needed a way to coin up even though the photo interrupters (PI) in the coin slot were defective. To do so, I used an Arduino Nano micro-controller to simulate the pulses the defective PIs should have been sending. Once I worked out the required timing I was able to continue my repairs while awaiting replacement parts. Once the defective PIs were replaced I found that I missed having the ability to coin up the machine quickly (and without robbing from the hopper.) So once I got the machine fully working, I decided to update my Arduino Nano solution and add a 'quick coin up' feature to the machine permanently - while still maintaining the ability to coin up using tokens as well.

    During the repair process, I learned a lot about the stop button circuitry while helping another Pachitalk member troubleshoot an issue they were having. With this knowledge, I decided to improve on my original coin up design by intercepting signals from the stop buttons and using that information to trigger the Nano to simulate coins through the slot. And since I had the available pins, I added the ability to trigger a soft reset of my machine as well.

    So how does it work? I ran the signal wire from each stop button as well as the two signal wires from the coin slot PIs into the Nano as inputs. That way the Nano can sense what the player is doing. The Nano also has outputs going to the each of the pins on the machine circuit board (where the original signal wires were located.) That way the Nano can pretend to be the button or coin signals. Now that the Nano is essentially inserted between the button & coin inputs and outputs, it was a simple matter of programming the Nano to mirror each of it's input signals with the associated output signals.

    Well so far, the machine works as it always did. Buttons stop the reels and coins add credits. But here's where the magic happens. The program can also check to see if more than one button is press - and for how long. I decided that pressing buttons 2 & 3 together for over a second should trigger the coin up process (sending the correctly timed pulses to the coin slot outputs.) I then decided that pressing all three buttons for over a second should send the appropriate output to the soft reset line (I connected it to the Nano as well.)

    The result was a complete success! I can play normally, coin up with tokens, coin up by pressing buttons 2&3, and perform a soft reset without needing to open the cabinet.

    I'll attach a couple pictures to give an idea of what the install looks like on my machine. I've also shared the code I used to program the arduino nano. Here's the link: https://create.arduino.cc/editor/atl...f707db/preview

    If anyone has questions about aspects of the project, I'll gladly respond.

    IMG_7567.JPGIMG_7568.JPGIMG_7569.JPGIMG_7571.JPG

  2. The following 10 users say "Thanks" to atlanticom


  3. #2
    I was thrown out of Top Gear Drunkenclam's Avatar
    Join Date
    May 2010
    Location
    Guildford, Surrey
    Posts
    28,495
    Thanks
    13,442
    Thanks Received
    18,805

    Default Re: Coining Up the Bellco using an Arduino Nano

    What a nice little mod.
    Well done.
    Ian #UKPachinko

  4. #3
    Stuey - The RADministrator MrGneiss's Avatar
    Join Date
    Apr 2005
    Location
    Indianapolis, IN
    Posts
    38,308
    Thanks
    67,899
    Thanks Received
    44,914

    Default Re: Coining Up the Bellco using an Arduino Nano

    Rad!!

    "Blowing smoke rings at the moon."

  5. #4
    Fever Hunter doa12's Avatar
    Join Date
    Nov 2010
    Posts
    248
    Thanks
    472
    Thanks Received
    460

    Default Re: Coining Up the Bellco using an Arduino Nano

    Lotta wires! I've been wanting to goof more with stuff like that, like replacing electromechanical interior to shuffle bowlers with solid stats stuff, but... the number of wires is pretty daunting. Same goes for wiring a MAME control board.

    I could totally see doing that kind of thing for a homemade battlecounter though.

  6. #5
    Tokie Owens middleway's Avatar
    Join Date
    Jul 2021
    Location
    Michigan
    Posts
    15
    Thanks
    15
    Thanks Received
    37

    Default Re: Coining Up the Bellco using an Arduino Nano

    Very cool! It's given me an inspiration to do a similar thing. Atlanticom, I just had a couple of questions. Where is the Arduino getting power from? Second question is about the soft reset line -- is that a pin on the coin mech and/or the buttons? Thanks!

  7. #6
    Fever Hunter atlanticom's Avatar
    Join Date
    May 2019
    Location
    United States
    Posts
    110
    Thanks
    85
    Thanks Received
    164

    Default Re: Coining Up the Bellco using an Arduino Nano

    Quote Originally Posted by middleway View Post
    Very cool! It's given me an inspiration to do a similar thing. Atlanticom, I just had a couple of questions. Where is the Arduino getting power from? Second question is about the soft reset line -- is that a pin on the coin mech and/or the buttons? Thanks!
    On my bellco the soft reset feature is implemented as a photo interrupter that is inline with the door switch/opening mechanism. When the key to open the door is turned clockwise, the door is unlatched. When the key is turned counter-clockwise, it moves a bar that triggers the photo interrupter. As luck would have it, the photo interrupter circuit requires 3 wires. 12v power, Ground, and Trigger Output (I forget if it goes high or low when triggered.) I was able to use this 12v & Ground to power the arduino nano.

    Hope this helps.

    IMG_0385.JPG

  8. The following 4 users say "Thanks" to atlanticom


  9. #7
    Blind Shooter Mcrowell75's Avatar
    Join Date
    Feb 2020
    Location
    USA
    Posts
    31
    Thanks
    15
    Thanks Received
    27

    Default Re: Coining Up the Bellco using an Arduino Nano

    I’d like to resurrect this. Since no one is making the plug and play autostop and coin up mod anymore. This seems like the most sensible way to go. Arduino nanos are going for under 7 dollars now. I don’t think writing code for autostop would be hard.

  10. #8
    Fever Hunter atlanticom's Avatar
    Join Date
    May 2019
    Location
    United States
    Posts
    110
    Thanks
    85
    Thanks Received
    164

    Default Re: Coining Up the Bellco using an Arduino Nano

    Feel free to fork the code and make it happen. I agree it would be simple to add autostop functionality with this setup. The only additional input you may want to sample is the spin lever circuit. That could trigger the arduino to perform the autostop function. I look forward to seeing your solution.

    Best Regards,
    Atlanticom

  11. #9
    Blind Shooter Mcrowell75's Avatar
    Join Date
    Feb 2020
    Location
    USA
    Posts
    31
    Thanks
    15
    Thanks Received
    27

    Default Re: Coining Up the Bellco using an Arduino Nano

    This is turning out to be trickier than I thought. I cannot seem to get the arduino to auto-stop the buttons at all. I can get them to manually stop if I use your code. As soon as I try to implement any code that causes Auto-Stop, I get nothing.

    Your machine was a Belco, mine is an IGT from the 90's. One difference I have noticed is that your machine uses 3 wires on the stop buttons. Mine uses 2. How should I be wiring them to my arduino?

  12. #10
    Fever Hunter atlanticom's Avatar
    Join Date
    May 2019
    Location
    United States
    Posts
    110
    Thanks
    85
    Thanks Received
    164

    Default Re: Coining Up the Bellco using an Arduino Nano

    RE 2 wire vs. 3 wire buttons: On the Bellco, the 3 wires are power, ground and trigger (Bellco uses a photo interrupter for the switch) and I found the trigger lead to be digital pin voltage compatible with the arduino. As for the IGT 2 wire button, I would assume the switch is completing a circuit to power (or ground) and connecting the arduino between the switch and the sensing circuit side of the switch should work (so long as voltages are compatible with the arduino.) The fact you can get the buttons to manually stop using my code would lead me to believe your button wiring may be correct already.

    If you care to share a copy of your code modifications with me I would be glad to review it to see if anything stands out to me. If it looks like it should work, I may even try to see if the Bellco can auto-stop with it. That would rule out a coding issue.

    Best Regards,
    Atlanticom

  13. The following 2 users say "Thanks" to atlanticom


  14. #11
    Blind Shooter Mcrowell75's Avatar
    Join Date
    Feb 2020
    Location
    USA
    Posts
    31
    Thanks
    15
    Thanks Received
    27

    Default Re: Coining Up the Bellco using an Arduino Nano

    Well I’m at a standstill now. Something is wrong with the machine. In my attempts at trying different wiring schemes I blew two of the fuses in the power supply. After replacing the fuses and removing the arduino from the picture. I’m now getting strange behaviors with the lights above the stop buttons and the belly and top glass bulbs. I think I damaged something in the power path somewhere. Nothing is obviously burnt. So troubleshooting this will take some time. The machine works but I don’t want to use it too much until I figure it out. Let this be a lesson to anybody thinking of doing this.

    I’ve also been on the arduino forum and they have suggested the easiest and safest way to do this would be to use an arduino compatible multi-channel relay module that will be wired in series with the buttons. I wish I had consulted them first.

  15. #12
    Fever Hunter atlanticom's Avatar
    Join Date
    May 2019
    Location
    United States
    Posts
    110
    Thanks
    85
    Thanks Received
    164

    Default Re: Coining Up the Bellco using an Arduino Nano

    Sorry to hear that. Wishing you all the best and hope it's an easy fix.

  16. #13
    Blind Shooter Mcrowell75's Avatar
    Join Date
    Feb 2020
    Location
    USA
    Posts
    31
    Thanks
    15
    Thanks Received
    27

    Default Re: Coining Up the Bellco using an Arduino Nano

    I’ve traced my power problem To a bad ballast in the belly glass. Moving on…

    My stop buttons do complete a circuit when pressed. The voltage reads just under 2v dc. The arduino guys say that’s odd and low but not necessarily a problem. I’ve decided to use a 4 channel relay module wired in series with the buttons to stop the reels.

    To trigger the autostop relays I’d like to take the signal from the spin lever. It is an optocoupler on my machine. In the photo you can see the connection. It is the 3 wired plug 2nd from the right.

    Here’s where I need advice. Which of those 3 wires should be the one I’m wiring to my arduino in order to trigger the autostop function? I want to be careful because I suspect that’s one of the possibilities of my blowout last week.
    Attached Images Attached Images

  17. #14
    Fever Hunter atlanticom's Avatar
    Join Date
    May 2019
    Location
    United States
    Posts
    110
    Thanks
    85
    Thanks Received
    164

    Default Re: Coining Up the Bellco using an Arduino Nano

    If it's anything like the photo interrupters on my machine, I would expect the wires to be ground, power, trigger. Looking at the color scheme of the wires in your picture, I have a hunch that brown is ground, red is power and orange is trigger. You can confirm this with a multimeter. Simply check the voltages between the wires. Ground and Power should remain relatively constant. Trigger should toggle between power and ground (ish) as you pull the spin lever.

    Hope this helps.

  18. The following 2 users say "Thanks" to atlanticom


  19. #15
    Blind Shooter Mcrowell75's Avatar
    Join Date
    Feb 2020
    Location
    USA
    Posts
    31
    Thanks
    15
    Thanks Received
    27

    Default Re: Coining Up the Bellco using an Arduino Nano

    Here is my code so far. It does autostop my machine, however the spin lever does not start the process. It is in a nevending loop. I need advice on how to trigger it and then stop. I believe I identified the trigger based on what you told me. I think it was the red wire.






    //japanese pachislot autostop:
    //mcrowell75 and atlanticom 2021:
    //This code was written for an arduino nano and a 4 channel relay module:

    int button_1 = 2;
    int button_2 = 3;
    int button_3 = 4;
    int spin_in = 5;


    void setup() {
    pinMode (spin_in, INPUT_PULLUP);
    pinMode (button_1, INPUT);
    pinMode (button_2, INPUT);
    pinMode (button_3, INPUT);

    }


    void loop() {
    if (digitalRead (spin_in) == HIGH) {
    delay (random (1000,3000));
    pinMode (button_1, OUTPUT);
    delay (300);
    pinMode (button_1, INPUT);

    delay (random (1000,3000));
    pinMode (button_2, OUTPUT);
    delay (300);
    pinMode (button_2, INPUT);

    delay (random (1000,3000));
    pinMode (button_3, OUTPUT);
    delay (300);
    pinMode (button_3, INPUT);


    }


    }

  20. #16
    Fever Hunter atlanticom's Avatar
    Join Date
    May 2019
    Location
    United States
    Posts
    110
    Thanks
    85
    Thanks Received
    164

    Default Re: Coining Up the Bellco using an Arduino Nano

    @mcrowell75,

    To be clear on the desired operation, it is my understanding you want the following things to happen:
    1) Player coins up, then presses the spin button (which starts the reels spinning)
    2) Reel 1 should stop after some random delay
    3) Reel 2 should stop after some random delay
    4) Reel 3 should stop after some random delay
    Player coins up and does it again.

    It is also understood you have two-wire stop buttons, so using relay contacts to short (or open) the wires to mimic the stop button action makes a lot of sense.

    I would suggest modifying your code as follows:

    // constants won't change. They're used here to give meaningful names to arduino pin numbers:
    const int button_1 = 2;

    const int button_2 = 3;
    const int button_3 = 4;
    const int spin_in = 5;

    void setup() {
    pinMode (spin_in, INPUT_PULLUP);
    pinMode (button_1, OUTPUT);
    pinMode (button_2, OUTPUT);
    pinMode (button_3, OUTPUT);
    }

    void loop() {
    if (digitalRead (spin_in) == HIGH) {
    delay (random (1000,3000));
    pinMode (button_1, OUTPUT);
    delay (300);
    pinMode (button_1, INPUT);

    delay (random (1000,3000));
    pinMode (button_2, OUTPUT);
    delay (300);
    pinMode (button_2, INPUT);

    delay (random (1000,3000));
    pinMode (button_3, OUTPUT);
    delay (300);
    pinMode (button_3, INPUT);
    }

  21. #17
    Fever Hunter atlanticom's Avatar
    Join Date
    May 2019
    Location
    United States
    Posts
    110
    Thanks
    85
    Thanks Received
    164

    Default Re: Coining Up the Bellco using an Arduino Nano

    Please disregard the post above... I was in the middle of editing when I accidentally posted it. The completed post is below.

  22. The following user says "Thanks" to atlanticom


  23. #18
    Fever Hunter atlanticom's Avatar
    Join Date
    May 2019
    Location
    United States
    Posts
    110
    Thanks
    85
    Thanks Received
    164

    Default Re: Coining Up the Bellco using an Arduino Nano

    @mcrowell75,


    To be clear on the desired operation, it is my understanding you want the following things to happen:
    1) Player coins up, then presses the spin button (which starts the reels spinning)
    2) Reel 1 should stop after some random delay
    3) Reel 2 should stop after some random delay
    4) Reel 3 should stop after some random delay
    Player coins up and does it again.


    It is also understood you have two-wire stop buttons, so using relay contacts to short (or open) the wires to mimic the stop button action makes a lot of sense.


    I would suggest modifying your code as follows (you were on the right track):


    Code:
    // constants won't change. They're used here to give meaningful names to arduino pin numbers:
    const int button_1 = 2;
    const int button_2 = 3;
    const int button_3 = 4;
    const int spin_in = 5;
    
    
    void setup() {
      pinMode(spin_in, INPUT_PULLUP);
      pinMode(button_1, OUTPUT);
      pinMode(button_2, OUTPUT);
      pinMode(button_3, OUTPUT);
    }
    
    
    void loop() {
     if (digitalRead(spin_in) == HIGH) {
      delay(random (1000,3000));
      digitalWrite(button_1, HIGH);
      delay(300);
      digitalWrite(button_1, LOW);
    
      delay(random (1000,3000));
      digitalWrite(button_2, HIGH);
      delay(300);
      digitalWrite(button_2, LOW);
    
      delay(random (1000,3000));
      digitalWrite(button_3, HIGH);
      delay(300);
      digitalWrite(button_3, LOW);
     }
    }

    You can confirm this works by using the spin button to start the reels spinning, then use a wire connected to arduino ground and touch digital pin 5 to simulate sensing the spin button. If it works as desired, the final item is to work through sensing the spin button correctly.


    BTW: What voltages are you reading on your spin button when you depress it?


    Best Regards,
    Jeff

  24. The following user says "Thanks" to atlanticom


  25. #19
    Blind Shooter Mcrowell75's Avatar
    Join Date
    Feb 2020
    Location
    USA
    Posts
    31
    Thanks
    15
    Thanks Received
    27

    Default Re: Coining Up the Bellco using an Arduino Nano

    Jeff,
    Your code did work, however the relays are constantly activated and they randomly de-activate when the spin lever input is received.
    This is opposite of what I need.

    The slot machine would assume the buttons were continually held down.

    I ran into this problem already.

    I could work around the problem by rewiring the button wires to the normally open switch configuration at the module, however the relays would still be constantly in an electrified state. I worry this would lead to premature failure of the relays or the arduino.

    In the code I sent you my best idea for a solution was to set the Button pins as inputs initially and then briefly change them to output to send the signal to to the relay module. This kept the relays in a non activated state until needed.

    Is that a bad solution? I see you changed it.

    Next, when I simulate a spin using the method you told me it works as it should. When I connect the D5 (spin_in) pin and the ground on the arduino the relays are silent. When I separate those two pins the loop code is implemented and the buttons stop randomly as I want. This is how my machines spin lever operates. There is 5v at the trigger and ground when idle and when the lever is flicked the voltage drops to zero.

    Perhaps I am not reading my wires correctly . I attached two pictures of the spin lever's optical sensor removed from the machine.

    brown and orange read 5v constantly
    brown and red read 5v until the lever is flicked then they drop to zero as the optical sensor is blocked.

    By my best guess brown is ground(-) orange is (+) and red is the "trigger"IMG_1546.jpgIMG_1547.jpg

  26. #20
    Blind Shooter Mcrowell75's Avatar
    Join Date
    Feb 2020
    Location
    USA
    Posts
    31
    Thanks
    15
    Thanks Received
    27

    Default Re: Coining Up the Bellco using an Arduino Nano

    Well, I think I got it. It works. My final breakthrough came when I decided to connect all the grounds together on a negative rail of a small breadboard. The bread board is essential.

    I have a video of the arduino in action, stopping the reels. I’d like to post pictures and the final code. I’d like to share the video on you tube. But I need a moderator to weigh in. What are the rules to this? I don’t want to step on the toes of members here who are trying to sell auto-stop mod chips.

    In my opinion the cost of parts and time required don’t make this worth it. Add that to the real possibility of messing up your machine.

  27. The following user says "Thanks" to Mcrowell75


Page 1 of 2 1 2 LastLast

Similar Threads

  1. Bellco Automatic
    By Awesumstude in forum Pachislo Technical Support Tickets
    Replies: 1
    Last Post: 11-07-2018, 02:28 PM
  2. Key for Bellco Automatic
    By Pinwizkid in forum Model Talk
    Replies: 4
    Last Post: 11-24-2017, 02:53 AM
  3. Ebay Auction : Bellco Automatic
    By hanabi in forum eBay - General Auction listings
    Replies: 5
    Last Post: 04-16-2012, 03:22 PM
  4. Arduino
    By hanabi in forum These are the days of our lives...
    Replies: 0
    Last Post: 05-29-2009, 08:22 AM
  5. Bellco Automatic
    By FTKServices in forum Model Talk
    Replies: 10
    Last Post: 12-02-2006, 07:02 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •