FOSSASIA PSLab, GSoC-16 : Mid Term Report

I feel lucky and proud to be one among very few who get this rare opportunity of GSoC intern-ship for the third time. Thanks a billion to my source of inspiration and mentors Mario Behling and Hong Phuc Dang from FOSSASIA.

FOSSASIA has undertaken and is supporting many projects which have a potential of bringing a positive social change. ‘ExpEYES : Open Source Science Lab’ is one such project FOSSASIA is supporting since 2014. As a part of GSoC-14 and GSoC-15 we started actively developing Pocket Science Lab as  FOSSASIA’s  important project in the field of science education. The objective of this development was to make available the  most affordable, open source pocket  lab which can help  millions of students all over the world to  learn science by exploring and experimenting.

After FOSSASIA-2016 at Singapore, my mentor Mario gave  many new ideas/plans for making Fossasia Science Lab project more effective and to reach out to students in Asian region.  We started exploring possibilities of adding new tools/sensors and also  developing a new lab interface with higher capabilities to be added to FOSSASIA Science Lab.

On 23rd April 2016 the student projects were announced. I was extremely happy to see my name in the list. I was also excited to see Lorenz Gerber, with amazing profile in science research and Gi Soong Chi along with Mario Behling as my mentors.

Here is the link to details  my GSoC-16 project …….

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”5768018f684ba”][wmd-toggle-tab title=”Open Source Science Experiments & Data Acquisition System for Physics Education and Research with ExpEYES – Pocket Science Lab”]Pocket Science Lab at FOSSASIA aims to develop open source hardware %26 software technology to improve science education in the developing world. The main component of PSL is ExpEYES%2C an open source hardware and software framework for developing science experiments. %28http%3A%2F%2Fexpeyes.in%29%0D%0A%0D%0AThis proposal aims to develop open science experiments for various branches of Physics. It also aims to continue improvements in the work done during my GSoC-2015 project %E2%80%9CSensor Plug-ins%2C Add-on devices and GUI Improvements for ExpEYES%E2%80%9D %28https%3A%2F%2Fgoo.gl%2F2B2CNO%29. The sensor plug-ins developed during GSoC-2015 project will be used for designing new low-cost experimental set-ups.%0D%0A%0D%0AThe new development that will be undertaken is adding wireless node module for accessing sensors with PSL. This will enable PSL to fetch data from various sensors wirelessly and it will be useful in many experiments involving oscillatory and rotatory motions. Development of low cost modules for characterization in Physics research for example – study of sound and light absorption%2C measurement of thermal conductivity etc%2C is yet another important feature of this project.%0D%0A[/wmd-toggle-tab][/wmd-toggle]

Immediately after the student project announcement I started working on the project and exploring the experiments that can be added to ExpEYES. My goal for this year’s project was to continue the work I had done during previous GSoC and to add new experiments to the ExpEYES library. I also started working on new lab interface.  Here is my work space, my GSoC Lab  🙂

kitchenlab1

Kitchen converted to GSoC-16 Lab 🙂 Linear Air track for mechanics experiments, super-critical dryer which uses PSLab for temperature control and monitoring with other instruments.

In the month of May-16, I spent few days at IUAC – Inter University Accelerator Centre, New Delhi, to work with Dr. Ajith Kumar ( Inventor of Expeyes). The time spent at IUAC was most useful as we got help and inputs from many people at IUAC and also the participant teachers of ExpEYES training programme. We designed some new experiments to be done with ExpEYES. Planned improvements in Mechanics experiments especially the experiments on linear air track. We also started working on the new lab interface . Thanks to Jithin B.P.   for helping us out with the hardware part. With the continuous collective efforts now we have a new lab interface  “PSLab : Pocket Science Lab from FOSSASIA

It was little too hectic time as I had to work for my PhD project and had to present my work before Research Review committee meetings in the last week of May and then got excessively busy with college admissions process. As a result I could not communicate much about the work I have been doing.

Here I am trying to give all the details of the equipment and the development done so far and the things planned for next couple of months…

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”5768026681211″][wmd-toggle-tab title=”PSLab : Pocket Science Lab from Fossasia”]Brand new open source lab interface for science and engineering experiments from FOSSASIA.[/wmd-toggle-tab][/wmd-toggle]

with fossasia logo stickerpslabopen psl2
Size of PSLab is 62mmx78mmx13mm. The front panel will be slightly different than the one in the picture. It will have little extra portion in the top right corner to accommodative 90 degree connector pins. something like this….
pslab
We will finalize the front panel design in a week and get the panels screen printed. The sample kits will be sent to my mentors for testing and suggestions 🙂

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”57682050c93a0″][wmd-toggle-tab title=” Main Features and GUI\’s developed”/][/wmd-toggle]

PSLab can function like an oscilloscope, data logger, waveform generator, frequency counter, programmable voltage source etc. It can be plugged in to USB port of PC or SBC’s like Raspberry Pi.

It has

  • 2 variable sine waves
  • 4 programmable  square wave generators
  • 3 programmable voltage sources
  • Programmable constant current source
  • 4 channels for fetching data
  • Sensor input
  • Berg Strip sockets

We are also working on to add wireless sensor interface. This will enable PSLab in accessing various sensors using wireless module.

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”57682f2aacbb3″][wmd-toggle-tab title=”PSLab Code repository , Installation and Communicating with PSLab”/][/wmd-toggle]

All the programs are written in Python. PyQt is used for GUI designing and Pyqtgraph is used for plotting library.

I have created two repositories  for PSLab

: This repo hosts the python library for PSLab (Communication Library depends on python, python-serial, python-numpy)

: GUI programs and templates for various experiments. (Depends on python-pyqtgraph (>=0.9.10), python-qt4 (>=4.10), ipython(>=1.2), ipython-qtconsole(>=1.2)

To Install PSLab in Gnu/Linux

Clone both the repositories fossasia-pslab-apps and fossasia-pslab

Now, cd into the directories , and run

sudo make clean
sudo make install

Now you can run Experiments.py from terminal

Without the device connected to the pc you will first get the following flash screen.

SplashNotConnected

After clicking OK you will get the control panel with menus for Experiments, Controls, Advanced Controls and Help… ( Help files are yet to be written)

controlPanelNotConnected

Once the device is connected to the PC and program Experiments.py is run from the terminal…. one will be able to get the following….

SplashScreen

PSLab Splash Screen

#TO Do … Design new splash screen with PSLab Logo/relevant image.

 

controlpanel

From this control panel one can access various experiments through independent GUI’s written for each experiment.

After installing the library, you may test it using simple Python programs. If you have python-matplotlib installed, run the code listed below

# connect sine1 to CH1
 
 from pylab import *
 from PSL import sciencelab
 p = sciencelab.connect(verbose = False)  
 p.set_gain('CH1', 3)           # set input CH1 to +/-4V range
 p.set_sine1(1000)              # generate 1kHz sine wave on output W1
 t,v1 = p.capture1('CH1', 1000, 10)    # digitize CH1 1000 times, with 10 usec interval
 plot(t, v1)
 show()
 

The output of this program is here ......
 sine-plot

sine plot

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”5768419680c0e”][wmd-toggle-tab title=”Various other functions with GUI\’s”/][/wmd-toggle]

Controls available with PSLab…. and various other GUI’s

sinewaveonoscilloscope

Sine wave generated using control Wave 1 and displayed using CH1

pslaboscilloscope

FOSSASIA PSLab Oscilloscope

 

advanced controls

Advanced Controls

 

logicanalyzer

FOSSASIA PSLab Logic Analyser

One of my favourite experiment Lissajous Figures has become so easy with PSLab…. 🙂

lissajous2

Lissa1

 

lissajous1

Lissa2

 

datastreaming

Data streaming

sensordataloger

Data Logger

squarewave

wirelesssensordataloger

GUI for wireless sensors …. TO DO

In addition to the above development work we also conducted  a few demonstration sessions in science and engineering colleges at Belgaum, India. The feedback from teachers and students in improving the kit  is really helpful in modifying the GUI’s for better user experience.

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”57682b0deed55″][wmd-toggle-tab title=”Plan for next two months…….”/][/wmd-toggle]

  • Add new experiments to PSLab
  • Complete Voltammetry module for ExpEYES
  • Complete Unified GUI for all  Mechanics Experiments using ExpEYES
  • Documentation for PSLab

We are  getting about 25 PSLab  kits ready in the first batch by the end of this month. Thanks to funding from GSoC-15 🙂 Need to work on the PSL@Fossasia website.

Next immediate plan is to get about 100kits ready  and update the website with all the information and user manuals before FOSSASIA-17. It will be a good idea to officially launch this tool during next FOSSASIA 🙂

I am also working on a plan to reach-out to  maximum number of science and engineering students who will definitely get benefit from PSLab 🙂

ExpEYES: FOSSASIA GSoC-15 Project Report

Today is the   “Firm Pencil Down Date ” of GSoC 2015.  We are getting to the end of  Google Summer of Code 2015….. An amazing journey with my mentors Mario Behling, Hong Phuc Dang and Andre Rebentisch at  FOSSASIA,  with some critical piece of knowledge or a new lesson to learn everyday….. This opportunity  indeed is the most important thing happened to me.

I really had a lot  of learning adventures with experimenting and exploring with new ideas to build sensor plug-ins for ExpEYES. There were some moments which were disappointing and there were some other moments which brought the joy of creating something new…

While doing my GSoC project work I have been closely observing the work done by my mentors especially Mario Behling and fellow GSoCers at Fossasia on projects like Loklak. Their continuous collaborative engagement and commitment to meet the deadlines and do quality work  has inspired me to keep going, in odd times and continue to work on Pocket Science Lab even after GSoC.

Here is a brief narration of things we could do and things planned for the near future……

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55d9f88f982ec”][wmd-toggle-tab title=” GSoC-15 Project: Sensor Plug-ins, Add-on devices and GUI Improvements for ExpEYES”]Organization%3A%20FOSSASIA%0D%0AMentors%3A%20Hong%20Phuc%2C%20Mario%20Behling%2C%20Rebentisch%0D%0AAbstract%3A%20%0D%0AExpEYES%20is%20an%20Open%20Source%20Pocket%20Science%20Lab%20for%20developing%20science%20experiments%2C%20classroom%20demonstrations%20and%20a%20test%20equipment%20for%20electronics%20hobbyists.%20This%20proposal%20aims%20to%20improve%20the%20GUI%5C%27s%2C%20add%20new%20Sensor%20Plug-ins%20to%20measure%20various%20parameters%20and%20to%20enhance%20the%20scope%20of%20ExpEYES%20for%20using%20it%20to%20perform%20several%20new%20experiments%20with%20low%20cost%20devices.%20Our%20aim%20is%20also%20to%20develop%20a%20low-cost%20stand%20alone%20data%20acquisition%20system%20that%20can%20be%20used%20for%20weather%20monitoring%20or%20environmental%20studies.%0D%0A[/wmd-toggle-tab][/wmd-toggle]

 The aim of my GSoC-2015 project is to develop  new Sensor Plug-ins for ExpEYES  to measure a variety of parameters like temperature, pressure, humidity, wind speed, acceleration, tilt angle, magnetic field etc. and provide low-cost, effective and open source laboratory equipment to students all over the world.

This development is intended to enhance the scope of ExpEYES for using it to perform several new experiments. Developing a low-cost stand alone data acquisition system that can be used for weather monitoring or environmental studies is another objective of our project.

I am happy to see that the things have taken good shape with additional gas sensors added which were not included in the initial plan and we have  almost achieved all the objectives of the project, except for some difficulties in calibrating sensor outputs and documentation. This issue will be solved in a couple of days.

In the beginning, during community bonding period, I started exploring and experimenting with different sensors. After doing preliminary studies I procured  analog and a few digital sensors for measuring weather parameters like temperature, relative humidity and  barometric pressure. A few other sensors like low cost piezoelectric sensor, accelerometer ADXL-335, Hall effect magnetic sensor, Gyro-module etc were also added to my GSoC laboratory.

After the mid-term we decided to add gas sensors  for detecting Carbon Monoxide, LPG and Methane. With this development ExpEYES can now be used for pollution monitoring and also in safety systems in Physics/chemistry laboratory. ( Work on low-cost Dust Sensor is under progress)

I had to spend a lot of time in getting the sensor components, studying their data sheets, soldering and setting them up with ExpEYES. And then little time in writing GUI Programs. After the mid-term, for two and a half week,  unfortunately I could not give time for my GSoC work. But after that I started working almost 8 to 10 hours every evening after college hours (sometimes whole night .. )  and now things have taken good shape. Thanks to my mentor for pushing me…..sometimes with strict words…..
I could add many new sensor plug-ins to ExpEYES and now I will also be working on  Light sensors so that the Pocket Science Lab can be used in optics. With these new sensor plug-ins  one can replace many costly devices from Physics, Chemistry, Biology and also Geology Lab.

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55d9f950d96ea”][wmd-toggle-tab title=”My GSoC Gallery of Sensors and Devices “]…..%20[/wmd-toggle-tab][/wmd-toggle]

Here is the gallery of all the sensors I played with for PSLab..

sensors-all

The complete list of sensor plug-ins developed is here….

Below are the highlights of the work done……the description of the sensors used, GUI’s designed the code written and the possible applications.

( Updated on 23rd August 2015)

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55d999a91d3cb”][wmd-toggle-tab title=”Accelerometer”]An%20accelerometer%20is%20a%20device%20that%20measures%20proper%20acceleration%20%28%22g-force%22%29.%20Proper%20acceleration%20is%20not%20the%20same%20as%20coordinate%20acceleration%20%28rate%20of%20change%20of%20velocity%29.%20For%20example%2C%20an%20accelerometer%20at%20rest%20on%20the%20surface%20of%20the%20Earth%20will%20measure%20an%20acceleration%20g%3D%209.81%20m%2Fs2%20straight%20upwards.%20By%20contrast%2C%20accelerometers%20in%20free%20fall%20orbiting%20and%20accelerating%20due%20to%20the%20gravity%20of%20Earth%20will%20measure%20zero.[/wmd-toggle-tab][/wmd-toggle]

Sensor Used:  ADXL-335

ADXL 335-GY-61 is a small, thin, low power, complete three-axis accelerometer voltage output through the signal conditioning at a minimum of full scale ± 3 g measurement range acceleration. It can measure the  acceleration of gravity, and movement, shock or vibration due to dynamic acceleration.
Calibration is done on the  optical bench (for perfect leveling)  from Laser-Physics Lab of University and could get zero-g, +1 g and -1 g values. this is an essential step for using accelerometer for any experiment. The GUI for accelerometer is now ready with good calibration.
ADXL-335

ADXL-335

ADXLwithExpEYES

ADXL-335 with ExpEYES

Three  programs are written in python. The Code is here…

  1. The GUI for plotting  acceleration for x,y and z axis in terms of ‘g’ in real time.
  2. Program for measuring tilt angle
  3. GUI for plotting Lissajous Figures using  accelerometer mounted on an oscillating system

This module is useful for in determination of acceleration, measuring tilt angle and  many mechanics experiments.

Accelerometer : sensor randomly moved to obtain plots

 

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55d9a2958c08d”][wmd-toggle-tab title=”Relative Humidity Sensor”]Relative%20humidity%20is%20an%20important%20metric%20used%20in%20weather%20forecasts%20and%20reports%2C%20as%20it%20is%20an%20indicator%20of%20the%20likelihood%20of%20precipitation%2C%20dew%2C%20or%20fog.%20In%20hot%20summer%20weather%2C%20a%20rise%20in%20relative%20humidity%20increases%20the%20apparent%20temperature%20to%20humans%20%28and%20other%20animals%29%20by%20hindering%20the%20evaporation%20of%20perspiration%20from%20the%20skin.%20%20Ref%3A%20wikipedia.org[/wmd-toggle-tab][/wmd-toggle]

Sensor Used:  HS-1101

HS1101 sensor consists of a capacitor which varies with relative humidity and is used in a 555 circuit to generate a pulse train of frequency related to relative humidity. The number of pulses over a one second period are counted and the RH is then calculated.

Based on a unique capacitive cell, this relative humidity sensor is designed for high volume, cost sensitive applications such as office automation, automotive cabin air control, home appliances, and industrial process control systems. They are also useful in all applications where humidity compensation is needed.

HS1101

Humidity sensor HS-1101

DHT-11

Humidity-Temperature Sensor DHT-11

 

( Tried some other humidity sensors including DHT-11. Tried DHT-11 with MicroHope and Raspberry-pi . HS-1101 is low-cost and found most suitable for ExpEYES)
Trials with HS1101 for measuring humidity are successful. Tried by three different methods:

  • Frequency output circuit using timer 555
  • Proportional voltage output circuit
  • Direct capacity measurement using ExpEYES

ExpEYES has ability to measure capacitance of the order of few pF. Therefore decided to to go for third method as it gives better accuracy.

The python program is written for calculating humidity from capacity measurement. This can be used for various other experiments. The GUI program enables user to plot capacity in pico-farad and relative humidity in % in real time. This module is also added to weather station GUI.  The Code is here…

Humidity: changed by blowing air by mouth and then by dryer

Humidity: changed by blowing air through mouth (humidity increases) and then by blowing hot air using dryer (humidity decreases)

 

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55d9b453979f0″][wmd-toggle-tab title=”Temperature Sensors”]Platinum%20resistance%20thermometers%20%28PRTs%29%20offer%20excellent%20accuracy%20over%20a%20wide%20temperature%20range%20%28from%20%E2%80%93200%20to%20%2B850%20%C2%B0C%29.%20Standard%20sensors%20are%20are%20available%20from%20many%20manufacturers%20with%20various%20accuracy%20specifications%20and%20numerous%20packaging%20options%20to%20suit%20most%20applications.%20Unlike%20thermocouples%2C%20it%20is%20not%20necessary%20to%20use%20special%20cables%20to%20connect%20to%20the%20sensor.%0D%0A%0D%0AThe%20LM35%20series%20are%20precision%20integrated-circuit%20temperature%20sensors%2C%20whose%20output%20voltage%20is%20linearly%20proportional%20to%20the%20Celsius%20%28Centigrade%29%20temperature.%20The%20LM35%20thus%20has%20an%20advantage%20over%20linear%20temperature%20sensors%20calibrated%20in%20%CC%8A%20Kelvin%2C%20as%20the%20user%20is%20not%20required%20to%20subtract%20a%20large%20constant%20voltage%20from%20its%20output%20to%20obtain%20convenient%20Centi-%20grade%20scaling.%20%0D%0A[/wmd-toggle-tab][/wmd-toggle]

Sensors Used LM-35 and PT-100

For LM-35  temperature sensor the output voltage is linearly proportional to the Celsius (Centigrade) temperature. LM35 does not require any external calibration or trimming to provide typical accuracies of ±1⁄4̊ C  at room temperature and ±3⁄4̊C over a full −55 to +150 ̊C temperature range.  Another temperature sensor PT100 is previously  tested with ExpEYES.  It offers excellent accuracy over a wide temperature range (from –200 to +850 °C). Made modifications in GUI program for using PT100.

GUI program is written  to interface LM35 with ExpEYES and measure temperature in Celsius and Fahrenheit. It plots temp.vs time graph in real time.  These modules can be used for a variety of experiments involving temperature measurements.

The Code is here…

pt-100

Temperature Sensor PT-100

LM35

LM-35 Temperature Sensor with ExpEYES

 

 

 

 

 

temperature GUI

Plot shows temperature changes while hot air is blown on the sensor

 

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55d9bf7fc9dc2″][wmd-toggle-tab title=”Weather Station”]A%20weather%20station%20is%20a%20facility%2C%20either%20on%20land%20or%20sea%2C%20with%20instruments%20and%20equipment%20for%20measuring%20atmospheric%20conditions%20to%20provide%20information%20for%20weather%20forecasts%20and%20to%20study%20the%20weather%20and%20climate.%20The%20measurements%20taken%20include%20temperature%2C%20barometric%20pressure%2C%20humidity%2C%20wind%20speed%2C%20wind%20direction%2C%20and%20precipitation%20amounts.%20%20%20Ref%3A%20Wikipedia[/wmd-toggle-tab][/wmd-toggle]

The sensor plug-ins for temperature, pressure, humidity and wind speed etc are combined to make all these measurements simultaneously. The GUI program is written to plot data in real time. Trials to fetch weather data by connecting ExpEYES to Raspberry-pi are successful.  Now calibration of anemometer readings is to be done.

Next immediate goal for this work is to complete calibration and do a pilot project to collect weather data in our college campus. Another important thing that we will try is to push the weather data to Loklak server  and display it on the map. I will be trying to replace three cup anemometer with  pc fan anemometer. I think it may provide stability and better accuracy.

 The Code is here…

weatherstation

Random data to show sensitivity of the sensors connected

 

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55da062ee4422″][wmd-toggle-tab title=”Auto Tweeting Weather Data from PSLab using tweepy”]Python%20is%20great%20language%20for%20all%20sorts%20of%20things.%20Very%20active%20developer%20community%20creates%20many%20libraries%20which%20extend%20the%20language%20and%20make%20it%20easier%20to%20use%20various%20services.%20One%20of%20those%20libraries%20is%20tweepy.%20Tweepy%20is%20open-sourced%2C%20hosted%20on%20GitHub%20and%20enables%20Python%20to%20communicate%20with%20Twitter%20platform%20and%20use%20its%20API.%0D%0A%0D%0A%0D%0ARef%3A%20%20http%3A%2F%2Fpythoncentral.io%2Fintroduction-to-tweepy-twitter-for-python%2F[/wmd-toggle-tab][/wmd-toggle]

Wrote a python program to fetch weather data and auto-tweet using tweepy module. Using this program one can auto-tweet data at desired intervals of time. ExpEYES with Raspberry-pi is now a low-cost stand-alone portable weather station… 🙂

Link to the code on git-hub….

autotweet

Auto-tweeting weather data from PSLab – Trials with temperature and humidity sensor

 

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55d9cfd10a373″][wmd-toggle-tab title=”Hall Magnetic Sensor”]A%20Hall%20effect%20sensor%20is%20a%20transducer%20that%20varies%20its%20output%20voltage%20in%20response%20to%20a%20magnetic%20field.%20Hall%20effect%20sensors%20are%20used%20for%20proximity%20switching%2C%20positioning%2C%20speed%20detection%2C%20and%20current%20sensing%20applications.%0D%0A%0D%0ARef%3A%20Wikipedia[/wmd-toggle-tab][/wmd-toggle]

Sensor Used : Hall Sensor -3144 and Module KY-003

Exploring  the use of this magnetic sensor for measuring rotational speed of anemometer and other measurements was quiet interesting experience.  Tried Hall sensor 3144 and KY-003 module.

The KY-003 is a magnetic switch. If no magnetic field is present, the signal line of the sensor is HIGH (3.5 V). If a magnetic field is presented to the sensor, the signal line goes LOW, at the same time the LED on the sensor lights up. The polarity of the magnetic field is of influence to the switching action. The front side of the sensor needs the opposite polarity as the back of the sensor to switch on.

The GUI for Hall Magnetic Sensor module KY-003 is ready and tested. This will be useful in a range of measurement functions including proximity switching, positioning, speed detection, and current sensing applications.

I am now working on modifying the program to use it for speed detection of motors fans and also for measuring periodic time in oscillating systems. This is a low-cost solution for many oscillation experiments.. 🙂

The code for Magnetic Sensor is here.
KY-003

KY-003 Module and a3144 Sensors

magneticsensor

Magnetic Sensor with a rotating magnet with ExpEYES

 

 

 

 

 

magnetic

KY-003 Sensor – Plot with a rotating magnet near it.

 

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55d9d97704535″][wmd-toggle-tab title=”Gas Sensors”]Methane%20Gas%20Sensor%20MQ-4%0D%0AThis%20semiconductor%20gas%20sensor%20detects%20the%20presence%20of%20methane%20%28CNG%29%20gas%20at%20concentrations%20from%20300%20ppm%20to%2010%2C000%20ppm%2C%20a%20range%20suitable%20for%20detecting%20gas%20leaks.%0D%0A%0D%0ALPG%20Gas%20Sensor%20MQ-6%0D%0AThis%20%20sensor%20detects%20the%20presence%20of%20LPG%2C%20isobutane%2C%20and%20propane%20at%20concentrations%20from%20300%20to%2010%2C000%20ppm.%20%0D%0A%0D%0ACarbon%20Monoxide%20Gas%20Sensor%20MQ-7%0D%0AThis%20gas%20sensor%20detects%20the%20presence%20of%20Carbon%20Monoxide%20at%20concentrations%20from%2010%20to%2010%2C000%20ppm.[/wmd-toggle-tab][/wmd-toggle]

Recently while I was thinking on what new sensors can be added to ExpEYES, I remembered our conversations with Roland Turner and his Yahi Project during FOSSASIA. I started exploring use of Gas sensors for environmental monitoring.

Procured and tried  following sensors…
1. MQ-7 : Carbon Monoxide Gas Sensor
2. MQ-6 : LPG Gas Sensor
3. MQ-4 :Methane Gas Sensor
MQ07withbreakoutboards

MQ-7 with Break-out board

MQ-06andMQ04

MQ-6 and MQ-4 Gas Sensors with Break-out board

Soldered these sensors on separate breakout boards and wrote a python program to interface them with ExpEYES. Completed  GUI programs for Gas Sensors MQ-4, MQ-6 and MQ-7 and also wrote a program for common GUI. Tested the program with LPG and smoke from vehicle exhaust. Things are working as expected. Need to calibrate this set-up with a standard equipment, which I will be doing later.
This new development has brought many new possibilities of using ExpEYES in many other fields like chemistry and environmental studies.
Next To Do.
1.Calibration to get readings in ppm
2. Add Dust sensor
3. PH sensor ( Currently not able to do it because low cost sensors are not available. Searching for alternatives)
gassensor

Gas Sensors GUI tested for carbon monoxide (MQ-7) by generating smoke using a match stick.

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”8″ ls-id=”55d9de5ba9390″][wmd-toggle-tab title=”Modification in GUI\’s “/][/wmd-toggle]

Modifications in Existing GUI’s developed during GSoC-14

  • GUI for using Motion sensor SRF-05, (ultrasonic position sensor) is modified  for plotting real-time position.
  • Made necessary changes in GUI for Lissajous Figures using ATTINY85.
  • Added Python-3 compatibility to all ExpEYES programs developed for GSoC-2014 Project
srf-05

Ultrasonic Position Sensor SRF-05

attinylissa

ATTINY -85 MCU for Lissajous Figures

 

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”4″ ls-id=”55d9e004910b3″][wmd-toggle-tab title=”Voltammetric Measurements for Research in Nanotechnology”]Voltammetry%20experiments%20investigate%20the%20half%20cell%20reactivity%20of%20an%20analyte.%20Voltammetry%20is%20the%20study%20of%20current%20as%20a%20function%20of%20applied%20potential.%20These%20curves%20I%20%3D%20f%28E%29%20are%20called%20voltammograms.%20[/wmd-toggle-tab][/wmd-toggle]

My colleague Dr. (Mrs) Smita Kalagi  is doing research on nano-materials and needed equipment for voltammetric measurements. I tried writing a python program for plotting voltammogram using ExpEYES and  could carry trial  measurements successfully. This development has resulted in a low cost, open source quality research equipment… 🙂

 Voltammetry is analytical method used in chemistry and various industrial processes. In voltammetry information about an analyte is obtained by measuring the current as the potential is varied.
Will update with the actual set-up in the laboratory and experimental results soon…:)

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”4″ ls-id=”55d9e5010364a”][wmd-toggle-tab title=”Internationalization: French Localization”]GNU%20%60gettext%5C%27%20is%20an%20important%20step%20for%20the%20GNU%20Translation%20Project%2C%20as%20it%20is%20an%20asset%20on%20which%20we%20may%20build%20many%20other%20steps.%20This%20package%20offers%20to%20programmers%2C%20translators%2C%20and%20even%20users%2C%20a%20well%20integrated%20set%20of%20tools%20and%20documentation.%20Specifically%2C%20the%20GNU%20%60gettext%5C%27%20utilities%20are%20a%20set%20of%20tools%20that%20provides%20a%20framework%20to%20help%20other%20GNU%20packages%20produce%20multi-lingual%20messages.%0D%0A%0D%0ARef%3A%20http%3A%2F%2Fwww.gnu.org%2Fsoftware%2Fgettext%2F[/wmd-toggle-tab][/wmd-toggle]

This indeed is a good news for Pocket Science Lab Project. I have been adding support for  internationalization based on Gettext, in all the python programs being developed for pocket science lab.  This work was originally done for ExpEYES  by Mr Georges from France. Now he has added French localization to Pslab… as a result all the GUI’s will be available in french … 🙂

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”4″ ls-id=”55d9e8544e8fb”][wmd-toggle-tab title=”Piezoelectric Transducer”]A%20piezoelectric%20sensor%20is%20a%20device%20that%20uses%20the%20piezoelectric%20effect%2C%20to%20measure%20changes%20in%20pressure%2C%20acceleration%2C%20temperature%2C%20strain%2C%20or%20force%20by%20converting%20them%20to%20an%20electrical%20charge.%20The%20prefix%20piezo-%20is%20Greek%20for%20%5C%27press%5C%27%20or%20%5C%27squeeze%5C%27.[/wmd-toggle-tab][/wmd-toggle]

piezo-sensors

Piezoelectric Transducers

Cheap piezoceramic membrane used in piezoelectric ‘buzzers’ can be used as a very inexpensive, accurate and sensitive pressure sensor. These devices can be used both as sensors and actuators, so they’re referred to as transducers, a term applied to any device that can convert one form of energy to another. The sensor turns mechanical energy into electric potential, and the actuator converts electrical energy into mechanical force or motion.

The Piezoelectric material used here, ceramic lead zirconate titanate known as PZT has the ability to provide twice the voltage of Quartz under a given force. These transducers are simple, reliable, and very robust, and so find wide use in industry, medicine, and aero-space work. They’re unaffected by external electromagnetic fields, and so can be used in applications where electronic sensors would fail. They are stable over a broad range of temperatures, but may be effected by long use at high temperatures.

 The GUI program for Piezoelectric Transducer as force/impact sensor is here…
Screenshot from 2015-08-23 21:21:34

GUI for using Piezo Sensor as Force/Impact Sensor

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”4″ ls-id=”55d9e5a6ad355″][wmd-toggle-tab title=”Some Other Sensor Plug-ins and Open Source Devices”/][/wmd-toggle]

IR Object Sensor

Made a simple Infra-red object sensor using IC LM358 (got a ready-made circuit board from local market). Wrote a GUI  program for IR sensor and tested it. Added a potentiometer to the circuit. It can be used to modify sensitivity or range of the sensor.
IRobject-sensor

IRobject-sensor

Barometric Pressure Sensor BMP 180

BMP-180Tested BMP180 Digital Barometric Pressure Sensor Board Module :This precision sensor from Bosch is the best low-cost sensing solution for measuring barometric pressure and temperature.  ( Need to re-write the program to read data accurately) (Work in Progress)

I could interface BMP-180 with MicroHope but facing some issues with interfacing it with ExpEYES. The data obtained is not matching with standard module from our Geology Lab. I am searching alternate sensor/method to measure atmospheric pressure.

 DC Motor as Rotatory Motion Sensor

Sensor Used:    DC Motor and a pick-up coil

dcmotorandcoil

Photo Gate

Sensor Used:    Photo Gate using Photo Diode15. photo-gate

The GUI program written during GSoC-14 project is modified for measuring periodic time in oscillatory motion and also to measure acceleration due to gravity.

Other devices used

Solar Cells
Induction coil

GY-271 module
condenser MicLight Sensor ( Work in progress)
ATTINY-85 MCU used for sine wave generation
Raspberry Pi 2 Model B for stand-alone weather station
MicroHope : Micro-controller development system from ExpEYES Project

condensor-micGY-271solar-rechargeable-moduleIC555-timer

[wmd-toggle tab_background=”#75a5ce” tab_color=”#fff” content_background=”#93e9ea” content_color=”#725d53″ border_radius=”4″ ls-id=”55d9faac80004″][wmd-toggle-tab title=”After GSoC”/][/wmd-toggle]

Plan for next four months

  • Calibration of sensor data
  • Prototyping stand-alone weather station
  • Pushing data to Loklak server
  • Work on PSLab@Fossasia website
  • Fossasia Live Cd based on Lubuntu with ExpEYES and other educational softwares
  • Set-up Documentation for possible science experiments with the sensor plug-ins and low-cost, open source apparatus

[wmd-toggle tab_background=”#2e99ba” tab_color=”#fff” content_background=”#9adff4″ content_color=”#fff” border_radius=”4″ ls-id=”55da126f61694″][wmd-toggle-tab title=”My Git Hub Profile”]%3Cp%20style%3D%22text-align%3A%20center%3B%22%3E%3Ca%20href%3D%22https%3A%2F%2Fgnovi.edublogs.org%2Ffiles%2F2015%2F08%2Fgithubprofile-1n1wjhf.jpg%22%3E%3Cimg%20class%3D%22alignnone%20size-large%20wp-image-600%22%20src%3D%22https%3A%2F%2Fgnovi.edublogs.org%2Ffiles%2F2015%2F08%2Fgithubprofile-1n1wjhf-1024×718.jpg%22%20alt%3D%22githubprofile%22%20width%3D%22584%22%20height%3D%22409%22%20%2F%3E%3C%2Fa%3E%3C%2Fp%3E[/wmd-toggle-tab][/wmd-toggle]

 

[wmd-toggle tab_background=”#2e99ba” tab_color=”#fff” content_background=”#9adff4″ content_color=”#fff” border_radius=”4″ ls-id=”55da144842b99″][wmd-toggle-tab title=”Click on the coloured boxes to toggle open the content”]…..%0D%0A……….%0D%0A…………..[/wmd-toggle-tab][/wmd-toggle]

GSoC Weekly Report 13

(From Monday 11th August to 17th August 2014)

This week I conducted experimental trials for all the experiments using python code written for Real-Time plotting and also code for Off-Line mode. Did modifications in the programs wherever necessary and finalized the code for experiments. Wrote python code for Mechanics and Sound GUI. Worked on documents.

I am also working on packaging everything so that the plug-ins can be separately installed on a machine where ExpEYES is pre-installed. Need few days for this work. I will continue this after the final evaluation report is submitted.

To Do Next Week……

  • Submission of Final Evaluation
  • Complete and upload Experiments documents to the blog site.
  • Take trials with experimental set-up and upload photographs and videos.
  • Create a package that can be installed on a machine where ExpEYES is pre-installed.

Since most of the apparatus for all experiments is home-made, I will be uploading the procedure with photographs for creating these devices. I will also add documents with relevant theory for each of the experiment  to the blog site.

It had been a great journey with new learning experiences. Thanks a million to my mentors Mario Behling, Hong Phuc Dang & Hau Dang at FOSSASIA  and Ajith Sir. Even though the coding season ends tomorrow, I am feeling like its a beginning for me.

There is a lot to be done…. and I will be continuing with the work to make this dream a reality.. a dream of providing every student with the most affordable pocket science laboratory.

I have thought of many new experiments on  which I will be working for next couple of days. Also thinking of having a separate website for this work…its possible now…thanks to funding from Google.

 

 

 

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.

 

 

GSoC Weekly Report 5

The past week ( From Monday 16th to Sunday, 22nd June 2014) was really productive in terms of experimental setups and trials with python codes. My mentors offered all the help and guidance and were very  encouraging and helped me to speedup the things….

What We Could Do….

  • Started creating documents for experimental setups and procedures for mechanics experiments and a few sound experiments.
  • Made necessary changes in python programs for using SRF 05 sensor. Did the experiments on linear air track to obtain position -time plots.constant velocitypt graphconstantvelocitypt graphbounce
  • Ordered and received additional Ultrasonic sensors SRF 05. Did the testing work for all ten pieces of srf modules. They all are working good.
  • Wrote three programs for time measurement using photo-gates and explored the use of time measurement functions like r2rtime r2f time and multir2rtime and updated changes to Git repo.
  • On Wednesday, started giving finishing touch to the following experiments…. Frequency of Oscillations of Spiral Spring, Parallel and series combination helical springs and the resulting spring constant, Uniformly accelerated motion on an inclined plane, Conservation of momentum.
  • On Thursday, Continued working on giving finishing touch to the experiments..Had to spend a lot of time with photo-gates. The problem in accessing Light sensors (Photogates) is partially solved……… :) Now I am able to make time measurements using these light sensors.
  • Completed the setup and documentation for Spring oscillations experiments. Here are the screen shots of the experiment with spring oscillations..Screenshot from 2014-06-21 00:04:36Screenshot from 2014-06-20 23:55:05IMG_20140620_234908
  • One more positive development that has happened is…now we are able to access ExpEYES with android phone or tablets….Thanks to Jitin B.P. for this application.I could connect ExpEYES to my Micromax Canvas 4 Phone…the screen shots shows sine waves and square waves connected to different channels…. Now, our dream of providing an open source science pocket lab to every student has come closer to the reality.
  • Screenshot_2014-06-20-22-36-15Screenshot_2014-06-20-22-34-15
  • Wrote and commited some simple python programs required for time measurements and plots to git repo.
  • On Saturday, worked on an experiment to produce Lissajous figures using two square waves. Wrote Program in python and tested the same. Could obtain various Lissajous patterns.In the code we used Capture2 function from ExpEYES library to plot the figures. used two sine waves with a phase difference of 90 degrees.
  • lisawaveslissaellipse
  • On Sunday, continued to work on experiments to produce Lissajous Figures. Generated two square waves with a phase co relation between  them. Used Capture2 function to capture data and plot graphs. The figures are sensitive to phase difference and the ratio of frequencies.These are the patterns obtained……smooth curves can be obtained using sine waves…
  • lisa4lissa7lissa1lissa6lisa3lissa2
Difficulties Faced…
  • I was facing some difficulties in some experiments while using two photo-gates simultaneously for time measurements. The problem is partially solved. Need to fine a good and permanent solution. Ability to use two photo-sensors simultaneously can make many mechanics experiments easy.
  • For spring Oscillations experiment…difficulty in Fitting the curve to get frequency.
  • The smooth Lissajous Figures are expected if we use two sine waves instead of square waves. Working on the module to generate two sine  waves of variable frequency.

To Do………

  • Work on accessing Photo-sensors. Write necessary python code.
  • Write a code for fitting different curves.
  • Create a GUI where user can change the phase between the two waves and can obtain different Lissajous patterns.
  • My Next Step would be to produce these pattern in 3 Dimensions using Laser and Speakers. For this I need an amplifier to drive two speakers. Sine waves and the required phase difference can be obtained from ExpEYES with python code. Aiming at beautiful Laser Show with a lot of science in it…. 🙂
  • Documentation with experimental procedure for the experiments developed.
  • Taking Photos/Videos of set up and also upload screen shots.

Here is my git activity for this week   https://github.com/wavicles/Plugins-for-ExpEYES/commits/master

GSoC Weekly Report 4

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)
  • pickup for accelerationThis 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)
  • light-barrier

 

 

  • 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
    1. By using motion sensor …. the data is recorded with uniform time intervals.
    2. 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….

ucm and shmgraph2

  • 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 … :)

srf3graphssrfdataplot

  • Tried plotting Lissajous figures…..this code will be useful for my sound experiments……beautiful yet simple….its python… :)

liss

 

Difficulties Faced
  • 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

GSoC Weekly Report 3

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
  1. Study of One dimensional motion by plotting Position Time Graph
  2. Study of phase relation in graphs using two sensors.
  3. 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.

https://github.com/wavicles/Plugins-for-ExpEYES

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.

Additional info: http://expeyes.in/

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.

fossasia

project expeyes

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 Mario Behaling , Hong Phuc    & 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 .

fossasia selected projectscom bonding

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