Project2: Blinking Jellyfish

Background:

When talk about water park, the first image in my mind is the undersea view. About the undersea stuffs, my favourite thing is the jellyfish. It’s an amazing animal. It’s pellucid and soft and it’s moving is very interesting. Also it can be influenced by the light and turns to the colour what light towards to it. Actually, the reason why I love jellyfish is the scene comes from <Life of Pi> directed by Ang Lee. In that film in the evening, when night falls, these groups of blue ocean animals surfaced, mapping the blue moon, swimming slowly, crows the undersea plants, the view is fantastic. So this is what my idea comes from.

Goals:

I wanted to try to use Processing to make some graphic creations, and do some animation attempts with it. Interact with the sensors, make the pictures to show more artistic effects. Enable participants to get more fun and more visual enjoyment.

Experiment1-Getting RGB information from Colour Sensor

At first, I begin to search some kinds of sensor to be used. I found a sensor called ENV-RGB detector. It’s very convenience. It can be put in the water directly to do some detects. So my original idea is to let participants interact with some physical things in the real water with this sensor. So I did a series of experiments. But the result is not satisfied. Because the sensor is very unstable, sometimes it can’t received the signal indescribably. And it can’t easy to  find some information about the sensor in the website. In the blog some friends also ask some questions about this sensor. I ask help with my friends, but they didn’t can figure out the method to solve the problem. So I have to consider some other ideas or to use some other sensors.

Experiment2-Changing Colour Sensor

Then I decided to change to a more normal colour sensor, I found a sensor board called TCS3200D. And there are more information and experiments video about this sensor on the website. So it’s convenience to get help. I have some background experience about colour sensor, but the sensor I have used is called ColorPAL which just has three PINs in itself. But TCS3200D has ten PINs, and the program code is more difficult also. And I can’t buy the ColorPAL temporarily, so I have to do some research and study for this TEN-PINs sensor. I attended a series of  online tutorials and saw some of videos and materials about it. Finally, I could get the values of RGB use this sensor very stably and modify with relevant code with myself.

Experiment3-Controlling RGB-LED with Arduino

After I got the values of the RGB, I want not only to show them on the screen,but also to do some more direct fun experiments. So I found a RGB-LED to show them. This is a  very interesting LED, you can modify the value in the Arduino to change it’s colour to whatever you want. Also you can set the random value to let it change the colour randomly. So this is the experiment I did to show the random change.

Experiment4-Synchronizing LED’s colour with Sensor

After control sensor and RGB-LED, I tried to do the experiment to combine them together. As I was not very familiar with the program code. So this process takes me a long time. It not just simple like put these two pieces code together. Because the code of colour sensor I used is a example, the stuff in the “void loop” is a new set function, so when I write the output code in the “void loop”,the program always loop the function before set and the output can’t successful sent to the LED, so the LED didn’t work. As the beginning I didn’t know the reason, so tried a lot of times to solve the problem even I attempted some other kinds code about the colour sensor. At last, with the help from the classmates I finally solved it, and the idea can be continue successfully.

Experiment5-Drawing an image with processing.

As the project’s main platform is processing. So I read some books about the processing carefully. It’s very easy to draw some geometric figures with processing, but if you want to draw a stuff which composed with some bight, for example the jellyfish which is a soft animal, it’s maybe a little difficult. At the beginning, I have to download some familiar examples, and learned how the editor wrote them, and then tired to modified them to what I want. Slowly, it became a pattern that a little bit like the feet of the jellyfish.

Experiment6-Modifying the image and making animation

For make the pattern I drew more vividly, I dropped the code which I wrote before that came from other ones, and wrote a piece of new one. Of course, in the process, this new code takes some experience before. I defined some key points in the line which composed with lot of points. Through control these key points, to do some animation. For example, through rotate and copy these lines with centre to get the body of the jellyfish. Then divided these lines to three and adjust the width to control the from of the jellyfish. Also, I did some rotate with the animation that make it more truly and vividly. Although this effect it show is not very obvious at last, but this process is very difficult. Because I have to calculate some values to do that in the code.

Experiment7-Communicating with processing.

The duties of Arduino and Processing were all finished, so I will try to communicate with them each other. This process is also bother,a few times the values sent to processing was not accurate, neither was can’t to be sent. Until I found the example which the lecturer told us in the class, is a method that communicate from Arduino to Processing, so I refer it to my project and modify the code. At last, I got the correct RGB values from Arduino and used them to control the image in the Processing.

Experiment8-Making boxes

Actually, at first, I want to use any colour paper directly, but when I did that, I fund that the colour sensor is too unstable, a little light or somebody moving maybe can influence the information that comes from it. So I try to change the paper’s shape to make the signal more stable. At first I just fold the paper’s two sides together, but there is some other light comes form the head and bottom, so I took a whole afternoon to make some boxes to package the sensor. The result was satisfied. If I do the experiment with the light off, these boxes will be very beautiful. In the end, I improved the boxes. I taped the last side of the box, just left a small hole to put the sensor in. So it finally can be better to recognize the RGB of the paper.

 

Code:

https://gist.github.com/13c219141b0c6f363937

https://gist.github.com/671ca17c6e228f885add

Sketches:

222

 

Diagrams:

TCS3200FRV70IEHSVTBIC2.LARGE

Random_RGB_Led_v2_bb

 

Photos:

445

 

 

Video:

Context:

I want the jellyfish as the representative of the submarine, to show the charming scenes of undersea to every people. As the different depth of the sea, the extent of the light it can be shined is different. So the colour reflected by the light on the jellyfish is different also. I want to use the colour sensor to put the colour which the participants recognized to the jellyfish which I made. But one point that I ignored is jellyfish are generally appear in groups, but I just draw one. So if I make more forms and set more rules to make more effects my work maybe can get more interest. For example, I can store the colour that recognized and identified them to create more different jellyfish or more other interaction.

Through observe and study other students’ work and lecturers’ explanation, I think my project should be able to have more ample visual things and more interactivity in it.I maybe too focused on how to make the jellyfish’s form and animation move vividly and truly and spent too much time on it, while ignoring the more interactive and interesting in the work.

Through this course and variety of experiments I found that actually there are a number of directions can be choose about water.Return to the idea about the beginning of the detection of water, I think it completely can consider the water from itself. Water is the source of life. The quality of drinking water is closely related to our daily life. In my country,  industrialization lead to the pollution is very serious now, so people also slowly begin to pay attention to their diet health. Water PH value is our daily topic of common concern. So I searched for some information about PH value, and I am very interested in a PH sensor .

https://www.sparkfun.com/products/10972

http://www.robotshop.com/ca/en/bnc-ph-lab-electrode.html

So maybe I will do some experiments about this sensor in the later study, and expect to do more work.

Another idea is about electrolysis of water, by this way, we can separate the minerals from water. Different minerals in the water will show different colour and status. So these ideas than directly change the colour of the water are much more interesting and have more meaningful.

References:

Arduino Tutorial:

http://www.toptechboy.com/arduino/lesson-15-super-cool-arduino-color-sensor-project/

Online Shop-RGB LED Breakout (5050):

http://www.dfrobot.com/index.php?route=product/product&search=RGB%20LED&description=true&product_id=900

TCS3200 Color Sensor:

http://www.dfrobot.com/index.php?route=product/product&search=color&description=true&product_id=540

http://www.dfrobot.com/wiki/index.php/TCS3200_Color_Sensor_(SKU:SEN0101)

http://www.toptechboy.com/arduino/lesson-15-super-cool-arduino-color-sensor-project/