GSoC Weekly Report 10

( From Monday 21st July 2014 to Sunday, 27th July 2014)

I am happy with the work that I could do this week. Planning and basic set-up of almost all planned experiments for my GSoC project is complete. Gathered the required apparatus and set-ups are ready. Still some work on python programs for these experiments and documentation is to be done. In another week I will be able do complete the work. Then I can focus on polishing the code and finalizing everything.

Things we could do this week…..

• Completed python program for using photo-gates for time measurements in various experiments. ( Some issues like timeout error are to be solved)
• Started working on an interesting experiment of Helmholtz Resonator.
• Wrote a python program to  digitize sound resulted from different resonators. With this program it is possible to change the frequency of source and when it matches with the natural frequency of resonator, a loud sound is produced. Tested the code with a bottle ( which resonates at about 200 Hz) and  a test tube (which resonates at about 450 Hz).
• Python program ( srf3.py) to fetch data from srf module  and plot graphs needed some modifications to plot velocity and acceleration graphs. Now the basic program is complete and plots position, velocity and acceleration. Velocity is calculated using numerical differentiation and acceleration is calculated as the second derivative of position with numerical methods. Wrote following code for velocity and acceleration. Committed the entire program to GIT Repo.
• In most of the mechanics experiments we are trying to plot multiple graphs ( position, velocity and acceleration or kinetic energy and potential energy etc.)  in one figure. In the figure the axis labels of two graphs are overlapping. These labels should have some spacing between them. Studied different functions available in python. I found tight-layout() function from matplotlib to be very easy and useful. Sometimes it can happen that axis labels or titles (or sometimes even ticklabels) go outside the figure area, and are thus clipped. tight_layout() can prevent this and also adjust spacing between subplots to minimize the overlaps.
• The experiments of resonator and resonance tube are generally performed with tuning forks. Since tuning fork produces very low intensity sound, it is not clearly audible and the frequency is fixed. therefore the length of the resonance pipe must be changed to adjust with the frequency of tuning fork. We used a speaker connected to SQR1 of ExpEYES. frequency of SQR1 can be varied till we get sound of resonance. a wide range of frequencies is available from ExpEYES therefore it is easy to do this experiment with various sizes of tubes and resonators. We used a mic to study the amplitude. Wrote a python program to change frequency of SQR1 and to plot the frequency v/s amplitude graph. The program for frequency response study of pizzo buzzer was already available. Just made few modifications required for this experiment. I did experimental trials with a measuring flask, plastic pipe, conical flask and a round bottom flask.  Resonant frequency is between 300Hz to 750 Hz which varies with length of tube and volume of resonator.

Difficulties faced and things TO DO next week….

• I am working on smoothing the graphs using filtering techniques. Wrote a program using Savitzky-Golay filtering ( From this source). I could remove all the errors in the program but not getting the plots. Need to work on it.
• Ultrasonic sensor giving time-out error when used with get-echo program with SQR2 and IN1. It is working fine with SQR1 and SEN. Need to solve this issue.
• Need to write a separate GUI for time, Speed and acceleration measurements using Photo-gates.
• Complete Coupled pendula experimental set-up and python program.
• Continue working on documentation.

Plugins for ExpEYES – An Open Source Portable Science Lab

This is the official description of my GSoC Project

Project Title: Plugins for ExpEYES – An Open Source Portable Science Lab

Mentor Organization: FOSSASIA

Assigned mentors: Phuc Hau, Hong Phuc

Short description: ExpEYES ( Experiments for Young Engineers and Scientists) is an Open Hardware and Free Software framework for developing science experiments and classroom demonstrations. This project will work on developing a set of plug-ins for ExpEYES. These plug-ins with GUI’s will enhance the scope of ExpEYES for using it to perform several experiments in mechanics, sound and waves. Project will also focus on adding features for using acoustic and motion sensors for various science experiments.

Details of the Project:

ExpEYES ( Experiments for Young Engineers and Scientists) is an Open Hardware and Free Software framework for developing science experiments, classroom demonstrations and projects. It also functions as a test equipment for electronics hobbyists and engineering students.

ExpEYES is portable, expandable and affordable, supporting wide range of experiments from high school to post graduate level.  It combines the real-time measurement capability of micro-controllers with the ease and flexibility  of Python programming language for data analysis and visualization.

With the objectives of developing  affordable laboratory equipment and training science  teachers, ExpEYES  is from the PHOENIX ((Physics with Home-made Equipment and Innovative Experiments)  project of Inter-University Accelerator Centre, New Delhi.   It converts your PC into a portable science laboratory.

The GUI programs are available for various experiments. This project will work on developing a set of plug-ins  for  ExpEYES.  These plug-ins with GUI’s will enhance the scope of ExpEYES for using it to perform several experiments in mechanics, sound  and waves.   Project will also focus on adding features for using acoustic and motion sensors for various science experiments.

The main intention behind this project is to provide students  an affordable hands-on experience which will give them a deeper understanding of graphing and interpreting motion graphs.  The ability to capture real-time graphs offers the important benefit for students to better visualize the associated phenomena and develop a deeper understanding of it.

Python modules like Scipy, Matplotlib and Tkinter will be used.

Details of plugins to be developed

Plugins for Motion Graphs (Mechanics Experiments)

These plugins will focus on providing a graphing app, which can engage students with a hands-on experience that is centered on various aspects of motion. With the use of motion sensor and photo-gates,  ExpEYES can be used to accurately measure position, velocity, and acceleration of a target. The data can be collected in real time and various motion graphs can be plotted.

The mechanics plugins are intended to provide following applications/experiments…

• App to build a basic understanding of position, velocity, acceleration and slope/rate of change
• One dimensional motion experiments
• Newton’s Laws of motion
• Free fall and value of ‘g’
• Experiments involving oscillatory motion
• Conservation of mechanical energy
• Momentum and collisions  etc…

Plugins for  Sound wave forms ( Sound experiments)

These plugins  are intended to add features for using acoustic sensors with ExpEYES, with the focus on engaging students by allowing them to generate, hear, see and manipulate sound waves. This will enable the use of ExpEYES for many experiments with sound and waves.

The sound and waves plugins are intended to provide following applications/experiments…

• App to build a basic understanding of amplitude, frequency, tones, harmonics etc…..
• Experiment to analyze various common sounds by plotting waveforms
• Study phenomena of beats
• Speed of sound in various materials
• Doppler effect  etc…

After GSoC

I will be working on the development of new science experiments and will be involved  in providing training programs to science teachers and students. I will also be volunteering to promote use of ExpEYES and other open source hardware and software tools in education, so that affordable open source tools can  made available to the students of the developing world and help them learn better.

It’s going to be a great summer

“Congratulations! You have been accepted into Google Summer of Code 2014″

Welcome to GSoC 2014! It’s going to be a great summer.

At 12:30 AM toady received mails from Google-melange with these subject lines………..  It was difficult to believe that I could make it to GSoC-2014…..feeling great……such a proud and  an awesome moment.

Thanks to    & Phuc Hau   ( my amazing mentors for GSoC) for this great learning opportunity.

The best thing that has happened to me this year was my participation in FOSSASIA @ Phnom Penh , Cambodia. It was Mario who gave me that opportunity and all the support to make it to FOSSASIA 2014.

It was an  amazing learning experience to be with Mario, Hong Phuc, Gnokii, Kushal Das, Tuan and many other FOSS developers and Volunteers. During our interactions Mario  inspired and encouraged me to keep working on ExpEYES and develop new experiments.  He introduced me to GSoC and encouraged me to apply for it. I am very grateful to  Mario Behling for believing in me.

Today in the morning I wrote to Mario  seeking his guidance for my first steps with GSoC. This opportunity means a lot to me and I am determined to work hard to complete the project with positive and best possible results .

Happy to see eight other projects accepted in GSoC from FOSSASIA. Congratulations and all the best guys……..