Weeks 5 & 6

Week Five:

This week saw exciting progress in the lab. The parts needed for the band-pass filters finally arrived, so Lily and I got to work building the high band-pass filter. After a lot of fiddling, we finished the circuit. We spent the rest of the time in lab testing it, a task that proved more difficult than we expected. After struggling to get code working on the PC, we realized that for some reason the Arduino was not connecting properly to the computer. When we used my laptop instead, the code worked perfectly. Since the optical chopper could not create frequencies low enough, I wrote code for the Arduino that turned an analog pin on high then turned it off, thus creating a known frequency. We passed the pulse through the HBF and read it using the oscilloscope. The HBF was designed to allow frequencies above 0.5 Hz through. When we tested various frequencies, the graph appeared to flatten out at very low frequencies, and displayed a square graph with slight distortion at frequencies close to but above 1Hz. At the time, this seemed very promising.

However, the next day in lab, I discovered that the Arduino is incapable of producing frequencies below 1 Hz. I researched ways around it in hopes of finding a simple solution, and tried different things to make it work. I discovered that there are two ways of doing it, but both have significant drawbacks and did not seem worth it. Professor Magnes said I could buy a frequency controller, which would make testing much easier. Until it arrives, we won’t know if the HBF is working or not.


Week Six:

Today in lab, Lily and I met and talked about the project. We found a frequency generator online to buy. Since we couldn’t test the HBF without it, we decided to work on getting the Arduino to graph. I talked to Lily about the different options I had found, their pros and cons, and some of what would be necessary to create them. Right now, there is a very basic graphing function through Processing. It is possible I could edit the code to add axes and be able to save the data. A second option is trying to get the graphing code from last semester to work again, and get rid of all the bugs. The third option used the Control Panel and produced higher quality graphs, but would only work on PCs. I showed her this software, and she started researching how to use it. We also discussed the possibility of using Matlab or Logger Pro. A preliminary online search made the prospect of real-time graphing seem unlikely in Logger Pro. However, Lily found some information on graphing in real-time using Matlab, which seems our best option as of right now. After spring break, we plan to explore this option further, and talk to Magnes about the types of programs that she would prefer.

Weeks 3 & 4

Week three:

This week, I began to build the high band-pass filter based on the online instructions I found last semester. I calculated the resistor and capacitor values I would need for the desired passing frequency range of 0.5-4.0 Hz and assembled a list of parts I still need and set to work building what I could of the circuit. I will not know if it works until I have all the required components, but it was a really good start.

After talking to Professor Magnes about the goals and requirements for the project, I got to work finding all the additional parts I would need. She wanted the device to be small, inexpensive, and portable so it could be used in a classroom setting or out in the field. This meant that I needed to find a way to store large quantities of data with the Arduino using an external hardrive. I found a data-logging shield that saves Arduino data to an SD card for this purpose. I also found a portable power supply, and a cable that connects the Arduino to an iPhone, iPad or iPod touch that could potentially provide a cool alternative to data storing.

Finally, I looked into light sensors that are Arduino-compatible. Most were variations on the same, tiny sensor we already have in the lab, so I decided to test if it could handle the laser light. According to the product specs, it should be able to. Sure enough, when I hooked it up to the Arduino and shone the blue laser light directly on in from a very close proximity, the sensor values were not at the maximum. It is likely that this simple sensor will be sufficient for our purposes.


Week Four:

Since the parts I needed to create the band-pass filter had not yet arrived, I spent this week working on graphing with the Arduino and catching up on the blog posts. Although the code from first semester is still giving a lot of trouble, I found an Instructables about real-time graphing with Arduino that seems promising. It uses the software Bridge Control Panel, which was released as part of Cypress Semiconductor’s PSOC Programming Utilities. After downloading it on my computer, I discovered it only works on PCs. I downloaded it on the PC in lab, but as of yet have not been able to get it to work. Unfortunately, the Instructables does not give instructions on how to actually use the software. I will have to look more into this as a graphing option or find another way.


Link to the Instructables: http://www.instructables.com/id/Plotting-Data-From-Arduino/

Weeks 1 & 2

For this first week, Magnes instructed me to just write a summary of last semester. During the second week, I worked on setting everything I worked on last semester back up. This included rewiring Arduino circuits and testing the code. I took pictures of the setup and of some of the code for my summary. All of a sudden, the Arduino graphing code stopped working. I spent the rest of the week trying to debug the code. I also met with Lily Frye, the new lab intern, and got her caught up to speed. I explained what we have been doing, where we are in the project, and the type of things she could help out with. I gave her the Arduino project book Bryan and I used last year to learn how to use the device so she could get started. Overall, it was a good week. It’s nice to get back in the swing of things.

Summary of Research from Last Semester

The first week in the lab mostly just involved getting acquainted with the equipment since no worms were available. I watched a laser safety video online so I could properly handle the lasers. They are all fairly safe, although goggles should be worn when using the blue laser to protect against eye damage. Goggles are not needed when handling the Helium-Neon red laser. The table was already set-up by the time I joined the team, but Bryan explained the arrangement to me. A pinhole, beam-splitter, mirrors, optical chopper, and slide holder are used. The table was setup so either laser could be used without having to move it each time. Bryan told me get acquainted with the lasers and Picoscope software by placing small objects, such as strands of hair, in a slide and shining the laser through it. He also showed me how to use the Picoscope software to record data. I practiced this a few times. I also researched the project we were working on by reading about diffraction patterns, Professor Magnes’ research, and by reading the project blog.

Later on, I got to work with live worms. Bryan showed me how to take one from a petri dish using a microscope, suspend it in a cuvette filled with water, and record data by shining the laser light through it. It was sometimes surprisingly challenging to catch a worm, but also kind of fun. I quickly learned how to keep the worm in the laser light. If it moved out of the light, the Picoscope graph would flat line. The Picoscope graphs the voltage induced by the diffracted light hitting a photosensor.

Soon after, Bryan told me about a side project Professor Magnes asked him to work on. When I showed interest, he asked if I wanted to work on it with him. Our goal is to program an Arduino to collect the diffraction pattern data caused by the C. Ellegans movement and output the thrashing frequency. We started by buying an Arduino starter kit, which came with a lot of useful supplies including resistors, breadboards, an Arduino, buttons, and a project book. I worked with Arduinos a little during the first semester of my senior year of high school, so I was excited to use them again. We started by reading the project book and trying projects to become acquainted with the Arduino and learn how to use it. I began with the basics: setting up an LED and getting it to blink, which was very easy. I then moved on to more complex projects. Bryan created a “crystal ball” that wrote yes/no responses on an LCD when the Arduino was tilted. He was having trouble getting it to work, but I managed to find a problem with how he wired it.

He thought LCD screens might come in handy, so I did a little research on how to program and use them. I found a light meter project online, which measured the levels of light in the room using a photosensor and displayed the percent brightness on an LCD screen. It seemed like it might teach me skills that could be useful for the project so I decided to build it. However, the code used functions that were not compatible with the Arduino and LCD I was using. Nonetheless, it provided a useful, general outline to work from. I was able to write my own code and use my newfound LCD knowledge to program the light sensor.

Next I moved on to learning to output graphs with the Arduino, another potentially useful tool. I used Processing, an open source programming language and development environment that is compatible with Arduinos. I found instructions for graphing Arduino serial monitor data using Processing on the Arduino site, and successfully graphed data collected from the light sensor in real time. However, I was not satisfied with the graph because it had no axes or scale. I found a more complex graphing code online, and got it to work. I edited the code to have more informative y-axes, which represented voltage, and added x-axes for time.

For some reason, the newer photosensor was not working properly with the Arduino. Bryan gave me the task of trying to fix it. I hooked the photosensor up to analog pin 0 on the Arduino, and sent the data it received to the serial monitor. Then I shone the laser light through the optical chopper and observed the values in the serial monitor. I noticed that it actually was working, but was producing only a very small change in voltage. When I graphed this, it showed a standard square graph, as expected. I messed around with the Arduino code trying to make the voltage difference larger, but I was not convinced that was the right solution. This would not improve the connection between the Arduino and photosensor or give more accurate results. I did not make much more progress on this front since I ran out of time, although it did seem to be working fairly well. I did some testing to see how accurate it was. At very high frequencies, the Arduino and graphing code had some trouble keeping up, but for our purposes it should work fine.

Bryan’s initial idea for the Arduino project was to use Fourier transforms. However, we quickly moved on to RLC circuits. I researched both of these concepts since I was unfamiliar with them. Bryan was having trouble successfully making an RLC circuit and spoke with someone in the Physics department about it. Apparently, RLC circuits are great in theory, but a little difficult to get to work in reality. We were unable to solve this problem last semester. I did a little research over the break, and my current idea is to either buy or build a band-pass filter. I could not find one online that allowed low enough frequencies through, but plan on searching more in depth when I get back to the laboratory next week. If that fails, I found an Instructables post about making one that looked promising, and I will attempt to make one myself.

Link to instructables post: http://www.instructables.com/id/Active-Band-Pass-Filters/?ALLSTEPS

Social Widgets powered by AB-WebLog.com.