Image

Schematic for mini-stimulator unit

mouse_stimulator                   overlay_bb

I designed an Arduino-based stimulus device to present visual cues to a mouse undergoing an imaging experiment. The unit features the following:
1) TTL output to trigger image acquisition at trial start
2) user push button to pause experiment
3) stimulus brightness adjustable in code via digital potentiometer
4) LCD displays status of experiment

Next up: code including I2C control of digital pot.

Image

Tomatoes and cucumbers in the ground

Tomatoes in the ground

While enjoying the cool evening air, I was inspired to create a wall of green along one side of the patio. The challenge here is that the wall is brick and there is not an obvious way of attaching shelving or other structures to it.

One possibility is to hang a dowel out the upper windows that look down upon the patio. I could then string a support between the dowel and the railing, from which to hang plants. Seems like a lot of effort for a rental, but would probably be rewarding in the end!

NetBeans for Arduino development

Tired of the limited Arduino stock IDE, I decided to explore more sophisticated options.

NetBeans 7.3 seemed to have a good blend of advanced features and approachability, and I found some documentation for an Arduino plugin: http://plugins.netbeans.org/plugin/46054/arduino

The instructions were clear and helpful up until the makefile configuration (note that the Path system variable can have multiple paths separated by semi-colons, e.g., “c:\programs\arduino-1.0.3\hardware\tools\avr\bin;c:\programs\arduino-1.0.3\hardware\tools\avr\utils\bin;c:\programs\GnuWin32\bin;”). Here, the author assumes previous experience messing with makefiles. So here are my hard-earned lessons over the last couple of days:

1) The COM port, Arduino base directory, model, and baud rate must be manually configured.

2) Including libraries other than Arduino.h, or those that are defined within the project, must be addressed by uncommenting the corresponding section in the build definitions. For example:

# LiquidCrystal:
${CMD_AVR_GPP} ${ARDUINO_LIB_DIR}/LiquidCrystal/LiquidCrystal.cpp -o lib/LiquidCrystal.cpp.o
${CMD_AVR_AR} lib/LiquidCrystal.cpp.o

Without doing these steps, compiling individual files is possible (indeed, right-clicking to navigate to the declaration works just fine for external libraries), but the linked build will fail.