Jump to content
IGNORED

What's the best system?


Recommended Posts

  • Replies 53
  • Created
  • Last Reply

Top Posters In This Topic

This is quite a broad subject.

 

I think you should start with "What are the requirements?"

ie. How many IO lines are you going to need for output, Input/feedback?

 

And the next thing to look at is "How fast does this need to do IO?"

I have no idea about the signal requirements of pinball IO.

If it's timing critical (More than likely to produce a tight clean game) then you would need to look at an embedded system with many direct IO ports.

@Homepin would no doubt have good advice in regards to the Brains & IO of the Thunderbird pinball.

Link to comment
Share on other sites

I know Mike doesn't like PC based systems.

Is there any software around that would allow the eproms in a pinball mpu to be reprogrammed using something like C and compiling it without having to resort to assembly or machine code?

I suppose I should ask what are the benefits of each system and what's available? As I'm new to all this.

 

Cheers Trev

Link to comment
Share on other sites

Requirements......

Lucky for the homebrewer is the advent of Arduino peripherals!

 

Lighting - You probably want to use a LED matrix to get the most of your IO lines (For required brightness you probably want to go to a LED driver board).

 

Output - You could probably do the same thing for solenoid output - to the high powered (Solenoid) driver board instead.

Link to comment
Share on other sites

I know Mike doesn't like PC based systems.

Is there any software around that would allow the eproms in a pinball mpu to be reprogrammed using something like C and compiling it without having to resort to assembly or machine code?

I suppose I should ask what are the benefits of each system and what's available? As I'm new to all this.

 

Cheers Trev

 

Doubt it - Unless the VPIN community has some sort of rom editing tool.

 

To reprogram a MPU yourself.....

You would 1st have to reverse engineer the software to find how it operates the hardware (Reverse engineering machine code is not something trivial).

Write your software???? (That's an entire project in itself!) - And you still probably wouldn't be able to utilize the full capabilities of the hardware.

Then figure out how to even compile for said system - Somehow cross compile it on a PC and copy it to an EPROM.

A very iffy proposition - And likely to fail if pinball MPU's have non tamper "protections" on them....

 

- - - Updated - - -

 

If you check out my Aussie Arcade homebrew pin threadhttp:// http://www.aussiearcade.com/showthread.php?t=76480 you'll see what I've been playing with but I was just wondering if there's a better way to do the next homebrew pin.

 

The new Raspberry Pi system coupled with Arduino like peripherals and pinball driver boards (Led & Solenoid) is probably the best choice.

Edited by ozfalcon
Link to comment
Share on other sites

If you go the Arduino route it's cool because there are so many add on bits of hardware with many s/w libraries and a good community support, but you'll have to do a lot of leg work yourself and be across both h/w and s/w. It's nice that you can develop incrementally and I think it nicely suits a distributed model. The broad range of skills needed may put it out of range of many, but the fact you can start small may mean you can bite off a small mouthful and digest that without having to leap in big time. I think the processing speed will be fine.

 

It's worth looking at the Open Pinball Project too for cheap accessible hardware and I believe you can use PinballFramework for s/w development which would enable more sophisticated programming possibly faster and easier. I've not looked in detail at it.

 

For use and modifying of existing rules and hardware have a look at P-roc and Fast. I have not looked in any detail at either of them as I enjoy the tinkering aspects of Arduino.

Link to comment
Share on other sites

I know Mike doesn't like PC based systems.

Is there any software around that would allow the eproms in a pinball mpu to be reprogrammed using something like C and compiling it without having to resort to assembly or machine code?

I suppose I should ask what are the benefits of each system and what's available? As I'm new to all this.

 

Cheers Trev

 

I was just thinking about this,

Perhaps the VPin software has some sort of "System" programming tool to reprogram various MPU's roms?

(Or someone from the community has created one)

Link to comment
Share on other sites

  • 3 months later...

Rise from your grave!

 

I picked up a project Magic City for $100 yesterday and am planning on doing a custom theme (Atari 2600!) with it using Arduinos, relay boards, and NeoPixels.

 

I've been reading up on these 2 projects:

 

Right now I have 2 ATMega boards and a Nano along with relay boards and a string of 60 NeoPixels that I'll cut apart. The Nano will run the EM chimebox and knocker and with it I should be able to do music and different combinations of tones that are not easily done in the EM world.

 

I have 2 8-relay boards I picked up for $14.95 each from Tanner Electronics and 9 of these 2-relay kits I picked up at Fry's Electronics on clearance for $1.25 each. The 2-relay kits are TTL input compatible and will be easily driven by the Arduino.

 

723741820_Relaykit.jpg.a701d986b8964968e24588661ae803c2.jpg

Link to comment
Share on other sites

Good quality relays are rated for one million ops so that's a lot of pinball play, but for speed which would be noticeable for something like a sling or a pop, for direct interfacing, reduced board real estate and elegance then solid state is the way to go and mosfets are ideal for this.
Link to comment
Share on other sites

The TTL level input mosfets are definitely the way to go. I have been experimenting with them, and find they work well and can switch high loads OK. Also being TTL 5VDC level there is no need for messy interface circuits to drive the little critters. Good Luck with your project.
Link to comment
Share on other sites

The harder part will be controlling everything. I can do a switch matrix for the 24 switches easy enough... and the 4 pop bumpers, 2 slingshots, and 2 flippers will get a line each off the Arduino. The tough part will the the massive # of lights on the playfield: 37 individual lights.

 

37 + 8 = 45... plus 10 for a 5x5 switch matrix = 55. There are 54 digital I/O lines on the Mega 2560 and I still need to figure out the serial communication requirements to the other 2 Arduinos.

 

Time to look at I/O Expanders. I think that would be best for the switches on the playfield. This is going to be an interesting project with a lot of learning to do.

 

- - - Updated - - -

 

Actually... I think I can use this to reduce it down to just an SPI connection using the NeoPixels

 

https://github.com/FastLED/FastLED/wiki/Basic-usage

 

And it looks like I can address them individually to turn specific ones on and off as needed. Time to start experimenting!

 

Once I get it figured out I just need to wire all the LEDs around the playfield in series and document the addressing.

Link to comment
Share on other sites

Rather than individual lights why not a matrix for that too - if you have the code sorted for the switch matrix then it'll be very similar. If you're using the Neopixel, which I think is the way to go then it's practical to run them in stings of eight, so you'd use 5 lines and as you say they are individually controllable for colour, brightness etc so a are a pretty cool way to go imo.

 

Also have you thought about a distributed model - this seems practical to me. Say one Arduino for flipper, sling and trough control if in a standard arrangement. Possibly one to do bumper control and maybe a few others. A relatively small amount of state info to be swapped amongst them using the serial link or maybe sent to a master for scoring. The scoring can be done fairly slowly.

Link to comment
Share on other sites

Yeah I'm not even interested and can say Arduinos the way to go.

Who cares if it dies, they are cheap to replace and will be around for years to come.

 

The problem I have with all of these hobby computers is that they have a nasty habit of changing versions quite often. Usually the newer ones are backwards compatible but not always.

 

I think there will be a lot of cheesed off people in a few years time trying to adapt the current version of Aduino, lemon meringue pie , Beagle boys Bones, Banana tart, etc etc to suit the project they slaved over building because there is no doubt they will evolve over time and you can bet that a current version in a few years will NOT be compatible with anything available today.

 

You only have to look at PCs to realise this.

Link to comment
Share on other sites

@channelmaniac, for your lamps the other approach you could try is the Max7219 led driver for an 8 x 8 matrix. Serially controlled and pretty cool chip that takes away some of the grunt work, but you don't get the flexibility of the WS2812 colour selection, but you do control 64 leds on two (I think) lines.

 

And on Homepins comments I reckon Yes and No :) You might be right Mike, but also these things are aimed at tinkerers and there's nothing that comes close to being as accessible both in price, flexibility, community support and usability. Not everyone is building a pinball factory, some of us just want to muck around and Arduino is great for that. I buy all sorts of crap modules that I have absolutely no sensible use for - things like temperature sensors, wifi modules, mp3 players, real time clocks, multiple types of display modules. I play around, learn something and have fun - gotta waste my time and money on something!

 

If I was serious about wanting something to be around in years to come I'd buy a few spares and stick them aside. This spares approach is pretty standard for lots of industrial products. I also don't think it's an unreasonable thought that future Arduino style products wont be backward compatible. The fact that it's open source in both hardware and software and uses C like language and it's so broadly spread with so many users makes me think there's a good chance, but we'll have to wait and see I guess. I think the first Arduino stuff came out in the mid 2000s and is still supported as I understand it. In any case the knowledge people will have gained will not be wasted.

 

I don't think people will be releasing commercial products based on it, but I don't think that's the intent either. Someone trying a diy pin or a mod is a different case and I can't see better alternatives.

Link to comment
Share on other sites

 

I don't think people will be releasing commercial products based on it, but I don't think that's the intent either.

 

I agree entirely with your sentiments BUT there is a BIG problem when things like the MMr are based on a Beagle Boys "hobby"computer. I think that's a bit rich for a supposedly "commercial product" that is selling for thousands of dollars - that's NOT ON in my opinion. I think it borders on fraud to be frank. People are buying these machines possibly "thinking" they are just as repairable as the real thing but I believe they will be in for a HUGE shock when stuff starts going wrong.

Link to comment
Share on other sites

I agree entirely with your sentiments BUT there is a BIG problem when things like the MMr are based on a Beagle Boys "hobby"computer. I think that's a bit rich for a supposedly "commercial product" that is selling for thousands of dollars - that's NOT ON in my opinion. I think it borders on fraud to be frank. People are buying these machines possibly "thinking" they are just as repairable as the real thing but I believe they will be in for a HUGE shock when stuff starts going wrong.

 

My god - we agree on something - notify the UN :lol

 

Yep I'd be more than a little nervous on MMr and would grab spares if I had one, but this section / discussion is "Homebrew Pin Projects" and it's in this context my comments are made.

Link to comment
Share on other sites

I dont know what you guys are so concerned about, My "The Grunta" Boards will be perfectly compatible with any hand designed, acid etched, circuit scribbled on the back of a napkin substitute third party board that may be made in the future....:lol Of if anyone can tell me what to populate my rollover target control board with, that would help ! I lost my napkin :D

IMG_5590.thumb.jpg.ed674dca07f74ed8a3955aa0d6162356.jpg

Link to comment
Share on other sites

Rather than individual lights why not a matrix for that too - if you have the code sorted for the switch matrix then it'll be very similar. If you're using the Neopixel, which I think is the way to go then it's practical to run them in stings of eight, so you'd use 5 lines and as you say they are individually controllable for colour, brightness etc so a are a pretty cool way to go imo.

 

Also have you thought about a distributed model - this seems practical to me. Say one Arduino for flipper, sling and trough control if in a standard arrangement. Possibly one to do bumper control and maybe a few others. A relatively small amount of state info to be swapped amongst them using the serial link or maybe sent to a master for scoring. The scoring can be done fairly slowly.

 

Yes, I was going to do a Mega for the playfield, a Nano for the chimebox and knocker, and either a standard Arduino or Mega for the backbox. The playfield Mega would be the master.

 

For the lights, I'm doing Neopixels for the color capabilities. This way when specific things occur on the playfield I can change insert colors and up the scoring for the next round of targets to hit. I don't know of a way to use a matrix with Neopixels, but since they are individually addressable, I can use them in a long string and save I/O pins on the Arduino.

Link to comment
Share on other sites

You can buy a 1m strip with 30 LEDs for $6 on eBay. That's 20 cents per LED. Doesn't get much cheaper than this! (The 30 LED/m strips are probably more useful than the 60 LED/m strips because, with 30 LEDs, the cut lines allow you to cut the strip such that you get a single-LED segment. With the 60 LED/m strips, you can only cut into segments containing 2 LEDs each.)

 

You'll have to run a three-strand wire to keep all the LEDs in a chain, but that's a lot better than having to use a standard wiring harness with with two wires per LED running all the way back to the lamp matrix. As an added bonus, if you have have a wiring fault in the data line, it'll be easy to find because all LEDs downstream from the fault will misbehave, so the fault location indicates itself.

 

Cheers,

 

Michi.

Link to comment
Share on other sites

Four: R-G-B and Common

No, not really. You need four wires for non-addressable LEDs. But, with non-addressable ones, you cannot individually control each LED. Instead, all LEDs in the strip light up in the same colour.

 

With addressable LEDs, you only have three wires: +5V, ground, and a data line. The Arduino sends 24-bits of RGB information for each LED down the data line, in lowest-numbered to highest-numbered LED order. Each LED has a little micro controller in it that picks off the first 24 bits of the data stream and then switches the remainder of the stream through to the LEDs further down-stream. This allows each LED in the strip to be individually controlled and light up in a separate colour.

 

There are some examples of this here:

 

 

 

Cheers,

 

Michi.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...