The previous week ( From Monday 23rd to Sunday, 29th June 2014) we could setup some new experiments to study the phenomena of Friction and sound.
Submitted the midterm evaluation on June 25th. On 28th midnight at 12.45 am…..got the happiest news that I have successfully passed the Google Summer of Code 2014 – Midterm Evaluation….. awesome moment I was waiting for….. Thanks a million to my mentors for all the guidance, help and encouragement.
Also received message from Payoneer that they have processed my GSoC payment. Now I can order some equipments Like Audio Frequency Oscilloscope and amplifiers for my Project. These equipments will help me to try the experiments and achieve the same with ExpEYES later.
Things We Could Do….
- Setup an experiment to obtain Lissajous Figures using Square waves with various values of phase difference. Repeated the experiment with sine waves. Phase difference can be added with a capacitor and resistor circuit.
- Started working on an experimental setup to produce these pattern in 3 Dimensions using Laser and Speakers.
- Submitted the midterm evaluation report.
- Completed the set-up of a mechanics experiment to study conservation of momentum. Wrote python code to get the data.
- Designed an instrument using a pulley and a photo-gate to measure acceleration. ( thanks to open educational resources for the idea..)This can be used for different experiments involving friction.
- In an experiment to study oscillations of a loaded spring, we could obtain position time data and plot graph.To determine the spring constant of the given spiral spring we need to measure frequency and time periodic time.I could get this done by fitting the data by using a python code.
- Set-up for demonstration of Doppler effect is ready. I used A buzzer attached to a spiral spring and made it oscillate in-front of the mic.
- Prepared the experimental set-up For Doppler Effect. I have used the linear air track and fixed the source of sound on the glider. the emitted sound waves can be detected by a microphone fixed in ExpEYES. We can determine the original frequency of the source using ExpEYES and then the source is set in to motion and again frequency is determined. A photo-gate is used to measure the speed of the source.
Things To Do Next Week….
- GUI for experiments with Friction
- GUI for Doppler Effect
- Documentation for all these Experiments
- Python Code for a separate GUI for Plotting data from all channels of ExpEYES.
This week ( From Monday 9th to Sunday, 15th June 2014) we really accelerated working with experiments and coding.
Constant encouragement and guidance from my mentors, Mario Behling and Dr. Ajith Kumar really helped me to keep going.
What We Could Do….
- Attempted to use two Ultrasonic sensors simultaneously to detect position. Used two srf05 modules to plot graphs. Both the graphs were out of phase as expected. This is very much useful for momentum transfer experiments involving collision. Uploaded the code to Github Repo.
- Explored different methods of determining velocity and acceleration. Used the same set up of linear track in inclined position at about 45 degrees. Allowed vehicle to glide downwards and plotted position-time graph. Got straight line with positive slope as expected. For this used SRF05 module.
- Then used photo-gate with ExpEYES kit and could make time measurements.
- Designed a pickup device for use with photogate. ( Thanks to Open Educational Resources on the web)
- This can generate a square wave as it passes through photogate. Acceleration can be determined using the signal generated. Excited to see its working. Some proprietary closed source devices use this method……….( of course they come at a very high cost price). This will result in a very low cost setup
- This is the photo gate used. (photo from www.expeyes.in)
- Modified the photo-gate design so that it will be easy to use with linear air track set-up.
- Today tried to measure acceleration due to gravity using motion of glider on an inclined plane. Used the pickup i designed yesterday and photo-gate to measure acceleration. The results are very good and are in close agreement with theoretical calculations. For motion on an incline acceleration along the inclined plane is g’ = g sin(theta) where (theta) is the angle on inclination. wrote a small python code using time measurement functions of ExpEYES library.
- Used these time measurement functions:
- p.multi_r2rtime(3) # time for 1 cycle
- p.multi_r2rtime(3,2) #time for 4 cycles, 2 rising edges are skipped
- Now we can do the acceleration due to gravity measurement with two different methods
- By using motion sensor …. the data is recorded with uniform time intervals.
- By using Photo-gates …… the time intervals are not uniform. time taken for traveling different distances can be measured and data can be used to calculate acceleration.
- Worked on plotting 2D graphs using ‘matplotlib’ library. Matplotlib is a python 2D plotting library which produces publication quality figures in a variety of formats and interactive environments across platforms. I found it to be a very powerful tool for teaching and learning physics. Wrote code for plotting different graphs useful for mechanics experiments. Here are some screen shots….
- Data ( time and position) obtained from Ultrasonic sensor is stored in a file srf.dat and then plotted. I just moved a piece of paper to and fro, in-front of the sensor. Plot is reasonably good. In another trial fetched data from the file and plotted….matplotlib is amazing …
- Tried plotting Lissajous figures…..this code will be useful for my sound experiments……beautiful yet simple….its python…
- Numerical Differentiation for calculation in mechanics
- Acceleration Graphs are scattered and lack accuracy in measurement.
- Calculation of acceleration using Photo-gate and pickup device
To Do Next Week
- Coming week I will be focusing giving finishing touch to the individual experiments….
- Documentation with experimental procedure for the experiments developed
- Taking Photos/Videos of set up and also upload screen shots.
- Develop code to Access all the experiments through single GUI
- Finalize the codes for individual experiments on Github
- Prepare for mid-term evaluation
here is my git activity for this week https://github.com/wavicles/Plugins-for-ExpEYES/commits/master
Third week of coding was very much productive.
We could plot position -time and velocity-time graphs using the time and position data obtained from SRF 05 Sensor. I just moved a notebook in-front of the sensor, up and down and could plot position against time . But the plots were little noisy and giving unusable estimates of the acceleration.
Therefore I had to spend time to understand some filtering techniques. Google Search led me to the Kalman filter which is is a mathematical method that uses noisy measurements observed over time to produce values that tend to be closer to the true values of the measurements and their associated calculated values. With the inputs from my colleagues at FOSSASIA I could gather some good information about filtering techniques.
Experiment with Spring oscillations is also set up and could generate plots. GUI needs to be created for this experiment.
For experiments with Sound related phenomena we used two microHope boards to convert square wave into a sine wave. Wrote programs for two sound experiments. For reference, Used programs written by Dr. Ajith Kumar, the inventor of ExpEYES.
Tried the experiments with square waves SQR1 and SQR2 from ExpEyes kit. We are also working on preparing a stand alone board which can give variable frequency sine waves. This will be useful in experiments like interference of sound, phenomena of beats and Lissajous figures.Uploaded these programs to Git repo.
This weeks work in points
- Written python Codes for following mechanics experiments
- Study of One dimensional motion by plotting Position Time Graph
- Study of phase relation in graphs using two sensors.
- Plotting velocity-time and acceleration-time graph.
- Code to use Two sensors simultaneously is ready to be tested tested. Used SQR1 and IN1 channels for accessing the second sensor.
- Experimental set up to determine Spring Constant by method of oscillations is ready. Tested the code.
- Set up for producing sine waves from square waves is ready. Using two MicroHope kits. We are working on a stand alone kit which can produce two variable sine waves.
- Tried some filtering techniques for plotting smooth acceleration graphs.
To Do Next Week
- Set up experiments involving collisions
- Set-up experiment to determine acceleration due to gravity by motion on incline.
- Write code for using photo-gates for determination of speed and acceleration.
- Write code for plotting multiple graphs on a screen.
- Main Focus Next week will be on completing documents on experimental procedures and uploading them on Gtt.
Last week I spent most of my time reading documentation and tutorials on Git. Now little confident of my Git repository work.
After having many trials and failed attempts of plotting acceleration graphs, yesterday got it working. feeling happy….
Now this program can be used in many experiments in mechanics. Spring oscillations experiment is also ready.
Need to polish the programs add user friendly details on the GUI. It will be a good idea If I can add schematic experimental setup on the GUI itself. It will help students to explore these experiments on their own.
This weeks work in points
- Got the linear air track polished . problem of friction is partially solved.
- Code to plot position time graph is completely ready. Need to add comments and commit on GITHUB.
- First success with acceleration time graph. Need to work on GUI
- Designed three new experiments with sound waves by manual methods.
- We need TWO sine wave generators. Ajith Sir has promised to help with the electronic design. Right now could get sine waves fro microcontroller board connected to expeyes. ( the code is from Kishore A)
- Need to write detailed reports and daily commits.
Next week I must work more on the repository.
Here is the link