My name is Jake Robbins and I have been working behind the scenes here at Backyard Brains this summer as a lab tech. I recently graduated from Novi High School, and will be attending Michigan State University this fall. My job at Backyard Brains has mostly consisted of working on much of the software coding involved in the intern’s experiments.
As the summer started off, I was working almost exclusively with Marta and her circadian rhythm project, learning how to use the arduino to spy on her test subjects around the clock. We tried all kinds of sensors in the cockroach bin to detect their motion over night. PIR motion sensors weren’t sensitive enough to detect the cockroaches and IR emitter/detectors weren’t practical due to high amounts of data analysis that would be required. When we first tried using an IR reflective sensor with a hamster wheel, it couldn’t detect much motion, but when we painted white stripes around the outside of the wheel, we finally were able to tell when the cockroach was and wasn’t moving.
In order to make sure the experiment was going smoothly, I also coded for other sensors inside the cockroach’s environment that keep an eye on Marta’s controlled variables. The ambient light sensor makes sure that the lights are turning on and off at the proper times, and the temperature sensor helps us monitor the roach’s environment so we can keep things consistent. For good measure, I programmed an LCD screen to display the live values that each of the internal sensors was displaying, but we ended up scrapping that idea, because the LCD screen ended up significantly slowing down the code for the sensors, which need to be very quick and precise in order to properly detect the cockroach’s activity.
More recently, I have been working with Cort on his optogenetics project, making an LED that can blink at a very closely specified frequency, pulse width, and duration. The code for that was easy—it was literally just making an LED blink. But if Cort wanted to change the values for the frequency, pulse width, or duration, the code on the arduino would have to be changed each time. To address this, I set out to design a graphical user interface using another LCD screen that he could use to adjust the values to his liking.
The GUI turned out to be a bigger project than I had anticipated. The first draft of the code alone took several days to write up, and when I thought I had finally finished it, it didn’t work properly, much to my disappointment.
But finally, yesterday, with the help of Alex Hatch, I was able to fix the bug that was stopping the frequency and duration values from displaying on the screen, and BYB’s first GUI worked beautifully. We hooked the LCD display up to Cort’s contraption and he can now adjust the frequency, pulse width, and duration with the precision of a millisecond.
Meanwhile, Cort had been breeding his fruit flies, and they were finally ready for experimentation yesterday, so the timing of this LCD display couldn’t have been any better. He plans to begin his experiments today, and so he will have data to show off tomorrow. This is an exciting time for Cort and the rest of the BYB interns, because the data is finally starting to pour in. I’m excited to continue helping the interns with their projects throughout the next few weeks – I didn’t think I’d be accomplishing this much so fast, it definitely beats my other part time job!