Certainly -- I'm at pretty reduced capacity between wfh and wildfires,
so I can't provide proper documentation for them at the moment, but here
is what I have right now:
attached:
- nosepoke.stl - main body of nosepoke
- needle_holder.stl - mounts on back of nosepoke to hold an 18gauge needle for water delivery
- porthole_narrow.stl - mount to hold three nosepokes
-
ports_double_v2_annotated-01.png & ports_double_v2.rrb - PCB for
three nosepokes driven by ribbon connector. sorry dont have real
schematic for this, the .rrb is the file type used by ExpressPCB for
designing/ordering. Each circuitboard has two individual boards (split
along midline) that I dremel apart
- valve_board.pdf - board used to control valves
-
autopilot_default_pinout.pdf - pinout to show connections for basic 3
poke system on a single pi, 24pin connector corresponds to that of the
port circuitboard
- autopilot_electronics_bom.xlsx - parts list for basic electronics components
My
designs decouple the valve from the nosepoke because they make an
audible click which isn't suitable for auditory work. The assembly of
the nosepoke is pretty simple, just needs a drill and a soldering iron:
- insert
IR beambreak detector (part in bom) and LED into the nosepoke.stl part,
if you're using my tripoke PCB you just have to make sure orientation
matches the holes in the board.
- stack needle holder on top of beambreak detector with center part facing to the rear.
- snap nosepoke into porthole
- solder resistors and ribbon connector onto pcb (see annotated board)
- push leads from ir beambreak sensor and LED through board, screw board into place from back through nosepokes, solder points.
- drill
hole through needle holder & center of IR-beambreak, dremel tip of
18g needle smooth, poke through hole (holds relatively well w/ friction
but can glue if needed).
So I don't have
one of those 'exploded parts' diagram but from front to back it goes
Nosepoke > Beambreak & LED > Needle Holder > Porthole >
PCB.
If you wanted to have independent nosepokes it would be
pretty straightfoward, I'd recommend making a breakout board to split
out the 3.3v, 5v, and grounds to a few >=7-pin connectors (RJ-type or
molex maybe?), you might just take my board and terminate the points
for a jack instead of for mounting on back of pokes. I have found having
the RGB LEDs in each poke very useful for behavioral shaping -- for
signaling active ports/different phases of a task/etc. -- but if you
don't need them then you only need 5v, ground and a GPIO pin. The back
porthole mounting plate isn't necessary, you can just mount through
whatever panel you're using for the arena.
I'm assuming you
would want each of the 12 speakers to be independent, which is totally
doable. If you want to use the hifiberry amp 2 which I have been using
you'll need >=6 Pis, and we'll need to modify the sound server
slightly to allow sounds to be played through the left or right channel
(shouldnt be hard). Since the agent framework for combining multiple
pilots is very freeform i'd be happy to help with writing the task,
would also be a good opportunity to think about how that api should
work. If you let me know more about the task design I can consult
further :)
I can't go to the lab and for some reason can't find
pictures of the most recent design, but here are some old pictures that
are very similar to the current design (except that the needle holders
now mount below the circuitboard rather than above it) -- ignore my
shitty soldering and printing, this one was an early draft.


And
here is how the valves are rigged, very simple circuit on a prototyping
board with some Lee valves & a button for manual opening.
Positioned across from a manifold that splits water line -- we have 10
boxes running from a common gravity-fed reservoir that keeps a constant
level (same principle as those self-filling pet watering bowls with an
upside down water bottle/reservoir) and since each valve needs to be
calibrated anyway it's just easier than having a million different
reservoirs with variable levels that need to be filled...
