Lecture37_Signal_Processing_I_Optical_Sensing

Demonstrate your work during the class to get the credit. If you can't get it done, you still have a chance to work it in the next class or you can checkout a board to work on it afterwards. 

In this lecture, you will use a photodiode to collect optical events and convert the optical signal into voltages. You will use Arduino to collect the voltages and process the data to publishable quality. 

Use a 10 k resistor, a photodiode, and an Arduino board to connect the circuit like the following:

   

Use the serial communication function to collect optical events. The optical pulses can be created by the flash light of your phone. Make sure that the 'Longer pin' of the photodiode is connected to '5V'. The circuit is working in this way: The photodiode won't be conductive if there is no light shines on it. Stronger light will create stronger photo current in the photodoide. When there is no photo current in the photodoide (you move your flash light away from the photodoide), there is no current flow in the circuit, so there is no voltage drop across the resistor. In this case, A0's voltage will be GND, 0V. When the flash light shines on the photodiode, the voltage potential will be pulled up to 5V. 



An example figure shows the optical events in Matlab:


Tasks:
1. Collect your optical events and save the data on your hard drive. (25 points)
2. Plot the data. Convert the X and Y axis to the correct time/voltage labels.
(25 points)
3. Use the peak detection method to label the 'real peaks' and count the number of peaks in your data. (25 points)
4. Modify the figure title/frame/line width/font size/marker size/labels to make it looks presentable. (25 points)