Author |
Message |
RingMad
Joined: Jan 15, 2011 Posts: 428 Location: Montreal, Canada
Audio files: 4
|
Posted: Sat May 24, 2014 3:35 am Post subject:
Pinball Backglass Lightbox Subject description: with electronical illumination animation |
|
|
I was hoping that PHOBoS would kick off this thread, since he created it (with Bubzy's blessings as well). Last month I had sent him a PM about a project I had finished that I thought he might appreciate. I didn't post it to the general forum because although it uses electronics, it is non-musical, and well, this site is about music.
And he replied that he had built something slightly similar, and non-musical, and had the idea of making a thread like this one for members of the forum who might like to share some of their DIY electronic but non-musical projects.
Apparently I had inspired PHOBoS to finish his non-musical project, the "TV PCB lamp", but PHOBoS being PHOBoS, ended up adding sound to it, which is why I guess he didn't post it here, but in his subforum here: http://electro-music.com/forum/topic-61742.html .
OK, enough of the intro. Let me get to my project...
A friend of mine had this old pinball backglass lying around, and I had the idea of building a lightbox for it, with a circuit that would add a bit of animation to it.
Pinball machines from the 70s of course used incandescent lamps, but I managed to get away with 28 superbright white, 115-degree view angle flat top LEDs.
Apart from 18 LEDs just providing general illumination, there are 4 randomly blinking "little eyes", as well as a 6-LED speed-changing "big eye" chaser.
The speed of the big eye chaser was a cool little idea I worked out... the clock that drives a 4017 is a 4046 VCO, and then I have a 555 timer that switches it between 2 phases (via a 4053)... 1. charging a large capacitor (the VCO runs at the base speed), and 2. the VCO runs solely on the discharging cap's voltage, which starts out fast, and of course slows down as the voltage decreases. Each phase is around 35-40 seconds.
The little eyes blink driven by a 4-bit pseudo-random generator using a 4006 shift reg & 4070 XOR (a schematic I posted here: http://electro-music.com/forum/topic-52066.html). Unfortunately, sometimes when one plugs this box in, this circuit gets stuck in a zero state. I could never figure out how to get it to avoid doing that (without probably adding several chips). It's annoying because sometimes one can plug it, unplug it, re-plug it several times before it gets out of that state. When I make things for other people, I kinda want it to work without such hassles.
To add just a bit of extra randomness in the blinking speed, the clock that drives the pseudo-random generator is a 4046 with an antenna on the CV pin 9. So there's a base speed, but it can go slightly faster depending on what electromagnetic waves float by.
I acquired most of the knowledge for building this thing from hanging out on these e-m forums and building Lunetta stuff... thanks all!
DEMO VIDEO: https://vimeo.com/91720349
James.
Description: |
|
Filesize: |
202.81 KB |
Viewed: |
496 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |
|
Description: |
|
Filesize: |
210.08 KB |
Viewed: |
487 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |
|
Description: |
|
Filesize: |
207.35 KB |
Viewed: |
470 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |
|
|
|
Back to top
|
|
|
Antimon
Joined: Jan 18, 2005 Posts: 4145 Location: Sweden
Audio files: 371
G2 patch files: 100
|
|
Back to top
|
|
|
PHOBoS
Joined: Jan 14, 2010 Posts: 5696 Location: Moon Base
Audio files: 706
|
Posted: Sat May 24, 2014 9:10 am Post subject:
|
|
|
It looks really great, glad you posted it
Is "TILT" visible from the front if you would put a light behind it ?
btw you can use a teacandle LED to get a bit of a random CLK, I used it for a jar of 'fireflies' for which I'll probably make a post here too.
But I need to take some photos first or maybe a video. (thanks to blue hell for creating this section on the forum after I asked ) _________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube |
|
Back to top
|
|
|
analog_backlash
Joined: Sep 04, 2012 Posts: 393 Location: Aldershot, UK
Audio files: 21
|
Posted: Sat May 24, 2014 4:05 pm Post subject:
|
|
|
Looks great James. I think we can forgive you that it's a silent project
I'm surprised that you're still having problems with the 4006 locking up. My 'mod' seemed to work for me (but I seem to remember that we thought that the pseudorandom sequence might be a little short/predictable). I know that amongst PHOBoS's many schematics, there was a similar circuit which probably works better. I can't remember exactly where it is though...
Gary |
|
Back to top
|
|
|
RingMad
Joined: Jan 15, 2011 Posts: 428 Location: Montreal, Canada
Audio files: 4
|
Posted: Sat May 24, 2014 4:27 pm Post subject:
|
|
|
Thanks Antimon!
PHOBoS: Yes, TILT and any area that is not silver would light up if one puts a light behind it. In the "board" photo those black shapes are where I had to block light from coming through (like where there is plain glass through which one sees the score reels).
Hmmm, I forgot about the tea candles... but I think they would have been too fast for what I wanted here.
Gary backlash: I was surprised too... I do believe I used your mod. But the problem I used to have was locking up when the clock was too fast, which is not the case here. This is getting stuck at powerup. Ah, the mysteries.
Blue Hell: Yes, thanks for creating this subforum. I hope it'll get some interesting posts.
James. |
|
Back to top
|
|
|
PHOBoS
Joined: Jan 14, 2010 Posts: 5696 Location: Moon Base
Audio files: 706
|
Posted: Sat May 24, 2014 4:28 pm Post subject:
|
|
|
analog_backlash wrote: | I know that amongst PHOBoS's many schematics, there was a similar circuit which probably works better. I can't remember exactly where it is though... |
The one I've been using is the same circuit used by Ken Stone and Yusynth (thats where I got it from). And it hasn't failed me yet
here's the version used in the Moon Base Xplorer (U2d added by me)
I think it originated from an elektor circuit but I'm not sure,. _________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube |
|
Back to top
|
|
|
analog_backlash
Joined: Sep 04, 2012 Posts: 393 Location: Aldershot, UK
Audio files: 21
|
Posted: Sun May 25, 2014 1:41 am Post subject:
|
|
|
Thanks PHOBOS - I knew that I hadn't imagined it! The next time I need randomness, I'll try this out.
Gary |
|
Back to top
|
|
|
RingMad
Joined: Jan 15, 2011 Posts: 428 Location: Montreal, Canada
Audio files: 4
|
Posted: Mon May 26, 2014 10:41 am Post subject:
|
|
|
But... the circuit I'm talking about is a 4-bit generator, not a random clock... or would it work as that by taking some extra outs from pins off the shift register or the XOR?
James. |
|
Back to top
|
|
|
analog_backlash
Joined: Sep 04, 2012 Posts: 393 Location: Aldershot, UK
Audio files: 21
|
Posted: Mon May 26, 2014 2:12 pm Post subject:
|
|
|
A very good point James - I hadn't noticed that . I would imagine that you could tap from 4 points on PHOBoS's circuit to get a pseudorandom 'nibble', but without some experimentation, I'm not sure where it would be best to put them. I don't know if PHOBoS has any ideas on this.
Gary |
|
Back to top
|
|
|
PHOBoS
Joined: Jan 14, 2010 Posts: 5696 Location: Moon Base
Audio files: 706
|
Posted: Tue May 27, 2014 2:45 am Post subject:
|
|
|
the 3 outputs I connected to the resistor ladder, + the digital output (pin 11) are 4 semi-random bits. Of course they are logically coupled so if you want
4 completely independent bits you'd have to make 4 of those semi random generators (or Linear Feedback Shift Registers as they are called).
I think the capacitor and resistor attached to the input of U2b should prevent stalling on startup, but that could only work if there is a clock present at
startup (right ?), however I always leave them in. _________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube |
|
Back to top
|
|
|
analog_backlash
Joined: Sep 04, 2012 Posts: 393 Location: Aldershot, UK
Audio files: 21
|
Posted: Tue May 27, 2014 7:48 am Post subject:
|
|
|
PHOBoS wrote: | the 3 outputs I connected to the resistor ladder, + the digital output (pin 11) are 4 semi-random bits. Of course they are logically coupled so if you want completely independent bits you'd have to make 4 of those semi random generators (or Linear Feedback Shift Registers as they are called). |
Thanks again PHOBoS. I suspected that those would be the 4 points to choose, but I didn't feel sure enough to say it . I also suspect that James might not want to build 4 separate units as the 4006s are a bit hard to find/expensive these days.
Re: the clock needing to be on first. I wondered if you could delay the 4006 switching on slightly, so that the clock starts first. I remember doing this many years ago on a TTL circuit that I was having problems with. I remember using an RC network to introduce a delay which then switched on a 4066/4016 switch connected to a chip enable pin. Thinking about this now, I'm sure that I could have used a transistor instead. The 4006 doesn't have a chip enable pin, but could it be used to switch on the Vdd pin? Just a thought...
Gary |
|
Back to top
|
|
|
PHOBoS
Joined: Jan 14, 2010 Posts: 5696 Location: Moon Base
Audio files: 706
|
Posted: Sat May 31, 2014 4:33 pm Post subject:
|
|
|
Switching the 4006 on with a delay wouldn't really help here because the problem is that when you apply power it will be in a random state.
If you look at this LFSR example on wikipedia you'll see that it's a shiftregister with several tap points that are connected to a couple of
XOR's with the final output connected back to the input.
If all the outputs would happen to be 0 on startup then it can't cycle any bits. If you compare it to the schematic I posted then U2b is an extra gate
since it's not connected to the shiftregister and once the capacitor is charged it will just function as an inverter. An inverter would take care of
the problem when all outputs are 0 on startup but I think it will probably create an other combination that could cause a problem (?). So by
changing the function of the gate over time it should always 'break out'.
So if you start it up but attach a CLk signal some time later (like in a modular setup) after the capacitor is already charged then it seems to
be useless. I suppose you could add an 'unlock' switch across the cap. although for this ligthbox it should work fine, and so far it has always
worked for me too (maybe random luck). _________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube |
|
Back to top
|
|
|
blue hell
Site Admin
Joined: Apr 03, 2004 Posts: 24170 Location: The Netherlands, Enschede
Audio files: 280
G2 patch files: 320
|
Posted: Sat May 31, 2014 6:39 pm Post subject:
|
|
|
The thing breaks up into two groups .. one being the all zeros state, the other being all the other states .. it can not go from one group to the other by itself .. so once you have all zeros in the system it will stay there and once you have any non-zeros in it it will not get into the all zeros state.
edit: this is some math property from group theory .. not that I understand it, but one of the practical outcome of the theory is that breakup ting I described.
edit2 : for maximum length feedback shift registers ... when they are not maximum length there are more than two groups, and they still cant move out of their group then, but will cycle through all of the values in that group. The maximum length thing happens to break up into two groups, one of length one and one if length 2 ^ bits - 1. Theory sez that there can not be a a one group solution for delays and exor feedback.
edit3: Anyways .. group theory is your key for the universe
edit4: and it is all related to counting ... say you want to count six on five fingers ... you end up on 2 ... cyclic ... then do it again 3, 4, 5, 1 .. so in that system there is just one group .. so it is not impossible to have all states in one group, the mqx len linear feedback thingie just happens to break up into at least two groups .. now try count 10 on five fingers .. you end up on the finger you started with .. so there are five groups in that system.
edit5: the xor feedback system is just another way of counting .. just like counting on your fingers you cycle trough states, it is not modulo counting tho as in the edit4 example, but you still have have cycles and the number of states is not n but 2^n.
edit6: the usual word for where I used system is algebra .. there are various bras. _________________ Jan
also .. could someone please turn down the thermostat a bit.
|
|
Back to top
|
|
|
analog_backlash
Joined: Sep 04, 2012 Posts: 393 Location: Aldershot, UK
Audio files: 21
|
Posted: Sun Jun 01, 2014 2:40 am Post subject:
|
|
|
Very useful info here PHOBoS/Blue Hell. Yes, the all zeroes state is the problem, so I can see that my idea wouldn't work. I shall read this carefully to finally get my head around this type of circuit. Sort of modular arithmetic with a twist.
Gary |
|
Back to top
|
|
|
PHOBoS
Joined: Jan 14, 2010 Posts: 5696 Location: Moon Base
Audio files: 706
|
|
Back to top
|
|
|
RingMad
Joined: Jan 15, 2011 Posts: 428 Location: Montreal, Canada
Audio files: 4
|
Posted: Sun Jun 01, 2014 6:24 am Post subject:
|
|
|
Hmmm, well, the math and group theory is a little beyond me. But what worries me is what PHOBoS said about the shift register being in a random state upon powerup.
How do things that use shift regs ever work then? At powerup, the shift reg starts pumping out random stuff as soon as the clock is applied -- how can that be good? Or do they design circuits such that they cycle 0's in until it's "full", then connect it to the rest of the circuit?
But to return to the problem at hand, if we could ensure that a 1 is at the input of the shift reg at powerup somehow, the all-zero state would be avoided. But what's a simple way to do that?
I also toyed with the (crazy) idea of using a 4-input AND gate or something that would detect the all-zero condition, then somehow kick in a 1 at the input to get it out of that state.
Having a human-operated switch to unlock the state can work (which could be one that simply kicks in a 1 at the input), but it's not very elegant for my lightbox up on the wall, possibly not very accessible.
By the time one does stuff like that, it makes one wonder if it's not just easier using a microcontroller. A little PICAXE could probably do the trick, with a lot less wiring.
James. |
|
Back to top
|
|
|
blue hell
Site Admin
Joined: Apr 03, 2004 Posts: 24170 Location: The Netherlands, Enschede
Audio files: 280
G2 patch files: 320
|
Posted: Sun Jun 01, 2014 7:03 am Post subject:
|
|
|
Yeah there are designs that detect the all zeros state and fix it.
And indeed I'd use a PIC 12 or something for this as well nowadays .. some PICs even have a hardware CRC generator that could be used for this.
Only drawback could be that it needs some time to start up .. but its both cheaper and easier to make, once you have the programmer/debugger. _________________ Jan
also .. could someone please turn down the thermostat a bit.
|
|
Back to top
|
|
|
PHOBoS
Joined: Jan 14, 2010 Posts: 5696 Location: Moon Base
Audio files: 706
|
Posted: Sun Jun 01, 2014 7:05 am Post subject:
|
|
|
RingMad wrote: | How do things that use shift regs ever work then? At powerup, the shift reg starts pumping out random stuff as soon as the clock is applied -- how can that be good? Or do they design circuits such that they cycle 0's in until it's "full", then connect it to the rest of the circuit? |
That would be possible but most of the time you can just use the reset pin which the CD4006 sadly doesn't have
Quote: | But to return to the problem at hand, if we could ensure that a 1 is at the input of the shift reg at powerup somehow, the all-zero state would be avoided. But what's a simple way to do that? |
An OR gate on the data input of the shiftregister with the second input connected to a capacitor/resistor to force a 1 on startup ?
hmm that would still give the same problem if you apply the CLK later of course. how about adding a circuit that forces a 1 on the
datainput on the first CLK transition. A 4017 could do it and it can probably be done with a flipflop aswell.
Quote: | I also toyed with the (crazy) idea of using a 4-input AND gate or something that would detect the all-zero condition, then somehow kick in a 1 at the input to get it out of that state. |
diodes on all outputs with a pullup resistor should do that, good idea.
Quote: | By the time one does stuff like that, it makes one wonder if it's not just easier using a microcontroller. A little PICAXE could probably do the trick, with a lot less wiring. |
Of course, for blinking some LED's microcontrollers are perfect and you could do a lot more with it too. _________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube |
|
Back to top
|
|
|
PHOBoS
Joined: Jan 14, 2010 Posts: 5696 Location: Moon Base
Audio files: 706
|
|
Back to top
|
|
|
|