The universal trigger interface (The little box)

how many I/O pins do you need?

ATMEGA328 has 23, 6 of which are A/D
and all for £3.60
 
I have some separate 328s already! I am picking up a genuine mega board, LCD and lots of the other parts at a special price from a certain chap from china :) To be honest using the mega gives massive upgrade potential as the entire project is being built to be massively expandable over time. I have been picking up some good suppliers. If I can work out how to build a shield with Eagle I will give it a go.....

if you need a hand send me your design and I'll "eaglify" it for you

(I'm an Arduinophile as well)
 
I get a whole genuine 1280 or 2560 board for THAT price!

Sure, but if that pushes up your board and case size, and requires any extra connectors, etc. it might not be so clear cut.
 
how many I/O pins do you need?

ATMEGA328 has 23, 6 of which are A/D
and all for £3.60

To be honest I had been looking at how I could use the 328 so that I could just build it as one board. The graphical display was using 13 pins if I remember rightly. I think I will try and use Eagle to make a mega shield first off....
 
To be honest I had been looking at how I could use the 328 so that I could just build it as one board. The graphical display was using 13 pins if I remember rightly. I think I will try and use Eagle to make a mega shield first off....

crikey 13 pins just for the display!!!!!

suggest you consider one that's driven using a serial interface - 2 pins maybe!

what size display are you looking at?
 
Sure, but if that pushes up your board and case size, and requires any extra connectors, etc. it might not be so clear cut.

I was looking at having all the connectors on the edge of the circuit board so with a bit of shrinking I could manage it.
 
If I can work out how to build a shield with Eagle I will give it a go.....

It's easy enough. You'll want to grab Sparkfun's Library to make life easier so you don't have to figure out where all the pins are yourself.

This is one I made a coupla days ago in Eagle for the Uno using the toner transfer method just before etching - this one's just for a basic camera/lcd interface for an intervalometer (but being able to run my own software on the Arduino means it can do some pretty advanced stuff, as intervalometers go). Lets me hook up two HD44780 LCDs (via shift register) and the camera's AF, Shutter & Ground pins (and trigger AF & Shutter independently of each other for better timings).


Taking Things a Step Further... by Kaouthia, on Flickr


LCD & Camera Shield Overhead View by Kaouthia, on Flickr

Had to do a bit of tweaking in Photoshop (the pads for the 4N25 that was in the library weren't quite big enough for my liking).
 
Last edited:
crikey 13 pins just for the display!!!!!

suggest you consider one that's driven using a serial interface - 2 pins maybe!

what size display are you looking at?

The problem is that the I2C displays cost more and by the time you pay the extra you might as well get the mega but it is still at the prototype stage so it's still possible to switch and I might well do that tomorrow.....
 
The problem is that the I2C displays cost more and by the time you pay the extra you might as well get the mega but it is still at the prototype stage so it's still possible to switch and I might well do that tomorrow.....

Shift Register :)

I can control two 20x4 HD44780 LCDs on my shield using only 4 pins from the Arduino (and I could probably take away one of those if I wanted to get real tricky). And yup, they're bog standard £6 from China parallel LCDs.
 
if you need boards prototyping I have a rotospray setup and little man at work who drives it. he is very good at double sided stuff (we cloned the arduino nanos). I would look into SMD if you can its quick and easy as well as much neater IMHO. Send me eagle files and I can return you boards :)

If you are laser printing on polyester sheet for your overlays try wiping it down with white spirit, it will either (depending on the toner) take the toner off or make it more dense.
 
I've got something similar 99% finished - based around the open source Arduino with four sensor inputs and four trigger outputs. I'm not planning to market mine though, I just wanted something that would work for wildlife, water drops, bursting balloons, shattering glass and similar :D

Good luck with it :)

I keep meaning to build something similar with an Arduino I have knocking about. Not sure how bad the latency will be with the Arduino, but hopefully it should be short enough to catch most things (birds, bats etc).

Be curious how your project is going :)
 
Shift Register :)

I can control two 20x4 HD44780 LCDs on my shield using only 4 pins from the Arduino (and I could probably take away one of those if I wanted to get real tricky). And yup, they're bog standard £6 from China parallel LCDs.

I'm using the GLCD displays.

The size of the Eagle PCB for the free one is too small for all the connectors! I would have to build a two board setup with one board have all the components and a 50 way connector ribbon cabled to a 50 way connector on the 2nd board!

Also having moved components around to get the best fit the autorouter in Eagle is now a total scribble with tracks going through holes etc. It doesn't seem to want to totally re-route the board and I can't see an option. Any ideas?
 
Not sure how bad the latency will be with the Arduino, but hopefully it should be short enough to catch most things (birds, bats etc).

This is with a laser from a £1 laser pointer and a simple voltage divider with a photoresistor going to one of the analogue inputs, then a digital out pin going to a 4N25 to an RF-602 transmitter, with RF-602 receiver on the flash. I set this with 0 delay to see what kind of base lag there was. Not much at all is the answer!


Arduino Laser Trigger Testing by Kaouthia, on Flickr

I'm using the GLCD displays.
Do you have a URL to the datasheet?

Also having moved components around to get the best fit the autorouter in Eagle is now a total scribble with tracks going through holes etc. It doesn't seem to want to totally re-route the board and I can't see an option. Any ideas?
When you autoroute on Eagle, it only maps unrouted connections. So you need to "ripup" the connections you no longer want to keep to have Eagle try to autoroute them again. Very handy. I don't like the apps that auto delete hours of hard work and then screw it all up in one click. :)
 
Do you have a URL to the datasheet?

http://www.arduino.cc/playground/Code/GLCDks0108

I'm using all type "B" LCDs

When you autoroute on Eagle, it only maps unrouted connections. So you need to "ripup" the connections you no longer want to keep to have Eagle try to autoroute them again. Very handy. I don't like the apps that auto delete hours of hard work and then screw it all up in one click. :)

How do you un-rip them?

Which versions of Eagle do you have? I am after version 5.7 for the Mac if anyone has it lying about :)
 
This is with a laser from a £1 laser pointer and a simple voltage divider with a photoresistor going to one of the analogue inputs, then a digital out pin going to a 4N25 to an RF-602 transmitter, with RF-602 receiver on the flash. I set this with 0 delay to see what kind of base lag there was. Not much at all is the answer!

That is the answer I got too!

Even using the relays for the HP setup there is not too large a delay.

I had the whole thing working without arduino but arduino with a full LCD menu system etc etc is much more user friendly :)
 
You'd have to adjust the pinouts to account for your display, but here's a schematic somebody did going through a 74HC595 shift register to get it down from 14 to only 5 pin outs. :)

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1262136316

How do you un-rip them?

Which versions of Eagle do you have? I am after version 5.7 for the Mac if anyone has it lying about :)
Easiest way is to draw a box around the ones you want to get rid of (just a handful or all of 'em), then right click a component, select "Ripup", then right click again and select "Group: Ripup", and they'll all go back to the expected rats nest.

The rats nest may sometimes look a little weird (still looking like routing, but with thin green lines instead of thicker blue or red ones), just click on the icon to recalculate the rats nest and it'll fix it.
 
You'd have to adjust the pinouts to account for your display, but here's a schematic somebody did going through a 74HC595 shift register to get it down from 14 to only 5 pin outs. :)

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1262136316


Easiest way is to draw a box around the ones you want to get rid of (just a handful or all of 'em), then right click a component, select "Ripup", then right click again and select "Group: Ripup", and they'll all go back to the expected rats nest.

The rats nest may sometimes look a little weird (still looking like routing, but with thin green lines instead of thicker blue or red ones), just click on the icon to recalculate the rats nest and it'll fix it.

Cheers I'll take a look at the shift register method later. If I can get it down to 5 then the 328 is a possibility.
 
Why not get the latest version? 5.11?

I have a time restricted demo thing that works up to 5.7 that would allow me to use the full sized board.

100mm x 80mm FREE
any size $1500 :puke:

I might get the full version but it's a lot of money to tie up wrongly!
 
That's why I'm happy with my single sided and making my own boards. If I need bigger, I'll just make 2 eagle files, and chop 'em together in Photoshop. ;)

Although, smaller boards wouldn't necessarily be a problem. Would allow you to make things more modular.
 
Last edited:
That's why I'm happy with my single sided and making my own boards. If I need bigger, I'll just make 2 eagle files, and chop 'em together in Photoshop. ;)

Although, smaller boards wouldn't necessarily be a problem. Would allow you to make things more modular.

Two boards, one with all the connectors on and one with the electronics would be most likely with the size restriction.
 
Ooooh, just seen that Sparkfun has been Slashdotted...

Now this looks VERY interesting. :)

http://www.sparkfun.com/products/10664

32Bit 72Mhz! 39GPIO, 16 Analogue input pins, 12-Bit ADC resolution, and 15PWM output pins with 16 Bit resolution!, 128kb flash, 20kb SRAM and a built in LiPo charger.

Think once I start hitting a wall with the Uno, that'll be my next move instead of a Mega.
 
Ooooh, just seen that Sparkfun has been Slashdotted...

Now this looks VERY interesting. :)

http://www.sparkfun.com/products/10664

32Bit 72Mhz! 39GPIO, 16 Analogue input pins, 12-Bit ADC resolution, and 15PWM output pins with 16 Bit resolution!, 128kb flash, 20kb SRAM and a built in LiPo charger.

Think once I start hitting a wall with the Uno, that'll be my next move instead of a Mega.

OOO nice...

That would be quick enough to have a colour graphical display, show your photos etc etc :)
 
Well Eagle isn't doing it's best to suggest I spend so much money. It was all working well and now components that I add to the schematic don't automatically appear on the PCB. If I try and add them to the PCB I get errors about inconsistent connects etc....
 
Well I've learnt that you need to pick up components and wobble them to make sure the tracks are connected!! I have managed to get about 80% of the board onto the schematic and then bring up the PCB. Using 2 layers Eagle cannot route all the tracks and fails with 2 so it would have to be a 4 layer board or as I would probably do 2 wire connects :( Might go for 4 layers for production.
 
Swapped the HP and LP connectors locations around on the PCB and it can now route it over 2 layers :)
 
I keep meaning to build something similar with an Arduino I have knocking about. Not sure how bad the latency will be with the Arduino, but hopefully it should be short enough to catch most things (birds, bats etc).

Be curious how your project is going :)

I've not tested the latency yet but it should be negligible for most purposes. The loops that look for input and produce output aren't particularly long or demanding on processor cycles - the program spends most of its time running round them waiting for something to happen. I've actually added a user settable variable to provide an offset delay between the trigger event and the output for catching water droplet impacts at different points in time. I've got a small amount of code to sort out - mostly to do with handling and displaying keypad inputs and corrections and then it'll be ready for use.
 
Blimey!!!!!

I have JUST finished the circuit board after about 12 hours work :)

Much messing about of moving components was required just in order to get the circuit down to 2 layers! For those that know about these things it is going to need over a hundred vias on a 4x3.25 inch board !!

I had to remove the internal expansion connector but this is the prototype. I might have to go 4 layers for production but apparently the kit I am looking at will handle 4 layers so here's hoping. Saying that though and IF as most people who said they want it do so then I might be able to get the PCBs made externally.
 
This is with a laser from a £1 laser pointer and a simple voltage divider with a photoresistor going to one of the analogue inputs, then a digital out pin going to a 4N25 to an RF-602 transmitter, with RF-602 receiver on the flash. I set this with 0 delay to see what kind of base lag there was. Not much at all is the answer!

That's exactly the answer I was hoping for, awesome work :)
 
Blimey!!!!!

I have JUST finished the circuit board after about 12 hours work :)

Much messing about of moving components was required just in order to get the circuit down to 2 layers! For those that know about these things it is going to need over a hundred vias on a 4x3.25 inch board !!

I had to remove the internal expansion connector but this is the prototype. I might have to go 4 layers for production but apparently the kit I am looking at will handle 4 layers so here's hoping. Saying that though and IF as most people who said they want it do so then I might be able to get the PCBs made externally.

crikey that's a lot of vias!
how components are there in this behemoth?
 
Well I've learnt that you need to pick up components and wobble them to make sure the tracks are connected!! I have managed to get about 80% of the board onto the schematic and then bring up the PCB. Using 2 layers Eagle cannot route all the tracks and fails with 2 so it would have to be a 4 layer board or as I would probably do 2 wire connects :( Might go for 4 layers for production.

there is an icon on the tool bar - looks like an eye
select it then click on a wire
it shows all the items connected to it
 
Well Eagle isn't doing it's best to suggest I spend so much money. It was all working well and now components that I add to the schematic don't automatically appear on the PCB. If I try and add them to the PCB I get errors about inconsistent connects etc....

er - oh yes it does!
they're normally loitering just south of the board - you need to zoom out to see them

if you use the mouse scroll wheel to zoom, hold it over the opposite corner
it zooms centred on the mouse position

just thought - wonder if you've hit a "maximimum component count on free version" limit?
 
That's exactly the answer I was hoping for, awesome work :)

That's bare minimum components and code (1 sensor being continually monitored and nothing else going on in the loop). I'm trying to figuring out building a "wall" of 6 or 8 laser triggers at the moment and have it go off when any one of them is tripped for a particular project as the subject could come across the beams at any point in a given height range.

Looking at multiplexers and PISO shift registers like the 165, 4051 and 4067.

How quick it'll be to respond then I don't know, but will be testing. Whether I used a multiplexer or went straight into the Arduino's pins, I don't think it wouldn matter, I'd still have to check each of the pins one at a time. It'd slow detection speed down by 1/6th or 1/8th (depending on how many sensors I hooked up). But, that may still be fast enough. Only one way to find out. :)
 
Last edited:
Looking at multiplexers and PISO shift registers like the 165, 4051 and 4067.

How quick it'll be to respond then I don't know, but will be testing. Whether I used a multiplexer or went straight into the Arduino's pins, I don't think it wouldn matter, I'd still have to check each of the pins one at a time. It'd slow detection speed down by 1/6th or 1/8th (depending on how many sensors I hooked up). But, that may still be fast enough. Only one way to find out. :)

As (presumably) you don't care which one triggered why not use open collector triggers on a single interrupt line.
 
As (presumably) you don't care which one triggered why not use open collector triggers on a single interrupt line.

I thought about using an OR or AND gate, but even though it doesn't matter which one triggers the event (that is to say, it's the same result regardless of which one triggers it), it would be nice to be able to identify which sensor triggered the event.

With the limited testing I've done at the moment I've been using 3 photoresistors, with appropriately sized resistors to make voltage dividers going into a 74HC14 to turn those variable voltage values into a logic high or low, then have those outputs going to 3 digital inputs on the Arduino, and it still seems to be pretty responsive.

Like with most things, there are many ways to skin a cat, and I've not played around with multiplexers and PISO shift registers before, so this gives me that opportunity. If it ends up not working the way I want, I'll try something else. :)
 
I'm glad you guys know all the technical jargon you're talking about :)

It's easy enough to pick up. I've been quite surprised how easy it's been to (re)learn all this stuff. Until a couple of months ago, I hadn't done any electronics of any kind for about 18 years. Before April, the last time I'd held a soldering iron was in high school. :)
 
Just spent the past couple of days researching with a look to making a controller for water drops. Cant believe I've not found your thread until now. Will put any ideas I have on hold in the meantime (basically because I'm a bit stoopid and probably wouldn't have got it working) until I see your outcome.
 
er - oh yes it does!
they're normally loitering just south of the board - you need to zoom out to see them

if you use the mouse scroll wheel to zoom, hold it over the opposite corner
it zooms centred on the mouse position

just thought - wonder if you've hit a "maximimum component count on free version" limit?

Eagle couldn't find the components! I restarted the computer and deleted the board files then recreated it and it was all working again.
 
Back
Top