chinese tale

42
Chinese Tale Jieting (Tina) Chen Innovation Design Engnneering Royal College of Art June 2011

Upload: tina-chen

Post on 27-Mar-2016

249 views

Category:

Documents


6 download

DESCRIPTION

The report for IDE graduation project

TRANSCRIPT

Page 1: Chinese Tale

1

Chinese Tale Jieting (Tina) Chen

Innovation Design Engnneering Royal College of Art

June 2011

Page 2: Chinese Tale

2

Executive Summary

Page 3: Chinese Tale

3

China has a lengthy, rich and varied cultural heritage. How can this be transferred and developed into modern design objects? This project is about finding the essence of “Chinese-ness”, and how that unique element can be embodied in design outcomes, so that they pay tribute to the past whilst also looking to the future.

The outcome of this project is an experimental music player that em-bodies “hanxu” in different layers.

Hanxu is the art of language, an indirect way of communication.

It is widely used in Chinese literature and poems. As a literature meth-od, it is considered to be more tasteful and elegant. In this context, it is about playing with different senses of the human body. Words can be used to describe certain feelings, but by matching them with unrelated senses, things can be expressed indirectly. For example, ‘smelling the music’ could deliver this totally new experience to an audience who cannot physically experience it but can imagine it. In a good hanxu poem, the reader reads between the lines and gets beyond them.

During a conversation, to gain deeper understanding, people need to process non-verbal communication such as hand gestures and facial expressions. Therefore, both sides have to have the skill to observe and absorb all different kinds of information from each other to react accordingly.

To interact with the music player, the user will implement their surround-ings as the media. By picking up colours and patterns from the imme-diate environment, they will give the player hints which it will interpret and adjust its playlist accordingly.

The music player will observe and learn from the user’s subtle body language to learn if the user likes the music, and will suggest tracks along simlar lines. Therefore, it will grow with the user, and the more it is used, the smarter it will be.

The goal of this project is not to point out the aesthetic differences be-tween a Chinese music player and a Western one, but to emphasise how a unique philosophical cultural concept can be embodied in a design outcome.

This project would be considered a good case study for cultural trans-fer research. It offers a different option, supplies another angle and evokes further discussion.

Executive Summary

Page 4: Chinese Tale

4

Page 5: Chinese Tale

5

ContentsExecutive summary

Introduction

Research

Understanding

What’s out there already

Methodology

Chinese-ness mapping

Story line

Experimentation

Tale 1: Bringing back tradition

Tale 2: the balance of yin and yang

Tale 3 Hanxu

Conclusion

References

Appendice

3

8

9

9

10

11

11

12

14

16

18

26

27

28

Page 6: Chinese Tale

6

Page 7: Chinese Tale

7

Statement of OriginalityI confirm all work in this document is of my own and except where indicated in the text, all other parts are my own original work.

Page 8: Chinese Tale

8

IntroductionOnce I was sitting in Dubai’s airport and waiting for the flight, two guys from Africa started talking to me. They have a business in Guangzhou, one of the main “made in China“ city in the south of China. We talked about mass production and economic transformation happening in China.

On one hand, I am happy that manufacturing creates more jobs and better life to the local people. On the other hand though, I am deeply worried about the fact that products are designed in Europe and the US that actually failed to offer the beautify and strength of cultural diversity of China. The world definitely de-serves to enjoy the culture and philosophy of every single region in terms of product design.

Industrial design was born from the industrial revolu-tion and evolved alongside changing western soci-ety. Therefore, the way of classic design philosophy and cultural value are structured with strong western features.

The impression people have is that everything made in China is cheap and of low quality. On the other hand, China has a lengthy, rich and varied cultural heritage. How can this be transferred and developed into modern design objects?

During the GoGlobal project in China in 2010, there was a culture transfer workshop held by IDE PHD stu-

dent Wenjin Yao. In the workshop she asked partici-pants to look for the cultural elements and feed them into design. It was interesting to see how people from different cultural backgrounds seek elements inspired by their own originated cultural bond and use them in design. However, I realised that without cultural un-derstanding there are barely ways to use them in a deep and meaningful way.

Even with Chinese cultural background, it is still a diffi-cult research question. China has nearly 4000 years of continous history. There are so many different aspects of culture. Where to seek the uniqueness of it? And how to embody this “Chinese-ness” into design out-come? What is the situation of design industry so far? How it get to there and where should Chinese design go in the future?

There are already a lot of designers seeking for an-swers. As a Chinese designer, I want to explore the answers from my own perspective.

“How to embody “Chinese-ness” into an design ob-ject?

The process and thinking of this project would be a case study for other Chinese designers to bring the culture into design outcome. At the same time, I hope the project will be a fresh perspective for westerners to learn Chinese culture.

“Creative industry in China”

Page 9: Chinese Tale

9

In the primary research, I wanted to understand what is the situation for the design industry in China so far and why is it like that? I talked to different relevant people including my peers from college who have been working in the industry for one year as well as graduates who have working in the industry for more than 5 years.

I also got chance to talk to Italian designer and edu-cator Barbara Casati, who has lived and worked in China for 8 years. “The industry changed a lot in the past few years in China. Back in time, no one known what is design or care about it. Nowadays, design is one of the hot topic among not only designers but also CEOs.”

Form the conversation with her, I got to know the first hand of information about the changing and develop-ing in the industry as well as in people’s mind. At the same time, from different online resource, I learned about the latest situation of design consultancies as well as companies which do care about design.

In general, the result of this primary research are as follows.

• manufacturing can make moneyWhy companies don’t want to be creative and pro-duce product that has been properly designed? One of the reason is that companies can already make money just by manufacturing.China is relatively rich in resource, in terms of raw materials as well as labour force. So companies sit on these advantages and make money from manufactur-ing. They are happy as long as they can make money.However China will lose these kind of advantages. In fact the cheapest manufacturing place has already moved away from China to neighbour countries, such as India and Vietnam.At the same time, the inefficient use of natural re-sources and China’s massive activity level of produc-tion has pushed the prices up over the years. The rest of the resource will only be more and more expensive. It won’t be cheap to manufacture in China because the raw material will be expensive. And, the cost of labor is raising as well. Therefore the comparative ad-vantage in labour costs as the core competence of china’s manufacturing industry, the cost leadership, is diminishing. The only survival way against its rivals is the product differentiation which can be only deliv-ered by design in terms of both product design and innovative thinking of the market.

• creativity is expensiveCreativity needs time, resource and the right people. And it is also highly risky. All of these cost money. Only big companies can afford this. But for smaller com-panies, which are the most cases, they don’t want to “waste money” on design or just simply can’t afford it. They prefer to have safe and ready-made “examples”.

• policy & environmentIn the west, industrial design was born in industrial revolution, the transition is smooth and nature. So the policy and environment are relatively mature. In China however, there is a big gap because of the war and the“cultural revolution”. China also has its uniqueness in terms of society structure and economical policy. Everything is still in a chaos. Design is still struggling to find its way in this young environment.

• lacking acknowledge of branding and designDesign, especially industrial design is still new to a lot of people. I remember having to explain people what industrial design means and why we need it. Even now, the majority doesn’t know the concept of design and company’s don’t appreciate the value design can bring.

• timeThe industry and market simply need time to grow and be mature. The manufacturing industry in China is still at the lower level of the value chain of the world production as they can only compete with others on costs. However, they are losing the cost-leadership as the labour cost increases, alongside the economic development, which delivers the increasing income level in the area. The only way to survive is to bring product differentiation which can only be successful, if design became the heart of it. The industrial life cy-cle in China is now at the developing stage and the clock is ticking for survival.

Understanding

Research

“Creative industry in China”

Page 10: Chinese Tale

10

What’s out there already

There are certainly designers and companies who know the importance of design and trying to design unique Chinese products.Lenovo (联想)1, is one of the most famous company founded and headquartered in China with a product range from laptops to consumer electronics. Leno-vo integrates traditional Chinese elements into their product. Aigo (爱国者)2, another company which pro-duce consumer electronics, also tries to use tradition-al Chinese elements into their product. The pictures are showing some examples of their product.

1 联想 http://www.lenovo.com.cn/

2 爱国者http://www.aigo.com/default.aspx

In furniture design there are several featured design brands and studios.Nature Bamboo3 is a design brand “finding the beauty of nature, seeking new story and pattern of bamboo, and makeing it go with modern life.“ INNOVO (品物流

形)4 is a young brand trying to embody Chinese phi-losophy in furniture design. Their work have been ex-hibited in Milan design week from 2009 to 2011. Ban-moo(半木)5 is a brand trying to give antic Chinese furniture new form to fit into today’s modern life.

3 http://www.naturebamboo.com/

4 品物流形 http://www.innovo-design.com/ 5 半木 http://www.banmoo.cn/

Page 11: Chinese Tale

11

After the initial research, the first thing I did was to map out classic Chinese elements16 to help me to find “What is the essence of Chinese-ness”. Then, I organ-ized these elements into categories including festival, custom, architecture, literature, philosophy, invention, object and characteristic. Considering the huge size of the topic, this map helped me to break down the topic as well as having an overview of the potential element that I can develop in the design process.

16中国元素. [Online] Available from: http://www.jvvvv.com/

Mapping of the “Chinese-ness“

Methodology

Page 12: Chinese Tale

12

Primary research

What is the situation so far?

Why is it now?

What already there?

Issue and oppotunity

Chinese design?

“Copy cat” design

How to embody “Chinese-ness” into a design outcome?

What is the essence of Chinese-ness?

object architecturef estival and custom characteristic and behaviour literature and philosophy

How to bring back a traditional object in

today’s context?

easy to translate with

too straight forward need more fundamental

exploring the abstract

side of culture

Candle

How to communicate a Chinese philosophy though an object?

Chinese whispershape

interpretation

Color Tactile

textureForm(2D)

exploring

Yin and Yang balance

Form(3D)

exploring

“Han Xu”

How can “Han Xu” be embodied in an object?

- Indirect, give hints

music playermaterial

- Art of language

- Object to illustrate the pr

Page 13: Chinese Tale

13

select music control the volume like

colour

music player interaction

1 Literature method

- Such as metaphor

Pattern 3D shape 2D shape Temperature Ambient light Wind Body movementHand gestures Facial expression

2 People's behaviour

- Verbal and none verbally communication

- Object to illustrate the process

“Chinese Tale “ Story Line

Page 14: Chinese Tale

14

Tale 1Bringing back tradition

I decided to start with something simple. There are a lot interesting traditional objects dying and gradually fade out from people’s life. However because of long history, these objects often have cultural uniqueness and are beloved among old generations.

How can we bring back a traditional object into to-day’s context?

So they not only have the cultural uniqueness but also fit in today’s lifestyle.

I chose a traditional wedding candle to be the sub-ject of this experiment. Lighting a wedding candle for the wedding night is a tradition since ancient China. The candles usually come in pairs. One of them has dragon pattern and the other one has Phoenix pattern. These are the symbols to wish the bride and bride-groom a good long life together.

This tradition gradually disappeared in the last dec-ade, because of the conveniency of the electrical light bulb and because burning candle has health and safety issues. Using candles in the room is not con-

EXP Candle

Page 15: Chinese Tale

15

sidered to be safe.

In the process of design, the key element I wanted to keep was the good wish that the candle carries, which are represented by the Phoenix and Dragon patterns. At the same time, the object should fit into today’s lifestyle. It should be convenient and safe. And as an object sits inside the bedroom, it should have functions for daily usage after the wedding.

Here are some photos of the sketches as well as ma-terial testing for the design.

The result of this quick experiment is a nightlight made of acrylic top and wooden stand with a mod-ernised phoenix and dragon pattern on the surface representing the “good wish”. The flame shape and the red color light suggests the traditional candle im-age, though the acrylic and choice of color of light makes the “candle” blend more into today’s context.

The key insight from this experiment is that, “update” a traditional object to today will enrich a design ob-ject’s cultural heritage. The key for this process is to redefine the object. What is the function in today’s context? What is the cultural and emotion value? Which part of the object is carrying this value? And then use design language to transform those cultural elements.

In the candle case, the value exists in the Phoenix and Dragon pattern, which means good future as well

as the color of red which means happiness, so it is key to keep those elements but express them in a modern language. In terms of the modern design language, it could be the material, the shape, the pattern, etc.This experiment successfully demonstrates how to bring back a traditional object into today’s context. However, because this process is mainly based on aesthetics, it is difficult to have more fundamental in-novation in terms of the quality of the transformation and the function of the object. The result is too straight forward and plain. Because of this, I decided to move to more abstract side of cultural elements, hopefully I can get more interesting result.

Page 16: Chinese Tale

16

Tale 2The balance of yin and yang

As mentioned in the previous paragraph, I decided to integrate a more abstract side of the cultural ele-ments to enable some more intriguing and interest-ing outcome. The research question I set up for this phase was, “How to communicate a concept of Chi-nese philosophy through an object?“

I decided to communicate the philosophical concept of the balance of Ying-Yang17. It is one of the most fundamental and well known concept in Chinese phi-losophy born and developed since Chunqiu Dynasty (around 2nd century BC). It influenced the whole Chi-nese culture in different levels and stages throughout the development of the culture itself, even today’s so-ciety and daily life.

“The concept of Ying-Yang is used to describe how polar or seemingly contrary forces are interconnect-ed and interdependent in the natural world, and how they give rise to each other in turn. Opposites thus

17 Wikipedia contributors. yinyang [Online]

only exist in relation to each other.” (from Wikipedia)

This explanation is the core of the philosophy. By the time, the yin and yang concept developed a lot and have much more meaning than this definition. That’s also one reason why it influences Chinese culture in so many different aspects. To communicate this yin yang balance concept I broke it down to three differ-ent aspects to make it is easier to focus and translate the concept step by step.

The three aspects are:“Wu ji bi fan” (物极必反)28, means “One thing’s extreme equals the foundation of its contrary.”“Yi rou ke gang” (以柔克刚)39,means “Negative can balance out the positive, and vice-versa.”“Ci xiao bi zhang” (此消彼长)410 , means ”when one is rising, the other is falling.”Around these aspects, I brainstormed and structured three experiments.

28在线成语字典[Online] Available from: http://www.dffy.com/cy/

39在线成语字典[Online] Available from: http://www.dffy.com/cy/ 410在线成语字典[Online] Available from: http://www.dffy.com/cy/

About yin and yang

Page 17: Chinese Tale

17

In this experiment I want to communicate the concept of “One thing’s extreme equals the foundation of its contrary.”

This concept is usually used to describe how things develop, and how people should make the right deci-sion to keep the balance in order to help the develop-ment but stop at the right time. Too much help and stimulus will make it worse than no help at all.

As an example,fertilizing is considered to be good for plants in general. But too much in one go will burn the root of plant and kill it. So it is important to control the amount of fertilizer.

To communicate this I designed an interactive virtual flower. When the subject come close to the table, a virtual flower on the computer’s screen start to grow bigger, the closer the subject to the table the bigger the flower grows. But once the subject get too close to the table the flower will suddenly collapse.

A distance sensor is used to detect where the sub-ject is. The data is then fed to the computer by Ar-duino. Processing is used to draw different flower on the screen. The processing code for the flower is from blprnt, modified and used under open source license. The complete code is attatched in Appendix.

During the process, the subject can see the flower growing and decreasing according to the distance between he or she and the table.The subjects are asked to walk freely in front of the table and see the change of the flower on the screen.

Afterwards the subjects are asked about what what do they think and what philosophy this interaction is

trying to communicate.

This experiment was unsuccessful. People don’t un-derstand what this interactive flower is about and what is the philosophy behind it. To them, it is more of an interesting game or an interactive installation. Without design purpose it is difficult to translate the philoso-phy direct into a product. Purely communication of the balance of yin and yang seemingly will end up in an art installation rather than have some sort of design potential. This approach is a failure.

I still believe that a good cultural translation should have a deeper meaning and I believe the soul of a product should come from a philosophical origin. But how to approach the philosophy? How to heritage, in-tegrate and most importantly develop it into a poten-tial design outcome?

growing flower screenshot

EXP Growing flowers

Page 18: Chinese Tale

18

Tale 3 Hanxu

I took a step back and looked into how this yin and yang balance philosophy influences social behaviour. One aspect of the yin yang concept talks about how to have the right distance between people to sustain a good relationship, neither too distant nor too close. In general, Chinese people tend to be more indirect in terms of communication. And this indirectness is called “Han xu”11.

For example, if I just arrived at my friend’s place and want to have something to drink. Instead of asking”hey, can I have a glass of water please?” The hanxu way is to say “It is really hot outside, it took me half an hour to walk to here.” So I will give hints about what I want, without asking directly. My friend will un-derstand what I am hinting for and offer me some-thing to drink.

Hanxu also exist a lot in Chinese literature and poem,

11含蓄解释和意思---词语 [Online] Available from: http://xh.5156edu.

com/html5/245659.html [Accessed 5/10/2011].

as a literature method. Because people appreciate the indirectness more. It is considered to be more tasteful and elegant. And because it’s ambiguity and blurri-ness, it leaves free space for people’s imagination to fly and bring lovely unexpectedness into the commu-nication. Given a good hanxu poem, the reader reads between the lines and gets beyond the lines. What is beyond the lines comes from hanxu.

I found Hanxu is easier to translate to a product but still has free space for me to explore.

I set the question for this stage as follows:

How can Hanxu be embodied in an object?

Hanxu is about giving hints but hidden. How can an object hide from its own feature and be less obvious?

I designed a series of experiments to explore this question. I choose taiji as the subject which is the symbol of yin and yang. This symbol is a well recog-nised symbol in both Asia and western world. So in that sense the symbol is quite obvious and direct. So

About Hanxu

Hey, can I have something to drink please?

It’s so hot today. I had to walk for almost half an hour to come here.

Direct way Hanxu way

Page 19: Chinese Tale

19

how can I make it more indirect?

EXP Chinese whisperThis experiment tends to understand people’s in-terpretation. And how that interpretation will help to gradually change and twist the original subject to make it less obvious.

In the experiment, a taiji symbol is draw on the paper. Each participant was asked to draw a symbol similar to the previous one, but they will only see what the previous one’s drawing. The paper is passed to the next one when he or she finished the drawing.

The insight from this experiment is that people have their own interpretation. And even just small changes will make the result dramatically differ from the origi-nal one.

EXP 2D taiji symbolIn this experiment I tried different ways to manipulate the pattern to keep it recognisable but less obvious.

For color, by changing hue and contrast or the com-bination of colors which are used on the taiji symbol, the symbol became either easier or more difficult to recognise.

For tactile, I use different texture to hint the difference of the symbol to make it less obvious.

EXP 3D taiji symbolIn this experiment, I gave a 2D pattern 3D shape, al-lowing manipulation on an extra dimention and giv-ing it more features to hide the symbol from people’s perception.

These experiments helped me to start the exploring of a low level of how to embody hanxu into a pattern. It is the first steps for me to make the intangible phi-

losophy more tangible. But the limitation comes from the material at the same time. In order to transform hanxu to a higher level, I need to explore a bit more intangible side of the object, which is the communica-tion.The interaction happens between the user and the object.

After a brain storm I decide to use a music player to illustrate my process. Because it has the right level of complexity- it is not as complicated as a mobile phone which has too many layer of interactions, but it has both material (tangibility) and interaction (intangibility) at the same time.

In order to make the outcome of the experiment have more design potential, I did a quick survey to ask people about how they use their music player and tried to get some in-sight from the survey.

Because of the timescale, I simplified and categorize the interactions between the user and music player into three categories which are as follows:

choose the music to playcontrol the music playing”like” button

I designed different sets of experiments to explore each fea-ture separately to get a deeper understanding and to illus-trate the process better.

How can the user to tell the music player what kind of music he or she want to listen to indirectly? I took a look into Chinese poetry and seen how hanxu is used as a literature method to describe sound and music. In this literature context, hanxu is usually referred to as

Choose the music

Page 20: Chinese Tale

20

Do you usually listen alone or share with other people?

0% 20% 40% 60% 80% 100%

other

artist

album

date

mood

other

yes

no

prefer alone

share with another

share with more than 2

loud speaker

headphone

online radio

map 3 player

enviroment

time of the day

how many people

the cloth you are wearing

traveling (bus, tube, walking)

working(sketching, making, using computer)

All the time

cooking

partying

exercise

When do you listen to music

Choose musics based on...

Do you listen to online radio?

Which one do you prefer to use?

Do you use speaker or headphone?

Survey results

Page 21: Chinese Tale

21

“tong gan”, which translates to Synaesthesia in Eng-lish. (ie I can smell the music in the air.)

In English, the word Synaesthesia refers to a neuro-logically-based condition where the person could not separate different sensations. In Chinese literature, the context is about playing with different senses of the human body by deliberately using a word usually matched with certain feeling to match with a different sense. The example ‘smell the music’ could deliver this totally new experience to the audience who can not physically experience it but only imagine it.

For example, to describe a sound which uses the sense of hearing, instead of describing hearing expe-rience directly, the poet will describe other input such as visual or tactile feeling. ie color or shape or texture.

This way, when the reader reads the poem, tong gan will enhance the experience by opening the door of imagination and unexpectedness to enrich his or her emotional reaction.

As mentioned before, in Chinese literature, for a mas-ter piece, the audience should read between lines and get beyond the lines.

For example, in this following poem,“细芦僧管夜沉沉,越鸟巴猿寄恨吟。吹到耳边声尽处,一条

丝断碧云心。”12

The poet describe the sound as a thin string, to ex-press the music’s high pitch and acting as if a thin string is pulling the heart. The poet use the shape of a string as a metaphor for the music.

In another example:“浮云柳絮无根蒂,天地阔远随风扬。”213

The music is described as cloud and willow-catkin. Here again, the poet use the cloud’s color and texture to describe the music’s texture indirectly.

From the examples, I chosen some parameters as the media to describe the music indirectly. And use the experiments to try to find what can be the best link to describe music in a hanxu way.

EXP describe the musicThe parameters are color, texture, pattern, shape, and hand gestures.

In these set of experiments, I chose 10 very different music tracks and ask people while listening to them pick up a color; draw a pattern, make a shape with paper and clay, use hand movement to describe the music and tell me why they chose specific result to link to what aspect to the music.

12古诗中的音乐描写 - http://gk.juren.com [Online] Avail able from: http://news.juren.com/200812/206006.html [Ac-cessed 5/3/2011]213古诗中的音乐描写 - http://gk.juren.com [Online] Avail-able from: http://news.juren.com/200812/206006.html [Ac-cessed 5/3/2011]

“It sounds like willow-catkin”

“smell the music“

Page 22: Chinese Tale

22

Insight from the experiment:

PatternMusic has rhythm and rhythm is a pattern. So a pat-tern can describe the music precisely. However the problem of this is that to reverse this which is drawing a pattern to describe a kind of music.

Because every one has his or her own opinion about what kind of pattern relates to what kind of music, there is no similarity. And also, it is easy to use pat-tern to describe one specific song, but it is difficult to describe a kind of music. Again, everyone has their own way to link the pattern with music.

However if the pattern has reference, and similarity then it might be possible to use to control the music’s rhythm. Because from the experiment, people will de-scribe the rhythm of the music with pattern.

ShapePeople enjoy making shapes according to the music. It’s relaxing and fun. And the shape can represent a kind of music not only one track. For example a ball shape could represent a soft music while a star shape could represent a more intense one. Imagine a soft music picker, every time you change its shape, it choose the music accordingly. But the problem is still quite tricky. This concept needs more research to find out the relationship between music and specific shape to make the link making sense. And also the technology is really difficult to be achieved in the time scale. But I want to integrate the playful and physical interaction between the media and the user, so the selecting process would be fun and playful.

ColorColor is the most successful one among all the me-dia. It is simple and easy to link with the music. And people share the similar way of associating a certain color with certain music category.

Hand movementPeople also have similar ways of associating music with hand gesures based on the beat of the music. But people from the survey are saying that they they need to use their hand, while listening to the music like sketching and making, so it would be not appropriate to ask people every time to move their hand while their hands are occupied to select some music.

From the insights of these experiments, I selected the best and try to reverse engineering them. And try to find the right technology to enable the music player to capture visual information.

I used a color sensor and Max/Msp to build up a test rig for capturing a color and select a music accord-ingly. A music data base was also built to simulate the music player.

For pattern recognition, after trying different software librarier, the opencv library worked the best. Both the code of opencv and color detection are from online opensource communities, modified and used under open source license.

Page 23: Chinese Tale

23

The poet uses nature as the media to describe certain things in order to express his feeling. These things are not randomly picked. On the contrary, each object and nature element has its meaning and role to play. It shares some similar feature with the object or emotion that the poet want to express. In this stage, I wanted to find an element from the environment which has the strongest link with the volume of the music. Or it could be the indirect media to control the music’s volume.

The media I choose are temperature, ambient light, and wind. For each one I made a working prototype with Arduino and Max Msp and asked people to try them out and get the feed back from the test.

TemperatureIn the experiment, a temperature sensor were con-nected to a computer, and subjects were asked to use temperature as a media to control the volume of the music.

People did interesting things with it. They used a cup of hot tea to turn the volume up, or they use some ice in a cup to “freeze” the volume. Or they try to blow to cool it down to turn the volume down. The only issue with the temperature is that the sensor need time to sense and adjust to the environment, so there is al-ways a delay between the input and output.

Ambient lightIn the experiment, a light sensor were connected to computer, and subjects were asked to use the sensor to control the volume of the music.The light is the most successful media among all the elements. From the feedback, the light has the strong-est link with volume, because they share similar fea-tures. So it makes sense to use one to control the other. Also there is no delay between the input and output. The effect is immediate.

Control the music AirIn the experiment, a microphone were connected to a computer, and subjects were asked to use the microphone as a media to control the volume of the music.The interaction and gesture is interesting for people. They can blow into the microphone, talk or sing or tap on the microphone. But the link is vague and people get confused about how to use the wind to control the volume.

As mentioned before, in this set of experiments, the purpose was to find the best media as an indirect way to control the volume of the music. I tested out tem-perature, light and wind, and the light made the most sense to people. It performed well in terms of effec-tively implementing its intended functionality with the input from the user.

Hanxu is the art of language, a communication skill. During a conversation, to understand between the lines, people need to understand literature meth-od such as metaphore. More often, because of the subtlety and indirectness, people need to understand none verbal communication language such as hand gestures and facial expression. And that’s why during a conversation, both sides have to have the skill to ob-serve and absorb all different information from each other to act back accordingly.I want to embody this feature of hanxu into communi-cating to the music player whether you like the music or not. In these sets of experiment, I picked up three elements,

like or not

Page 24: Chinese Tale

24

which are hand gesture, facial expression and body movement.

Hand gestureIn this experiment, people were asked to use clay to make their ideal music player and use hand gestures to tell the player that they like or don’t like the music.People have all different way to “click the like button” with hand gesture. I realised this approach doesn’t fit into the hanxu philosophy- the interaction is quite straight forward and obvious. From the user, it’s a pas-sive and direct communicating process. So I chose a less passive way to communicate, using the facial expressions.

Facial expressionIn this experiment, people were asked to listen to dif-ferent musics, while their facial expression were re-corded.

From the music player point of view, this observing of non verbal language fits much better to hanxu. How-ever, from the experiment I realise that it’s difficult to realise, because there will have to have a camera which point to the user to capture the expression and the player will have to anylise the face in real time. How could the camera be installed in a way that it en-sures the successful capturing of facial expressions all the time?

However, from the observation I realise, when peo-ple really enjoy the music, especially music with sting beat, they tend to move their body with the rhythm. And that’s even more subtle from the user point of view. Most people’s don’t really notice they are mov-ing their body until I point it out.

If the body movement can be captured by the music player as an indicator to tell how much the user en-joys the music, it will fit perfectly with hanxu. From the music player point of view, it is observing and learn-

ing from the non verbal language from the user to un-derstand how much he or she likes the music.

Body movementIn order to provide full functionality as a music player, the effective input from the user needs to be provided consistently to ensure the users body movements can be captured and clearly understood by the player.

In the experiments, I attached a accelerometer to peo-ple’s head, hand and foot and try to find the best solu-tion. There are two main criteria for the decision mak-ing. One is that it should fit into design phylosophy, second, it should be technologically possible.

Body movement -handCapturing hand gestures is the easiest way to get the effective input. Hands move a lot. But the prob-lem is as the result from the survey, the hand are often occupied when people listen to music. Therefore in practise,the data input from hand gestures is simply not practical as the hands are usually occupied when people are listening to the music.

Body movement -footFrom the experiment, people who used to play instru-ments tend to use their feet more than other people. The problem for foot is that if the data comes from the foot, an extra piece will need to attached to the feet. It would be too much to ask a user to change his or her behaviour in order to use the music player.

Body movement -headThe head appears to be the most appropriate place to attach the sensor. From the observation of the experi-ment, it suggests that the only attached to the right place of the head, the music player could distinguish the “beat” from head and random movements from other part of the body.

Page 25: Chinese Tale

25

From the insight from previous experiments I integrat-ed all the selected feature and designed an experi-mental music player with a headset.

The user will use his or her surroundings as the media to communicate to the music player in a hanxu way. Buy picking up color and patters from the environ-ment, the user give hints to the music player what mode he or she is in and the music player will inter-pret and play the kind of music accordingly.

Use the strength of ambient light as a metaphor to volume, the user will change the light as a hint to ad-just the volume.

The music player will observe and learn from the us-er’s non verbal body language, which is the rhythm of the head movement to understand if the user like the music or not. So next time when the player is plugged into the computer, it can recommend similar music to the user.

The music player will grow with the user, the more it is used, the more it will understand its user.

Final Experiment

Final experiment prototype

observing and learning subtle body language

use

surrounding

as

the

media

to

give

the

hint

Page 26: Chinese Tale

26

From this experimental project, I have following con-clusions:

The underdevelopment of creative industry in China is caused by varieties of factors from complex as-pects such as historical, political, cultural and social. By delivering the cultural uniqueness into design pro-cess, Chinese manufactures could bring some de-gree of change to consumers’ perception of Chinese products.

In-depth understanding of designers’ own culture along with the unique perception of their own social and economic political circumstances would bring the design activity to a new level as it would transform the culture and traditions more fundamentally and it would also stimulate innovation and result more excit-ing outcomes.

The outcome of my project is an experimental mu-sic player which embody hanxu. Hanxu reveals in the subtlety and indirect communication between the user and the player.

The goal of this project is not making the difference between a Chinese music player and a western play-er from ascetic point of view. If so, the easiest way would be to use traditional symbols and colors, as illustrated with a wedding candle (see report phase1) And the result would be much plain and straightfor-ward. Nevertheless, the project emphasizes on how to embody a unique philosophical cultural concept into design outcome.

Further work should be undertake to develop the mu-sic player’s physical form.Therefore, the music player will be more complete in both aesthetic and function-ality.

conclusion

Page 27: Chinese Tale

27

Reference1 Lin, Yutang. (1948) The wisdom of Laotse / tr., edited and with an introd. and notes by Lin Yutang. The Mod-ern library of the world’s best books [262], New York, Modern Library.

2 Mathieu Borysevicz, Denise Scott-Brown, Venturi, Robert & Clarisa Diaz. Learning From Hangzhou , Timezone 8.

3 Nakamura, Shigeki. Pattern Sourcebook: Chinese Style: 250 Patterns for Projects and Designs (Pattern Sourcebook) , Rockport Publishers.

4 Willis, Ben. (1987) The Tao of art: the inner meaning of Chinese art and philosophy London, Century.

5 Wu Hung & Wang, Peggy. Contemporary Chinese Art: Primary Documents (MoMA Primary Documents) , Duke University Press Books.

6 Wu, Juanjuan. Chinese Fashion: From Mao to Now (Dress, Body, Culture) , Berg Publishers.

7 Bradski, Gary & Kaehler, Adrian. (2008) Learning OpenCV: computer vision with the OpenCV library Sebastopol, CA, O’Reilly.

8 Lin, Yutang. (1948) The wisdom of Laotse / tr., edited and with an introd. and notes by Lin Yutang. The Modern library of the world’s best books [262], New York, Modern Library.

9 古诗中的音乐描写 - http://gk.juren.com [Online] Available from: http://news.juren.com/200812/206006.html [Accessed 5/3/2011].

10 Arduino playground - HomePage [Online] Available from: http://www.arduino.cc/playground/ [Accessed 6/3/2011].

11 Extended Language (API) \ Processing.org [Online] Available from: http://processing.org/reference/ [Accessed 6/3/2011].

12 Sensuous Surfaces [Online] Available from: http://www.apdsing.com/Sensuous Surfaces.html [Accessed 5/10/2011].

13 含蓄解释和意思---词语 [Online] Available from: http://xh.5156edu.com/html5/245659.html [Accessed 5/10/2011].

page16 http://ppppic.com/detail/100473.html?f=100473&sid=932117c42641eab5184843359498d776page12 联想 http://www.lenovo.com.cn/page12 爱国者http://www.aigo.com/default.aspxpage12 半木 http://www.banmoo.cn/page12 品物流形 http://www.innovo-design.com/Page12 Naturebamboo http://www.naturebamboo.com/ all the rest images: copyright Jieting Chen

14 Nevile, Ben. (2011) Cycling 74 Cycling 74, , .

15 Wikipedia contributors. Laozi [Online] .

16 Wikipedia contributors. Tao [Online] .

17 Wikipedia contributors. Zhuangzi [Online] .

18 中国元素. [Online] Available from: http://www.jvvvv.com/ [Accessed 20/4/2011]

19 blprnt. [Online] Available from: http://blprnt.com/ [Ac-cessed 20/5/2011]

bibliography

Image Reference

Page 28: Chinese Tale

28

Appendicie

class Lsystem {

String axiom; int rc, rm, renderindex, rint, rendercount; char[] sa; RuleSet ruleset; Engine eng; Lsystem(String axiom) { this.axiom = axiom; this.rc = 0; this.rendercount = 0; this.renderindex = 0; }

void registerRuleSet(RuleSet rs) { this.ruleset = rs; }

void registerEngine(Engine the_e) { // println(“register” + e); this.eng = the_e; //this.eng.init(); }

void recurse(int maxi) { //println(“AXIOM” + this.axiom); this.rm = maxi; this.rc ++;

this.sa = this.axiom.toCharArray(); String[] ta = new String[sa.length];

for (int n=0; n<this.sa.length; n++) { String replace = this.ruleset.runRule(this.sa[n]);

ta[n] = replace; }

this.axiom = join(ta, “”);

if (this.rc < this.rm) { this.recurse(this.rm); } else { this.rc = 0; } }

void render(int step) { rendercount = 0; doRender(); }

void doRender() { char[] test = axiom.toCharArray(); if (renderindex < test.length) { eng.process(axiom.charAt(renderindex)); renderindex ++; } }}

Lsystem ls = new Lsystem(“FF”);Lsystem ls2 = new Lsystem(“FF”);

int value = 0; boolean playing = true;int count = 0;Leaf[] leaves = new Leaf[50000];int leafcount;int [] flowercolors = new int[1000000];int [] leafcolors = new int[1000000];int [] branchcolors = new int[1000000];int branchcount;float startw;float leaftype;float leafinc;int fr;int drawcount;int bg;

/*public static void main(String args[]) { PApplet.main(new String[] { “--display=1”, “--pre-sent”, “Tina_treegrowth” }); }*/

void setup() { bg = 0; size(screen.width,screen.height); //frame.setUndecorated(true); smooth(); frameRate(30); fr = 60;

processing code for growing flower

Page 29: Chinese Tale

29

// get fullscreen exclusive mode //setFullScreen( true );

// change resolution to 640, 480 //setResolution( screen.width, screen.height );

// let ctrl+f switch to window mode //createFullScreenKeyBindings();

restart(); background(0);}

void setColors() {

String leaves[] = { “leaves.gif”, “leaves2.gif”,”cherry2.gif”,”flower.gif”,”leaves3.gif” }; int s = ceil(floor(random(leaves.length))); String toload = leaves[s]; PImage b; b = loadImage(toload); image(b,0,0); loadPixels(); for(int i=0; i<250000; i++) { leafcolors[i] = pixels[i]; }

String bark[] = { “bark1.gif”, “bark2.gif”,”bark3.gif” }; int s2 = ceil(floor(random(bark.length))); String toload2 = bark[s2]; PImage b2; b2 = loadImage(toload2); image(b2,0,0); loadPixels(); for(int i=0; i<250000; i++) { branchcolors[i] = pixels[i]; }

String flowers[] = { “flower.gif”,”flower2.gif” }; int s3 = ceil(floor(random(flowers.length))); String toload3 = flowers[s3]; PImage b3; b3 = loadImage(toload3); image(b3,0,0); loadPixels(); for(int i=0; i<250000; i++) { flowercolors[i] = pixels[i]; }

background(bg);}

void restart() {

drawcount = 0; leafinc = random(0.3);

setColors(); leaftype = random(100);

branchcount = 0; startw = 15 + random(50); leafcount = 0;

ls.axiom = “FF”; ls.renderindex = 0; ls.rendercount = 0; ls.rc = 0;

ls2.axiom = “FF”; ls2.renderindex = 0; ls2.rendercount = 0; ls2.rc = 0;

RuleSet rs = new RuleSet(); Engine e = new Engine(random(screen.width - 200) + 100, screen.height, -10 - random(30), -20 - ran-dom(45));

RuleSet rs2 = new RuleSet(); Engine e2 = new Engine(random(screen.width - 200) + 100, screen.height, -10 - random(30), -20 - ran-dom(45));

rs.init(); rs2.init();

String[] rax = { “FF-[-F+F+F-]+[+F-F-F+]:90”, “++:5”, “--:5” }; Rule r1 = new Rule(“F”, rax);

rs.rulecount = 0; rs2.rulecount = 0;

rs.addRule(r1); rs2.addRule(r1);

ls.registerRuleSet(rs); ls2.registerRuleSet(rs2);

ls.registerEngine(e); ls2.registerEngine(e2);

ls.recurse(5); ls2.recurse(4);}

void draw() { if (playing) { count ++; drawcount ++; if (drawcount > 3500) { fill(0,10); rectMode(CORNER); rect(0,0,screen.width,screen.height); } if (drawcount > 3600) { restart();

Page 30: Chinese Tale

30

} else {

ls.render(0); ls2.render(0);

for (int i=0; i<leafcount; i++) { leaves[i].render(); } } }}

void keyPressed() { if (key == ‘t’) { bg = (bg == 0) ? (255):(0); restart(); } if (key == 32) { playing = (!playing); }}

void mousePressed() { restart();}

class Branch {

float xp1; float xp2; float yp1; float yp2; float sangle; float eangle; int branches;

Branch(float x1, float y1, float x2, float y2) { xp1 = x1; xp2 = x2; yp1 = y1; yp2 = y2; sangle = atan2( (yp2 - yp1), (xp2 - xp1)); branches = 0; render(); }

void render() {

float hyp = sqrt(pow((xp2 - xp1),2) + pow((yp2 - yp1),2)); pushMatrix(); translate(xp1,yp1);

rotate(sangle);

for (float i=0; i < hyp; i+=3) { branches ++; rectMode(CENTER); noStroke();

color c = branchcolors[branches % branchcolors.

length]; fill(red(c),green(c),blue(c),140);

rect(i,0,3 + random(2), (startw - (i * ((startw - pow(startw,0.9))/hyp))) ); } startw = (startw - (hyp * ((startw - pow(startw,0.9))/hyp)));

popMatrix(); }}

/*

Tree Engine */

class Engine { float xpos; float ypos; float angle; float unitsize; float anglechange; float[] xpos_a; float[] ypos_a; float[] angle_a; float[] startw_a; int acount;

Engine(float x, float y, float a, float u) { xpos = x; ypos = y; angle = 0; anglechange = a; unitsize = u;

xpos_a = new float[1000]; ypos_a = new float[1000]; angle_a = new float[1000]; startw_a = new float[1000];

acount = 0; }

void init() { }

void process(char c) { if (c == ‘+’) { angle += anglechange; } else if (c == ‘-’) { angle -= anglechange; } else if (c == ‘F’) { float us = unitsize * random(1); float tx = xpos + (sin(angle * 0.0174532925 * ran-dom(1)) * us); float ty = ypos + (cos(angle * 0.0174532925 * ran-

Page 31: Chinese Tale

31

dom(1)) * us);

stroke(0,0,0,70); if (branchcount > 40) { line(xpos, ypos, tx, ty); } else { Branch b = new Branch(xpos, ypos, tx, ty); }; xpos = tx; ypos = ty;

if (random(10) < (2 * branchcount)) { int lc = leafcount % leafcolors.length; Leaf l = new Leaf(tx,ty,angle + 90,us, leafcolors[lc]); Flower f = new Flower(tx,ty,angle + 90,us, flowercolors[lc]); leaves[leafcount] = l; leafcount ++; if (leafcount > 500) { leafcount = 0; };

float dice = random(100); if (dice > 90) { int lc2 = leafcount % leafcolors.length; Leaf l2 = new Leaf(tx,ty,angle + random(360),us, leafcolors[lc2]); leaves[leafcount] = l2; leafcount ++; } } } else if (c ==’[‘) { branchcount ++; xpos_a = append(xpos_a, xpos); ypos_a = append(ypos_a, ypos); angle_a = append(angle_a, angle); startw_a = append(startw_a, startw); } else if (c ==’]’) { branchcount --; xpos = xpos_a[xpos_a.length - 1]; ypos = ypos_a[ypos_a.length - 1]; angle = angle_a[angle_a.length - 1]; startw = startw_a[startw_a.length - 1];

xpos_a = shorten(xpos_a); ypos_a = shorten(ypos_a); angle_a = shorten(angle_a); startw_a = shorten(startw_a); } // return(false); }}

class Flower {

float xpos; float ypos; float angle;

float rot; float unitsize; float s; int id; color c; float scl;

Flower(float x, float y, float a, float u, color col) { s = 0; angle = a; xpos = x; ypos = y; rot = 0; unitsize = u/4; c = col; scl = random(2); render(); }

void render() { if (s<1) {

if (random(1) < 0.1) { ypos += random(screen.height); if (ypos > screen.height) { ypos = screen.height - random(5); } } s += 0.2; stroke(0,0,0,5);

pushMatrix(); translate(xpos,ypos);

scale(s * scl); for (int i=0; i< 2 + random(10); i++) { fill(red(c), green(c), blue(c), 80);

angle -= 3; rotate((angle) * 0.0174532925);

triangle(0,0,unitsize * 3,-3,random(2) * unitsize * 3,3); ellipseMode(CORNER); ellipse(0,0, 2 * unitsize, 2 * unitsize); }

popMatrix(); } }}

public class Leaf {

float xpos; float ypos; float angle; float rot; float unitsize; float s; int id;

Page 32: Chinese Tale

32

color c; float scl;

Leaf(float x, float y, float a, float u, color col) { //angle = a + 90; s = 0; angle = a; xpos = x; ypos = y; rot = 0; unitsize = u/3; c = col; scl = random(2); render(); }

void render() { if (s < 1) { s += leafinc; stroke(0,0,0,5);

pushMatrix(); translate(xpos,ypos);

fill(red(c), green(c), blue(c), 80);

angle -= 3; rotate((angle) * 0.0174532925); scale(s * scl);

if (leaftype < 80) { ellipseMode(CORNER); ellipse(0,0, 2 * unitsize, 2 * unitsize); } else { triangle(0,0,unitsize * 3,-3,unitsize * 3,3); }

popMatrix(); } }}

//Configure gain here//Higher numbers = less sencitive// 0x00 through 0x0fint redGain = 0x00;int greenGain = 0x0;int blueGain = 0x00;int clearGain = 0x00;

//RGB LED pins//Digital PWM pinsint redPin = 9;int greenPin = 10;int bluePin = 11;

Arduino code for color

//Include the I2C Arduino library#include <Wire.h>

//7 bit I2C address of this sensor#define I2C_ADDRESS 0x74

#define REG_CAP_RED 0x06#define REG_CAP_GREEN 0x07#define REG_CAP_BLUE 0x08#define REG_CAP_CLEAR 0x09

#define REG_INT_RED_LO 0x0A#define REG_INT_RED_HI 0x0B#define REG_INT_GREEN_LO 0x0C#define REG_INT_GREEN_HI 0x0D#define REG_INT_BLUE_LO 0x0E#define REG_INT_BLUE_HI 0x0F#define REG_INT_CLEAR_LO 0x10#define REG_INT_CLEAR_HI 0x11

#define REG_DATA_RED_LO 0x40#define REG_DATA_RED_HI 0x41#define REG_DATA_GREEN_LO 0x42#define REG_DATA_GREEN_HI 0x43#define REG_DATA_BLUE_LO 0x44#define REG_DATA_BLUE_HI 0x45#define REG_DATA_CLEAR_LO 0x46#define REG_DATA_CLEAR_HI 0x47

float redFactor=1;float blueFactor=1;float greenFactor=1;

//initial darkLevel;int calibrationDarkness = 0;byte calibrationRed = 5;byte calibrationGreen = 5;byte calibrationBlue = 5;

void setup(void){ Serial.begin(9600); Wire.begin();

// sensor gain setting (Avago app note 5330) // CAPs are 4bit (higher value will result in lower output) set_register(REG_CAP_RED, redGain); set_register(REG_CAP_GREEN, greenGain); set_register(REG_CAP_BLUE, blueGain); set_register(REG_CAP_CLEAR, clearGain);

int ledGain = getColorGain();

set_gain(REG_INT_RED_LO,ledGain); set_gain(REG_INT_GREEN_LO,ledGain); set_gain(REG_INT_BLUE_LO,ledGain);

performMeasurement();

int red=get_readout(REG_DATA_RED_LO); int green=get_readout(REG_DATA_GREEN_LO); int blue=get_readout(REG_DATA_BLUE_LO);

Page 33: Chinese Tale

33

int m=2000; //bigger anyway m=min(m,red); m=min(m,green); m=min(m,blue);

//Serial.print(“m - “); //Serial.println(m);

redFactor=((float)m*255.0)/(1000*(float)red); greenFactor=((float)m*255.0)/(1000*(float)green); blueFactor=((float)m*255.0)/(1000*(float)blue);

}

void loop() {

int clearGain = getClearGain(); set_gain(REG_INT_CLEAR_LO,clearGain); int colorGain = getColorGain(); set_gain(REG_INT_RED_LO,colorGain); set_gain(REG_INT_GREEN_LO,colorGain); set_gain(REG_INT_BLUE_LO,colorGain);

//reset the RGB (and clear) values int cc = 0; int red=0; int green=0; int blue=0;

// Take 4 samples, and add them together. for (int i=0; i<4 ;i ++) { performMeasurement(); cc +=get_readout(REG_DATA_CLEAR_LO); red +=get_readout(REG_DATA_RED_LO); green +=get_readout(REG_DATA_GREEN_LO); blue +=get_readout(REG_DATA_BLUE_LO); }

//now, divide the totals for each by 4 to get their average. cc/=4; red /=4; green /=4; blue /=4;

//take the values mesured from above, and multi-ply them with the factors to //find out what value should be sent to the external RGB LED to reproduce this color float redValue = (float)red*redFactor; float greenValue = (float)green*greenFactor; float blueValue = (float)blue*blueFactor;

Serial.print(redValue); Serial.print(“ “); Serial.print(greenValue); Serial.print(“ “); Serial.print(blueValue);

Serial.print(“\n”);

//send to LED analogWrite(redPin, map(redValue, 0, 1024, 0, 255)); analogWrite(greenPin, map(greenValue, 0, 1024, 0, 255)); analogWrite(bluePin, map(blueValue, 0, 1024, 0, 255));

//hold it for one second delay(100);}

int getClearGain() { int gainFound = 0; int upperBox=4096; int lowerBox = 0; int half;

while (!gainFound) { half = ((upperBox-lowerBox)/2)+lowerBox;

if (half == lowerBox) { //no further halfing possbile break; //no further halfing pos-sbile } else { set_gain(REG_INT_CLEAR_LO,half); performMeasurement(); int halfValue = get_readout(REG_DATA_CLEAR_LO);

if (halfValue > 1000) { upperBox=half; } else if (halfValue<1000) { lowerBox = half; } else { break; //no further half-ing possbile } } } return half;}

int getColorGain() { int gainFound = 0; int upperBox=4096; int lowerBox = 0; int half; while (!gainFound) { half = ((upperBox-lowerBox)/2)+lowerBox;

if (half==lowerBox) { //no further halfing possbile break; // gain found } else {

Page 34: Chinese Tale

34

s e t _ g a i n ( R E G _ I N T _ R E D _LO,half); set_gain(REG_INT_GREEN_LO,half); se t_ga in(REG_INT_BLUE_LO,half); performMeasurement(); int halfValue = 0;

halfValue=max(halfValue,get_readout(REG_DATA_RED_LO)); halfValue=max(halfValue,get_readout(REG_DATA_GREEN_LO)); halfValue=max(halfValue,get_readout(REG_DATA_BLUE_LO));

if (halfValue>1000) { upperBox=half;

} else if (halfValue<1000) { lowerBox=half;

} else { break; // gain found } } } return half;}

void performMeasurement() { set_register(0x00,0x01); // start sensing

while(read_register(0x00) != 0) { // waiting for a result }}

int get_readout(int readRegister) { return read_register(readRegister) + (read_register(readRegister+1)<<8);}

void set_gain(int gainRegister, int gain) { if (gain <4096) { uint8_t hi = gain >> 8; uint8_t lo = gain;

set_register(gainRegister, lo); set_register(gainRegister+1, hi); }}

void set_register(unsigned char r, unsigned char v){

Wire.beginTransmission(I2C_ADDRESS); Wire.send(r); Wire.send(v); Wire.endTransmission();}

unsigned char read_register(unsigned char r){

unsigned char v; Wire.beginTransmission(I2C_ADDRESS); Wire.send(r); // register to read Wire.endTransmission();

Wire.requestFrom(I2C_ADDRESS, 1); // read a byte while(!Wire.available()) { // waiting } v = Wire.receive(); return v;}

<pre><code>----------begin_max5_patcher----------3174.3oc4c08aiiaD+4j+JDLt9RQ1r7CQRwhhBz25C8sh1WNbXgrsRh1UVxmjbt8tC2+6URijsbBkMkyDZFb6l0NVRVZleblgyWj6ue6MKVV78jpEA+sfeL3la98au4ltC0dfa5+7MK1D+8UYwUcW1hMIUUwOlr3N3b0Ieut63LJY3Xoq6NRwxu9INa3fOTjWmGuIo6T+yxz3rgyjuaSZdVRc28m0evsw0qdJM+wuTlrpFnOlfeO4t.pp6MN6dQyGhtmD7SGtQE6pGtSzQO3pzeq6ASYMeU3vvUV+qaSf69hEA+T6Y9iaus8k6divA0.XPIHhFQrNXHjH7HzHO4WZXzWAFYEwqWFm+nQLgNSLgdJLg0AFJR6axtWYDzvjNV.SbYUwt75jx.RyekF-AGxLAGwI.GRXm5SqPxcAQzy.NgyDbRyqWbWibS++Z+HlP02R9USlWTyDeHm.eh5zjn51WE5V8I7gmW+FlfzukEr5oFgzDCPUHl1dHc1d5MHKYmQThM-WaO2gr8mw5YlLLGpwSMSyIfZlvqUyVtqttH2.VHHy1pKn3n1ypVYzEQqqUYoqSJGH-68nHgrGFGyehgKbytrNNn4xnyjkoDUmUTduh.LjGdAb8h8egGZlkrt47a208PnW.PzbKZdr6E+KSqVEmk.7n90PQDGuodojPveDvlPn7RrIPuWnEzH0TfUGD0J1e4xJS4u1yEYA+fIaCQg3Y2bOHAROgcZLy0osyAR3hKU0wk0lfEMd-vhlCvA31FO7RPEm4XeUcwVC3glh3zqZAnC04JBm6E3Qcw iO lYxwBJkO6YL .ePCC4usoLv1+oedSRcYQiUcirIhFBF..Y2aR9kDnx4rCfdzJaKS1ljuNnLIdsIM.FhAx-AyqxAmwiXHGHGpvxWSqu+mqueSwyolTOzbLgkNaiBhpSrIBY+ta3jurItwsgue4dfOoek5v4xspdOJ4rqkikSLhWssrwxyCAe9+VkTV845z73OuYK+yqJxJJ+7eY8m5949lCYBGDyTdfe93vz.1HH9gdxtMKO3N9XVWhmpfFR+EErcdVNmcYgY8FDclDDTWHHzbnzMMd2elrXHuHbog1Gt4dDTE89BUj2JTIcNTMwLyweqK-

Max Msp code for motion detect

Page 35: Chinese Tale

35

2Fl7aQqw2dCLMjj3ySKWkj0P2AGJ.w3fWPLWXbYHjG99zFhqcHHq4tn3DpHDiyEbuk+wtzDJMhoGgJgrB5YElXlQ4pTHJjvfzevodTTtSF5Smo6WgGLLEQzP-0M0GRBxIDQHS.GNfmI3wyfSbrdCENjmmLaFQyN82bvlO83Wu1oxXavxrz7uYh-CQLSU.uCI6MTfrUM.RF+va7RD.hdjn4dklk7bSPXoMwbd3QbyhCjnnSpRCdr.yRGFMhHav2GyJV8sj0iDwtYw5jGly8nXaR9gqu6JN5kiuxz7skIUI40w08D-93ma7tr5ubDHsuPFGe9GhWkL4Wd+.6+Kobcbd7hgK5wxz0E4sjwQe21CO7.a60BHhxwTd2UjGu0vWttnHaYb4yoUoKgBNrejnQ5Mtwa735j5TfhXj8euzMfUl-w2qj73l6wSUqJKxxN5VAm4YCmYcxyoqR9kz00O0WQmQO9C82xHImizqN53mR+5Xcr+ZaMlHiO037ExFehSMhLkB2jFMIP4lfHV.ku1IO1ORMop2qU+NfTmwpzMCVlfe4tKDM6XxoPL5jHBwJDQsWn8EhtmFPltlbcmdUwlMIfL5hEHBEGMEzq67iIwB5owB5.+SLm0r4BFnKBbBEJH86mPoh+doS0WtdJjIMnvKuS5TibVGIDEdDS.Yr2nfTHgXsVEwApMmzBxkZ.g9Rl7sY.YrmKVAFGljswosolupi-taOuYTppXW4pAJXXFnfi4g0IUsYqdvqiebuVU.8nq6oz0qOdJdHsZq2Vzva8zmkxvylroVR1F3uqJcOCz1inZhkjseA1bakQHHR18Grg966zn3mSV+klGSicjuDWWWltbWMn8dTLJmxa7S5OeSfIKiy5C8Y+sXwrb223M1lnKFe9aOfD3DdZbcQpoXSQr3XBXF8PlU8izbCNMKspF2Tt8uLgGlqX1wiwVGsN3ebuqN8okU-MODg3p1r4eaBMTXhFPSGQoJOBMNcsLL27pQQ3kOtPneKzV0Vu7KrVFusZ-ZLYl6zyNycfy9P9bXgCu5rL2MknuvTh2kHtNZXPFKCC8oxyLUQfUB7Du4Pi0IHQevZZ.UHh4bWCEmC5tF+CDlrChn5YOdCo+fyTWqNHZJc7HisXHGekbBwiTxGBC9UqaESh7X1b5RITcd1PQFcUcllhiMsXlTLLaGe5HNlEd843uahioXZaGXX5gEwkaX-3oWIM7469EjLeHXEgZ+aW8Vd7SF6sHgDy9nABKgnOXvB8hIh5RsqptLIdS-vmL0gQBE5HCKpSKVw8lUa2TSt8Cztb3aThIB+NuBpNqj5EMPxDqEMiqDsY6Oif.lyiflkAZL5PB8Jurylp0pRySBH2aPJPRvKMOCRAQjKecm4x0hp4Exrjh-2BYlCMzZzGf0w7jAyKYydtSn253D0UZMEMk0PSlAkH5o+.iqH9e2VBE3kYdtAY-H9fBjbGE0aZ3xok3Ey1i2dOlzPSXoFd8Z25YwKqLweHt3OF3bd+hv9cowyvCP96ATiB7LJ9tOCQ5FR8E H Y V V E Q z o 4 P n I q o Q h O . a V P M p v 7 H S .RD9QQHBOj1O+cQEKmet9zJn+oI90ZJtumlLsqifYe3BLOLUff9AYiOxzN5Cd6DKbHaJLlz-p3l8tchEE4BmWjRBOzP1gBWl9nox9W8SkIqepHyzBGmiXV.Y8qkdF0pkik-KRCHKZ1IuseGt6Php8jE97z1xXgXV5BHDNvRtOYLapxyQQrD78C9LnGT8vZTZV-z3w3ZiaNHXt64ziLv5v3rqVnq79+nQG9wTIALNzuiG50Q8+OLIXfubw39YvGB843ciqwN9QvzbAnG.yRft4BD1wsNQATLhNbMlhFvlIkVX0JT6pmb3QUUxzdG-BOBenAlk0ippzzyxpPWs

gFJ9PMK6WqB1Tz1hy+mj7pFN59uZJUaTI9.EE-J4D0Ol00bU1Dl2wGor42uHf8Bt9su6NhF2ENA2QufspQX2Wi3+b27SJNrwpwEWEda5c+pKbkwS7sP.SqKhM4YqBuJ5123w85fReIS1SlqRlX96FHv99W3GkTUx-3nu4v.Qw4+oprJokIChCzRiEwghX+IK66OQvkL86iSInhNOTVro5W2rrHy31WO1PCCZuOE2m24oZbh+wxhcaCNTP6wKWC7zj5wDvKEEw2CtoJIKvXZQjnCIjdu.7pciqIfkc4aiW8s.x8vOlJD.1pQbPjIRcIqvGq2jtewufPNTdN9vpfbIr2l2elmZgyt8eygcfkHEQDEcmweabCyc1cIcFlsk8PKaLuEfxxGOl0jM+QcmweaLq458V8oGrdzYCVRz6g99M.g+7LXU5pAKNh9G.Ky29dg5 i xXU2M-73s7AXn6kKG99AvWsL3a2O9Nr71mZMvKN5hd05e27Ze+UhS1RSu3wYllzNkjX7Onvjz+HIFwozTDyBZRv8OZR4VbRRsfldAg+dSSsaormWdxspcJsMicQtklH1L14VaAQVIO4VbJxJbh5VZRZCMMSY7nvtx4y6V7FxCe3sRqp2AZ8sRS1Xi3EDtSnIJx5iQ8+2BWW9r6Gfa+vajV0D+SOUZCMobqblzF8z1sYAW5ukUtkdjr36NLYijuaG3rQ91sQSXUPWN1MYa7zxsVQYVEMga8bmaikI2ZXhYi.N0sN0vrI.Gpa-ClfZyPG0wALa0XmaU631DfSnasNERrbhNGJh6cS8ZS.WT2NSG0loUnt0oIVn-szjCG5rglXtcriayXG2s4gkZimSbGKiayPmaEwE1LshzsS0IrYnS3VZRZiHtvsS+JswqWgaEwE1fSRh+ki.gaMOIsIdboiyagMNpHcq8IoMS2IcajcLpGN1Yicbla86UZ0TvMWCyuJ+gT4ekjQ5XO5rkjbmiugVJL4P4aqB+0sllh7uxEak6bT2N8qR5cwjGYUNL09Whvbr0RaLCPbNIctBYvjNmjXmijbaRU0VYszwzjMlK0tUm-SqrklbmsIszVZh4WxSZ2N8q1lHnzt0KEpck90woVkZUdLcLToo9GMEo8P-ZxFIpH2JPE4gxSBaboKxszTnUlnbaxKzV0F2t00fPqz6bbhwswc7PsGhSJ+Cm51mTcZrT1PUZGmmGqJ0hqAJqJOMw08DhUkwm53lL58t2BZ9veb6+2GNJwT-----------end_max5_patcher-----------</code></pre>

<pre><code>----------begin_max5_patcher----------1880.3oc4bszbaaCD9r7uBNZZu4HiEuHYu -0do26L8TmLdnjnkoCenPR4XmL4+dIAHkj8.FBRCAizlXKIRoP8seX2E6Kluc0hkqKdJt-Zo2u48OdKV7sqVrPbp1Srn63EKyhdZSZTk3isLKtpJZW7xqkuWxVwYKV+vGn98m7th757nrXwa86kIQo8uS9grj7z3Zw0B2cx8Q0atOIe2skwapkXAGfWg-t1i46KdB09HDrB48wSWnhC08WI3ru3pjuJ9hg1qf7zxOY8y6ikW8kK89X6678qtp8gq0Tzyi+Rib1KJ0w O I . 6 x 8 k I 4 0 p 3 C 5 D 4 C X X 9 . H z V J f F x Z e R d .

Max Msp code for color detect

Page 36: Chinese Tale

36

FMHefFfOlgP+p06iRMnPhIAlSC..PHpRAFuh4tJ.oEQaWGkuSkN.XPc.IiHrH3nQz.lJgHvuIIkp3zFj2rxofU.h4zSHLhfUD5IrvQnE7bnkqMr9xmheVkwyTcehFkT-5dLr034GPJzIRJB2cpdZdjzgr0wkpHDt4rcnfP+.7wm1OwfpIcbv7MhpK1sKU0lpD5TEUrvKAEw5kQs7SnTjLoReYT91hLOtJYzftCjBL0Wn4yAC6kzzjRVb-cYgGfPHUzB13zBU7jO3Ladr9PccQtJgGlpdOASkl3n2lh+7EloDpDMv3aAFF3PgJMDWnRQmxMHWHW3A5OAwMtKpVoKelIUMDa3AbhV4MXG5XPidb3jM5A4xcH+8xnevvey25EoRFCLWTMAx363L4dd1Kovg1iOdSbxiwJkafZvva4BWc.NTqf9eWMx+Zp2l6aztTYoCXSZoKc+yk4GhMbDtyOInAs1mrwNUtAOl9dYqOnnPQSUVB8k0yI3cyu0focEZbGTc1oNWVWCXxlTWnzy8TSPmLFw.Axb03tRZJ-ClFJlMukdhuakEZWBWpjPClDpT1kdhYf6WotVYzKxKjqLOTfYZGBRme9gWF+AFkbtqrHq54r0EopXFjoYFLRRMDGOjlckEG16woJHk.SaGALQ7s9HmIjlgK4s-GnxBhabJQFCDk7yP4tenx6u9y+315hau+P7pGpTQPfoMjnxjh.D0ksjNjuOZym7Pqj+nfY7MYODwxsjE9cCXiPLDUDCrhExf.+gXm6RKhDNge0KlEo07OsAR8h4iQkGk+0UahNEmx8s74lhzhRIJPqB7QrffqU9J3LIttLQdkZy2bUnhnBvli+wx.fo3o0Ch06donwa9i+0Je04h17V1levECuXsyZKVFrgQfrH4+uawpzVKVDjI6LN8+vKVUeoUhUr2.6XnVaJxZnkj0IoI0OeNYoc9nxsIkQZALYgVP3QoP-kAU8Fb4OXUIX9lrYvxxGF56lkkXndmzHcdpBujQMXYD6xCAGH6hrSL3U-CRHQO4oZ9RXFLWdJoiPBOEws6RHCogXxVIyCOmPbeMDUib.CLnIib2mdSFhKOqha-JNjWGW5gZ9qxpfMUWIrefkSWJFREkfwpC1LmBo9emckBGtajSdDD5jXHDdup-peUZx1S6edjFQni734B3QWEYGRqkQpgfIJybPVnW3rtx.zYHzKOEfUa7CMu+9ChuC3MGf6nAixMXOOXxd5PkiZ1n01G+NEU4PdLerH06WT4ZvGYNWl8bTWWvf43xbLNxrzRUcTopg7FBMX n F g x R W E D d Z X M b 1 c V q p K 1 q h O L X 4 e -ocELIP1Ya2Xi0AaQFbZpl0d5U76pUI1s5R1mksIinraPfIy1ni.BjCsvr55wX9ALd+x1WFuuc5dJii1phfLXlpcC0QWNHAXWtV1OjTu5y0qxJdLQo4A2jzhbfBvhMW4AFNA-9FI41rnlfFd5BL0KvLFrUtb+.maF2D24S24cyeWEWVcScRdzMY6I2Hpp1M+51OH9YUyoTkAl4Flhdqjtd8vPtgYxPkxxf2VXTeotuuiVIqgGxnYxAMmJIqIv9e77A1UfuoRKMPu+h6NLE9hxTclNuAlh6HCs09nOIppgxXVLtuFhTCieY-c0HtnKSSxe8snq.Xsm+k7TUwgxM8Wp9aHSuSXaabUqS55jlclN8gZmsqy9P2mr-cab945MYIa2Wzrt0AhAV0zESs2RjihoWA7KMlZCceTLQsKlZue.GESuB3Wb-dRGHgsKjPZfIlcW5ZB00CFAR 1 G Q H m B Q X s Tu Q V E S Z 4 s z 2 t z D S G LY Wu .XcV4rquRMQDXuc4zDQX2x2scW1.s7AvsKlzJV.QUvrJpnNHUE3fXJz8vDWGL4a2s57Qt-GOg0ASuhLuzXhoiaS6FwK

C6dPRGuS1MHEFw8fjuyAI+WDBx.pRSTWp8dXg0VNVYokj+2Oi3HC.1wRqBOQWVfOU.OnqaqniGY.vN5Z8D84CT3LlEvDSwrL-c1I2tI9nEj31MdUtVktJz8vD0tAW.5jzpkisPqn5YtGMYWsIhNgphsbkhzASLrChIvAwD0Awjci4gpSwPIVtoHAtGlzpjCBLYuxpQXNWtOZAIhkqGpVAEX2cfID-2K3I8TwsLOoS58D65xjnEOY4F+oCOYWOl53I.rb+izYkyxwDnUI0nNXVTuEL0bv2u5ecBCR8M-----------end_max5_patcher-----------</code></pre>

<pre><code>----------begin_max5_patcher----------2585.3oc4bs0baiaE9Y6eErdRmIoUQF2uz25Oh9Tm-cxPIQKycEI0RRk0a1Y6u8RBPYI6.FAJeDLTahsEMDs347gCN2A9iau4tEUOk0bWx+H4embyM+ws2biYn9AtY32u4thzmVtIswba2sXWaaU4cyruU9JyfU-K94OKD6GrbWQd4lrVye.dXvsosKeLub8WpyV1ZefBJdNZVBiH6egf1+yje5vGT0t1W+IYGp822lY+XtaQZ456R9o928Ou819eLySloHqoIcc1dBuM6oV634kIHW7Ha+fOTU1VlVXHg69m04oabx8jw4dtVa3dtx7hg6wpSx88O3l7uYdvXR2ezHf-Bv.R5SIZWHBWAGhHXBKhXdgGGHRY1u0wmeGfrIuLKA0IthbgJL4DQE53nBSxLnBi2+hPehUIjohJyfV VA q b A I D N f B J Ty Z F J m X d g L m G w K c v N .CLEP8HJiVT6hlHAKFaQSU5Jix5uGQn5IhH+.6Jbod.K5Wv3qYEeQjy2ZSa050axbot.MYV-TYXNo5sY4LurEzI3t6IuXWQhvASJAzRAVYUCRMdNHo.qSrGV l8FP -mQmnkS1GI67LwJKGQSzYs0UItTsIAzEoAlmalr43nYg7HfhQr46ADJ7x8H5Ak8.hHPKkjt-nwEffgSU+.ffs9HQgVW+YCHOrop6I6JBBEfLu15hLicveY.0B1wCoF8fvGeEZtKnQB2BEJmdvEfHwonwiblO0Ydh1vXr2q3lGW7lBo3sQiuPFqR2iiBD3PAp-MMAB90GJ.nddJSdshBH3PAhlckhBb.CuivrA1It1r5IbY0iCXdQnZadQXWCo-EYtqnG3H3PChld0fFcxutfCl.P3fYgC9AP48OOQ6JVjU6hw4mo9htg5y.Q+PneT5SLXASoljNjgzazOjFcd4T370pLp6iL1T0fJsYLgh4uWNPNdDzNq6BCz-7kZCJvVrAJMVBYbTqFTkKDg.X5zUCoSmdMX2vcAWvvAGRqWVTa0Iic-CGtxkNfYZUZc1JtJ0xnlMn.Fxw d w . 9 k I 9 y 2 r 8 f w A A . i 9 b + z u T c s A B .lHh85GiVPvswzrm1Vmzotb9m+3G+3Gdf+4O7.6S+stqvcWQ9zmtu6Rp4xj+dR+64BFmZ174mzvKCYa2Cl7br7hmy0brRFJEJB.Einh2rXzoX+K3BJIfEnUQhejXYUQQ1gJ577xp0YsIsOlkTVk23pFe

Max Msp code for controlling music with ancient light, temperature and air

Page 37: Chinese Tale

37

DHS0A5PHaJ0IfowhH4Bv6axW+XaYmKI+EW..fk3PfMFgsEzGeRIk..AEoa21Qie7oYoyVLa4rUeJoanjmRdntpHIcQRaUxxU6+y5aSnkU6JaOVN9HrBPYElEprI8X.p5Cy+xCUiX+Yas6BhpgrDXXCexUrCY0HLxGSocezRvqItRbMTYK8jqrE1F0E4s1YKWfZV5h+.rYGvCNDMrxMpajKiqkd-4ToCPSgfymxgRfqsPGlFOtTN5ZBLa5dAXyVKgFYoqacZqytbBP0cXoMe0Hp-WJ3eeSFSm8tr5ultIwcRpjPVpG9gJAJOqNk9xH1m8szUK+O64lulV+Laltqs5wrMa+xpzkthuX5lJrou11iG1tit+mmHHhuiOaxWW1i+OeErU9jAp2NB6LM+xE2DH0+raYvyx.Kq1rp66pZ6CvPzn4BtRQXyr+J9HVnMaa9KueQ+cIIZFl339OFpe1a58KDMbLB8if4eKst3EONEGoUyN9hW8DGehwVUIhQfTiO4xwEqew-ClgjJFclyqN9CajoryZppYS9pCg6uWHg+rByisaQlrcKq5IL9He4vryvvEr0XpsJ0UTq.tkMFxuAwZv1VnoHtMMGuYdIvW2ML5Joadax54xjzDsvo0bLG7Dhgo5CY6.9LLCJ7zmtileuXQ0FWXCBbrgvzd0q+uqwE8sMIqqq1sMQ3LvG3WLYC7QhhlME1nKl5cJ1U6wAOlXaLLFzaJD6FWBXbYW41zk+Rmgd6WtBZ.9URRqyJ7S.Pz2j6iu5B.bp93fIVzrL8vNr4wd77kNwIQcNXNy4Uuvay5b6mTexAmqcXAD-vhoJrqVo3o04huxMQkn6exYNu5XVKzd8O9j05fMYAY05r6H6+uaxpNTSVT38Q3+QmrFslrb.MNLDrFQPux5zCt.7cTEQDoc5wTOuJ3PVehAqWD8Ux4UA0EfPgrgpeAfPia.YLID.6iT8POBJuRDPbsK04.1Ho3gioBhHhDPFIPDSSJjUmfRvIbWYBBvFAi7BAE0oxDD6Ly1wv2mc1xFsBdD7YteMIp2sJ34NQu8cGniT8RdVS-QwtMsVO3P3o1OJC5An.j828R.89R089a2YdF32riumzIUAjMniEPDHrWYE98q5Mt0X90pMIev4I9.f6Yq8XzfJSb7TXywfkl1zZWc4DVCXwdQF3PfUQzd2Zb.oZqK7.vreNDjh.KOrEdd2wiQOzWvGNsm7+XsvFHqBEWG6K+psTQTm0CACYvFpAId6KWj95A7JFssNaaV4pj5rzUt.H.iVGKsG5WVMjJRLWTjeNuc9u1Nun5q4N-Wd.Y76R6VCma6NFEvwu2wIeoHsyogmN+BALdeggOydkjwis9Bqwz5uOjb++pIqt4917xz6K1Ru2jss6+qq9r4q4cC4JBL3pC+9UIH0QcV46+xjQ2zyPdRQLrCK3Wa6aqK599d3bTapvxQ66aZzfTjKJRgG1h3Rw4hThHYavsM8WRP8+2kNWH00X6CwgFy7xppw7gZ1bIu5ra1PX8i+RbpoZW8x8eT6OwISNPaqxZ5UR2l2YY5vM028OGcSOluZUV4wx M E 4 q 1 V 0 M u M P D i L q 4 K M 0 e D f d R Z B G V-Z5UON2zzq.yKMMQ7gl56NoPhSbOnIQPIIkOh38wrDPZpuy3O8xtfRRbgGjjgtwgSB2mYtvN-w4i7MSGV8kQHMw7QGdeKwGRcS9HNwkgcUmOJBBqoNNM9HIV7QRj3SCN-N5HIhOSbg0zKwKTJvzjOtnHBqFboWtMEVW4D9XUQFVuvw53CmvpHjlvrXjn7JFp.Gc.VFgHkW3TX8wzynCHgySbOonvEAkOJBHg0kWhWR2gUItOw9pBNE -giJJB6iCAgUTxqfmPAmjN07FQDbRhbJRJrwEP8QVhE1H5XdE2aXEvY9DkIMvom2GaJz-

vJOw7w8DZfcOwqXeIwGMQUQHNE34NebHfG1.x4dkjfvZsi6U4dBrLtO5mDgU-movGaKp.O2o8klBW3JBjuzT3BpSf8klngilH9RSrvQSdUFp.mvPenINJBoov-V1dgOQRIvwGNIjwWuDHBblB7wdmLvkI2GclRZ70fC5vttS6iLtNrYeVy7sQPBHMIi-OZR5CNoCLM4US7D3dcxGeekgUmozGcl73qBKgU6jOJmvxnijzQX9KHg-cli3CNQCq7M0q77DVbh5UdCYAMNJJwWZJbwaRo9RSArXqReoo.JOI7kl-BXNUhv0cbU7QSBel6Dr3il3A1dmW44Iv0Iyq9o+sjmmte4Ou8+Bbwl0DD-----------end_max5_patcher-----------</code></pre>

<pre><code>----------begin_max5_patcher----------1664.3oc0assaaiCD8YmuBBit.Mcci4UIp8sE62vturn-nP1hIUs5Vkj651h9uuTj1wIoTwT1zrLnn9BkL0YNb3vyLj46WMa9p5sht4f+.7ufYy99UyloZZngY699r4koaWWj1ots4Uh+qd0GmuPeodw1dUychBw5d.Au+J4Yp1k26a46a615p9pzRg5J+YadZw9qTsoLupPzqdF3cM1j1u9C4U289VYWqwHlPtAt.f3wCuwRFdECuABd2gNpdS+S6ogGbW92TOXDV9izMquy9u1Hz897UoU2MeAX9bv6Ftieb0UCur37nlOI9pARIdhjB73jRDcGovdVRgNQRIupef-S942NIRpTz0kdm3mXIjANJxgNNQJNhyFdkfGnHDeTJBMQJxo9KMsJN-9mXCFbhzAZb5.w4CDAMVMChPOx7H3H7wIXzq1z2WWYv7nIS1Hhi0il38v+YMBzyNq+h6LScZXP8HFBFPtyiOxFO4Q1Ds8w3g1HKzj84v3THtdMMbxKhQV3j-GYY5Eong1.qIgKjDGNvpMYcb2.YbczvWPSt4DWF.CF+hgMHl3hX2wEDko.3Qguzj6R6ElXClC8LzQ91oo8nJS7 C c r t t r T b P T 1 8 7 Q Y Z S i D 9 u d 6 h z E q Vrd Q 1 0 .YSfsfaaqKAoq.80f0Y6+YE4Uh00ap5eHE7.ZLwc56HZVDQTSvPL3dx7xKvS1wqD-slRCL1g1mdNCRK.hAcbdf6Rx4zWkYbRHxcj.NB9BkDXNjDfQgMIXNRpXaSK30u-9U4r29pb50uQ9Ij7S3qudo7iD0GA+NPdMS72TyDj8L5Rf5YRTjl43mR.WzMrD-FhG6IYmD5jkctyJiR9Uo6b7ICXGlVuVj4YMY3Xikm8LhojzLA6PkEIZWbLO7E-Z0lVkUWZhPPtjPzENgodigbrTqStDgio1pOs3SCJppaDU+0+XhbbYExXLsNzGHfxOUHaDWhuU.V+A4jNSBvQNbZBgphgPzyVhvNdA0yn75iEAkE4xgcsh-4HdXJmXrfmRqCXJocF0gwKXJoVXcQioZwmgZV6xaBXJycFwgSUfOhPHgMgLlGhCicrWEIG+R1CA4xx4FqIDT.4gLxBLpRSHZAP4+LoECScWVGjcpMz6fC+XRONwsrb++OYkHilABFM4JV

Max Msp code for pattern

Page 38: Chinese Tale

38

ryh0005WQFHcE4YGV+7dZDBumGenAdenhxMEJSPdanIZyzDsT6nGTseD8DL542+CtsnNsWd8lMpmA5D3AYWHer2692l2sNsPnM-wDCaBsCKKGMV4DvzTAM5RjelhgtLhL9RcA3UlBMDCcWHy8bDUo+VufxTCYdYpGwXzRWeZqoMrG4vsOhDobVXj3CkEOXWYsqutwDe3vMPhnSLiQz6ZRXrvZe8c2UXL+LDYx00TGcfAOyJVcxq8MhJgOWJ5aqADnQyzkYari.Hp3.QjKQcIcdYca-ZEMhpLPqHMyDA4vs.ASzZJ0hm33fXixFgV9Xd+Met+lx5ujab5gK2TDhtZVwpPjQbGm.uzRdeYpTzv1SuPFippDMcUkH85AZcz+Rpq8HmGT0oX6Vvx+tSz1srOuJcYYCYYiboRQa4xeK6 F 4 W M k 8 k 6 m g f 0 U x C S B i o H i U F K D w g 6 O -pNaCh1zeAs0fSdEj8jfro7Ror9ibTYSNIdQh88cNIXnJL+xRUjykphBj8ZsI8SphZXRxBdpZzIOWky0hQ0ZUhfgc3FpCSqc2gw.+hZK3akOIAX4551J4RTl1NIGxPp4R55DqOC5gwVpLsSftC2o5HzgiApOO94iXwaxjJ2WKx+h.DGGaL2FG5L.OryhII-WznDpNUcvydxejOJXMz9i4pt5Msq22U6LavAnkI5FTx0mKkud3dHO5d9Pd-Vln5gCak4YM0ROpcPXDOUaQDwBDQ8JhFVC4nPZXKZ8HlPTKvjB3H+gIhsXBGXicH+N1EaClh7KlrZvCgndFUz.jp3AHlRBOLEYClFVK1iX5IOtffmv1fomPlWZLwrQW.l6WLgCPLYU7I+FzjQBOLgshm7qPSrU939kmH13iObFQ8nrNBJ77m-F9KRJzhEPrQVGO1uXxFsJblewjM5B39McJpMqASRBPLwCPLEGdwBn9ESTahE-P8qNym73FYryuwBn7.DSIg2ZK1LzwiBuPA9ERLq8v8m5ItMzDyyCc13M42Dyshl-H9UjIO1Vdh5OLEYKlH9CSLawj+p6KGaKl7Wn.qbm7qGtMpT7Kjv1fI+JHvF2aTbvAI14DAW9keb0+CTFVR0B-----------end_max5_patcher-----------</code></pre>

#include <Wire.h>

int redValue = 0;int greenValue = 0;int blueValue = 0;

int motion_se nsor_value_x = 0;int motion_sensor_value_y = 0;int motion_sensor_value_z = 0;

int light_sensor_value = 0;

int LED = 13;

void setup() { pinMode(LED,OUTPUT);

digitalWrite(LED,HIGH);

delay(5000); Serial.begin(19200); setup_color_sensor(); setup_light_sensor(); setup_motion_sensor();

}

void read_serial() { while (Serial.available() > 0) { // read the oldest byte in the serial buffer: int incomingByte = Serial.read(); // if it’s a capital H (ASCII 72), turn on the LED: if (incomingByte == ‘H’) { digitalWrite(LED, HIGH); } // if it’s an L (ASCII 76) turn off the LED: if (incomingByte == ‘L’) { digitalWrite(LED, LOW); } }}

void loop() { read_serial(); read_color_sensor(); read_light_sensor(); read_motion_sensor(); Serial.print(redValue); Serial.print(‘\t’); Serial.print(greenValue); Serial.print(‘\t’); Serial.print(blueValue); Serial.print(‘\t’); Serial.print(motion_sensor_value_x); Serial.print(‘\t’); Serial.print(motion_sensor_value_y); Serial.print(‘\t’); Serial.print(motion_sensor_value_z); Serial.print(‘\t’); Serial.print(light_sensor_value); Serial.print(‘\n’); delay(1);}

//Include the I2C Arduino library

//Configure gain here//Higher numbers = less sencitive// 0x00 through 0x0fint redGain = 0x02;int greenGain = 0x02;int blueGain = 0x02;int clearGain = 0x02;

//RGB LED pins

Arduino code for final experiment

Page 39: Chinese Tale

39

//Digital PWM pinsint redPin = 9;int greenPin = 10;int bluePin = 11;

//7 bit I2C address of this sensor#define I2C_ADDRESS 0x74

#define REG_CAP_RED 0x06#define REG_CAP_GREEN 0x07#define REG_CAP_BLUE 0x08#define REG_CAP_CLEAR 0x09

#define REG_INT_RED_LO 0x0A#define REG_INT_RED_HI 0x0B#define REG_INT_GREEN_LO 0x0C#define REG_INT_GREEN_HI 0x0D#define REG_INT_BLUE_LO 0x0E#define REG_INT_BLUE_HI 0x0F#define REG_INT_CLEAR_LO 0x10#define REG_INT_CLEAR_HI 0x11

#define REG_DATA_RED_LO 0x40#define REG_DATA_RED_HI 0x41#define REG_DATA_GREEN_LO 0x42#define REG_DATA_GREEN_HI 0x43#define REG_DATA_BLUE_LO 0x44#define REG_DATA_BLUE_HI 0x45#define REG_DATA_CLEAR_LO 0x46#define REG_DATA_CLEAR_HI 0x47

float redFactor=1;float blueFactor=1;float greenFactor=1;

//initial darkLevel;int calibrationDarkness = 0;unsigned char calibrationRed = 5;unsigned char calibrationGreen = 5;unsigned char calibrationBlue = 5;

void setup_color_sensor(void){

Wire.begin();

// sensor gain setting (Avago app note 5330) // CAPs are 4bit (higher value will result in lower out-put) set_register(REG_CAP_RED, redGain); set_register(REG_CAP_GREEN, greenGain); set_register(REG_CAP_BLUE, blueGain); set_register(REG_CAP_CLEAR, clearGain);

int ledGain = getColorGain();

set_gain(REG_INT_RED_LO,ledGain); set_gain(REG_INT_GREEN_LO,ledGain); set_gain(REG_INT_BLUE_LO,ledGain);

performMeasurement();

int red=get_readout(REG_DATA_RED_LO); int green=get_readout(REG_DATA_GREEN_LO);

int blue=get_readout(REG_DATA_BLUE_LO);

int m=2000; //bigger anyway m=min(m,red); m=min(m,green); m=min(m,blue);

//Serial.print(“m - “); //Serial.println(m);

//redFactor=((float)m*255.0)/(1000*(float)red); //greenFactor=((float)m*255.0)/(1000*(float)green); //blueFactor=((float)m*255.0)/(1000*(float)blue);

}

void read_color_sensor() {

// int clearGain = getClearGain(); // set_gain(REG_INT_CLEAR_LO,clearGain); // int colorGain = getColorGain(); // set_gain(REG_INT_RED_LO,colorGain); // set_gain(REG_INT_GREEN_LO,colorGain); // set_gain(REG_INT_BLUE_LO,colorGain);

//reset the RGB (and clear) values int cc = 0; int red = 0; int green = 0; int blue = 0;

// Take 4 samples, and add them together.// for (int i=0; i<4 ;i ++) { performMeasurement(); cc += get_readout(REG_DATA_CLEAR_LO); red += get_readout(REG_DATA_RED_LO); green += get_readout(REG_DATA_GREEN_LO); blue += get_readout(REG_DATA_BLUE_LO);// }

//now, divide the totals for each by 4 to get their aver-age.// cc /= 4;// red /= 4;// green /= 4;// blue /= 4;

//take the values mesured from above, and multiply them with the factors to //find out what value should be sent to the external RGB LED to reproduce this color //float redValue = (float)red*redFactor; //float greenValue = (float)green*greenFactor; //float blueValue = (float)blue*blueFactor;

redValue = red; greenValue = green; blueValue = blue;

//Serial.print(redValue); //Serial.print(“\t”); //Serial.print(greenValue); //Serial.print(“\t”);

Page 40: Chinese Tale

40

//Serial.print(blueValue); //Serial.print(“\n”);

//hold it for one second //delay(100);}

int getClearGain() { int gainFound = 0; int upperBox = 4096; int lowerBox = 0; int half;

while (!gainFound) { half = ((upperBox-lowerBox)/2)+lowerBox;

if (half == lowerBox) { //no further halfing possbile break; //no further halfing possbile } else { set_gain(REG_INT_CLEAR_LO,half); performMeasurement(); int halfValue = get_readout(REG_DATA_CLEAR_LO);

if (halfValue > 1000) { upperBox=half; } else if (halfValue<1000) { lowerBox = half; } else { break; //no further halfing possbile } } } return half;}

int getColorGain() { int gainFound = 0; int upperBox=4096; int lowerBox = 0; int half; while (!gainFound) { half = ((upperBox-lowerBox)/2)+lowerBox;

if (half==lowerBox) { //no further halfing possbile break; // gain found } else {

set_gain(REG_INT_RED_LO,half); set_gain(REG_INT_GREEN_LO,half); set_gain(REG_INT_BLUE_LO,half); performMeasurement(); int halfValue = 0;

halfValue=max(halfValue,get_readout(REG_DATA_RED_LO)); halfValue=max(halfValue,get_readout(REG_DATA_GREEN_LO)); halfValue=max(halfValue,get_readout(REG_

DATA_BLUE_LO));

if (halfValue>1000) { upperBox=half;

} else if (halfValue<1000) { lowerBox=half;

} else { break; // gain found } } } return half;}

void performMeasurement() { set_register(0x00,0x01); // start sensing

while(read_register(0x00) != 0) { // waiting for a result }}

int get_readout(int readRegister) { return read_register(readRegister) + (read_register(readRegister+1)<<8);}

void set_gain(int gainRegister, int gain) { if (gain <4096) { uint8_t hi = gain >> 8; uint8_t lo = gain;

set_register(gainRegister, lo); set_register(gainRegister+1, hi); }}

void set_register(unsigned char r, unsigned char v){

Wire.beginTransmission(I2C_ADDRESS); Wire.send(r); Wire.send(v); Wire.endTransmission();}

unsigned char read_register(unsigned char r){

unsigned char v; Wire.beginTransmission(I2C_ADDRESS); Wire.send(r); // register to read Wire.endTransmission();

Wire.requestFrom(I2C_ADDRESS, 1); // read a byte while(!Wire.available()) { // waiting } v = Wire.receive(); return v;}

Page 41: Chinese Tale

41

int LIGHT_SENSOR = 0;

void setup_light_sensor() { }

void read_light_sensor() { light_sensor_value = analogRead(LIGHT_SENSOR);

int MOTION_SENSOR_X = 1;int MOTION_SENSOR_Y = 2;int MOTION_SENSOR_Z = 3;

void setup_motion_sensor() { }

void read_motion_sensor() { motion_sensor_value_x = analogRead(MOTION_SENSOR_X); motion_sensor_value_y = analogRead(MOTION_SENSOR_Y); motion_sensor_value_z = analogRead(MOTION_SENSOR_Z);}

<pre><code>----------begin_max5_patcher----------4562.3oc6c01bihiD9yY9UnJ0bUc6cYxnWPRvU2WteCW-ceZqsRgsIILiswKfyLyt09e+.ZrMXKgEDAQjc2Y1XOfio0iZ0cqV8K+9Gt41EIeOJ6Vz+B8ynat42+vM2TcoxKbS8+9la2D98kqCyp9X2tM5aIK9xs2A2JO564UWNCsLYcR5gqGup5pEexOI7NbwGS1luMbST0s9OowgqObms62DuccT-d0ifTewcg4KeNd6SOjFsLGHQBieO9NjWfW0KhxeRw2iQ+xounj84G9lvMdvYw+V0ClPuGWd0+3Cen7G285F1onLUCYVOGxX8CYgjUMJkjpW7txPlnYHWeY3Sl+icQv29s2h9E6gFYpQCp8X.XdU..GGTgCu8L.YQqKHNDipXfSj8bfS0Ovkd3xwJy-uZ3GbkwMsmbAKB29zs2YYtguF8CUfhu8VaTCJDQMnv6DT75InDuMuDSt7k-gAR62rHRk7QlvdKO7wzJ.ADSxwVlMoFCp3VFDHrXeddxVUf.ouCUIg.CU1gAo-QxEUy5OnAylnrrvmhtfumnhqOv5hBDUieFsjqm3+FqPPGVfUfETrEwBrrhK.66PfgF4gOElGoh0maQ3fUoYf.JFYtgwBZWzSC56hdQ.LceRA3TunWmcfQKi-heIRqQvThE05wqjtGTIpWF3xFD9aqQKet.qUw2S8roHwJHgw.IiTKq26UXZjNs-9boM05yAyfvtoVecJGJFcHUJH31jyPBlHFTosr1dQWUaYwGBoZiDbl8.DeZMfTsHwi41.hNNDp8

.DAWzDPbeNDgJ.gXSapHMWx3FbHZTvrLY+17nTDt3Opr6l0WaM4crxQRavn3SthX1AtcyC++f2no98XQ6shk5QL26sxbqr0wqNo+7HLdDEaN7X81ZxZWqAFUVKWza.iuaO9K735jv7h6uae0yfLfgbwWQwi8HmdZb1x-v0UOI78AJ7tVf8LjPHA2qBVScU2qpzPBx87.NwWpCqpPnwwdhWRVi9nJo.RK-tiyCXDXWgGYHRGuFFY W X I K O L M W k 7 . K Z l k u O . G b 5 o M d 5 r J Q y x S 1 o .O7r3Fw8YR.O.mz3F5PySd5o0p1JFgzaYmRXyFdT9qS0vv8mpZCB90MQ4oIHFV4vzlarnF.fsaIXCYa3WSNf0cSwtzncQaWgRiBWoZEfE0kbXK4AUZQ7otraJ9Rb98+Z98aRdIV0xCN1lvREd34W42Fguk2qdwH4gMgEFM78g6yBsFPx482I8UqKXXWyecY6RKj77H5y+urnzrOmGuM7ya1w9bk+697ea0mp968EWRENz2Srgc8kIBvFTN1MVmn0sU9VzsUBP2gmi51J8fvPESVbo3ME112s+cqcmWewkBZ+vWt6.UB7n-BU0qddEPkXxgJMZlC+ZkSLTY2hfXc4MTv8EBrKqVdGZSRdbx1r78O9nBbwh-VqvA6XIf0JW8PUvcCKUOfh0CvHtdHW7oiWG8Rg5lhgTCx4 laaDdKU1C.g5Sg0pUJOkXuSzQAR9z5jkeMZUCx3 laWE8Xu9RRJ rB7zuPESPqez9SFusv t -wrns4g40jdyGb3904OnFHZe+ G C W F o 8 W V 4 z 2 M 2 9 T Z 7 p j s k D Q q e y x K e 3 w 8 y H -BL2waR2Uehsg6T7KmmjrdQX5KwYwK.GqbblnfMMrPtSXdTdLPOT7weu3MUFMz56JZaXw-2wyYKSSVut0WEbmWTbmUQuDuL5awqxeF7pCtwi+Tv30fyo0BnVWuK4vWrbA27F5Accqaz5QDeXGPT0xf0KGtikPlJ78lCBaf2b2PwslBfZKD5SZPS+fAhlztQSviAbo7T.MbEzj7JPyoBE+s0nr7hcctA8IpN.ULR.JvWB9jRxFQ1yFa4xVH-ZWqm84iy5Y37v7BdetdtjS7n60u.R8FGdv5M8C7fd74EOndrbW3xuhdr7O5vS1.wS1UvS.HwUql4BCvygJ j z tXYqy14BvhLNqmYTvWzX7nu fV0g6X In -qsy7ayG9QBhfw5fU73rllAmJJixfyC5bW76rLgcrfdc71nBCR0fjxfwY0LS.gqnPSVcLWE-OVnpIM5Ecfo+3vVRgv1fB6gkE7NBLeJMY+NjN6Gkij8iz5nevyW8A8LiAz0k6HWMZx4iKZB93blYJTW5fvHBhhXHODGIPRjOJnPoDhTnZhhHLDwC-Q3Hh.QjEpIPj.c.OcjTWQgPCWB3uj8dPe0usVGJRFITrdCjvI5az1ymEBCxKcVkNrb-jLfxCRlQV8IfImrMZ13Sl8bx2hVEmmj1zsdU9uq5pMy8Tv945WXMdo82X3KQqdn.2J9EeHLOOMdw9bvqd2bw7SiPZi5eWiKmVEz7Wd8sI4QGPeby-aDsYQaeBCe7CST2dWqm4SaU7gOCKNdmibd1fGL9BNsiCUNFqlAzqkoRpFS8huiD.IKT.31Xv9cJkaLmWOXuNL61bjUg.OrJLOr1862g9TgXjOQuq7srBaLJTLVPQU+yOQJdY51Cp2H4SIJjQRD5rdOnF4fSptMh5MRNWhBhNIfpI47Z6SUiRM.lPKhful-V5JL.h8N7geZng N 5 i t 2 p a u LY y l H 3 T f t 8 1 o g 2 5 7 b L + B O b L R l L J .mZTmVQi4NIOK+ymBumKGIIcBIjh9T+Yr6y6D37Foic.BIAF3+h4IvcP3fRMD5vS13fmDu5DDWbXmdWEOwcfmSDJ8CcnDcbPIPcYMHcY0UwMAouqCjHiEqD.R0wHi6.

Max msp code for final experiment

Page 42: Chinese Tale

42

RsBUUsYMY+YJpcdJvTvkGeYnlPLsQr.RmEnbwXYnPc4WH3OaAsvwz3djPT-7bLpEt9Q0o8v539ipordf2OEjYiyOak.jpSBRsgm7.j6Uy0AtkmW6XNts16jpri7s9P-ME3w4PMq433feBe+bnlmppWZCS49hj3qgj.34qtJeoO0qG59BzUwurD31JM7zVr75+FOCpsRS p N W a 5 6 R W q O t 6 7 z y z A G r Q R e P M X E f U W 2 n -liGFFj4iT8JWEdiKXBNJRRFwvwx9FR28pQ9fWMBFv4A6V5f0GNzpwNXjBWjoCODijSypM-2k6exksuC1.w+tivRiRF2cN3KNUeBlKP4fzPLR6.S5wZDnJyHMDcAhLJkzlwqI-R5OpbjTo2IG6NKPxtUMDL77kotBbgcTC0tpMF53fFK6K..iB5R4yK6K5.LqKdUZ.ygZ4K+ZmOE3+VXSUF4YoW41otrhVMEd+UhekFiPnMxVCO9Lw4ueIqNoY+uQayJFW2+Ec1xQFIa4nfOKAS4HDuYSxYn2UafSbTihzgenJ3FgsghpO1.701jfFdcfFjA65wVQm56 B v X v 6 c D J Z J D I 1 I w h N D 9 r e a U F g g u G 9 q N I -yiTZNIOoPy2jfIkoSpS6xxzUhxrydyHGpduDldDsV.EFvF284xYBnDTWmX+9RL22+NkuibF5nrTCdw1Voi0QLC74CLKxW7T6gsn3+j2o7cmOrG9Tu8Ur28D9SuIS3hwLvKHLu+Z9V27c5aw7MajpRD0EoCP21be99TcFo7vE0TxNp.gx6qlQHKYe5xCOyCg-wIpMsuJJqrzjcnrq7 y m B r k y 9 f O G u Z U 6 x b R E u V 7 p c I E a 6 p l .Mj0czn6xsj4Pzc44UZDcqX.9lR2XSwataQ2BSoaOmhtYlh2tEbSMEtID2htMUbBwsVVxMEu-UrN3Mktklxd6Vzc4wUXFcKcK5laJc66V7Ilh2B77TcYYby4RzMyT71wTyap7agaol-WA4ngtcKyuojYJeho5Kotk8IBS0WVxlPcFxVZpXPgaotzb51sTWx5CYSbFx-1qGL2NzZx.CIa2RkiwRRvNGYSLQvsv4HapIjsi4tGS8ZxrjpItEOBwT51ysLl-harui4Nk5FtoaFV5XxRLdUoaYUhzzMw64XzsoJ38cqMK3aru5cK-mO3a5lJ8bKKp775ibPGRuioxu8cqcURH8gtcH8N8grcnkkltqRe2ZYouoKK8cqkk9Fym-3Vlm3ap4I9NlZGS U y G 3 V 6 H N v T 0 7 9 1 j t q u X w. n t 8 H 2 c o m 7 X a H R e -61oy10ySqSVDttt2FcQUXzjt4ixuVSZcPWT9X.TvR8C1cIo4nPU8MX60tPoXHd3gV-VvvZavSVCxc45jLUMBSOe6AHj5DAqN+5BbZ.4 i jxb.PEhPsGhvNjpIT0MT.Wp0r0tlZzBQv1qY0c.QfJC2v5G4cgHCtEo1tGs2L5IsXOoiAY5lGgLJ8GSKzH100NcyPgqB2kG+RzCqie547SIgTKrRZcrhUmFI3.mnuFpSbhpdTOUXwdSMrrAJvw-WlvstUOdrJvdeHO4AnLmFqr0CSo1iWgbn2C..CQZYdEHOGe8sBxJprNoogriPTVDV6Wqf7peI+Uqf7OgsBxQpDtRH0E8V+2ksNt3s5pT0iTufDZBjd9z4WYUrqxW5W1mUreKTVwpn0QnMQqhC2hJjHlGkhR1hxeNBU78jW19TdIb89nVYvbokmUIN+43WyBh8HwdCMocFTWPq2.CyyEJDpctZWLx3gO4c4x8nuuKE82+6e7Q9m93id+z+n3cjh2Q+oe5yEukU8Vz+DUbOaWsj3FIVfCINNg8ZxvdSRHpIs5fhuufuBxfX98ScM+A.VnXPGPdezgjPaxeVaSSarJIb0suXnw9weO0yzxRRym3hUnroZGu2UfITdk

IXipFlVGQgMBNy5XJc2bFFWM8Xw7USO7jLoXK0uRlLTSpf5VB+vOMzhvwpYxzk02ElWmEgBSiJsudQbNBXnxJjrg9VDZU7KwqhJMBeCZ-wOPOlrOsuleSGqdHETLzoNm02c0DiHCsrGKazDiLhwxsahQWsWgO3Bh4UJD2R+lcdr4SuBuCr7yHca4fNR8pQhH3jMwuaZvC5wQxH4Qm5tMXyxN86abbjpon-vh52YvXc4ypKgjjQx.O.OgB3sH30T7rLs6LNl0MqtqOhoOsf979H8UFQwH0Fkp-0nC62PFLeJLheqbrXTGaovvhhAd7h30w4+37QPuzZCg+.u1Uqdvw5RG-dOZ8JrZiRE8w3Ty0wR0eJtOolqCEMxA8gtcmnQl3OOSEZhwoTG18naSxfQR-f6Q2FkUctk7DSECRjyzJdBYdVXyjyzBdxbsvgHmmExBGqfUYL6sfNSKLNrYJ+s+7r.y3VJ4ClkUfi2hBvwek+KVIDbyPgoq1GuMABVaEQeKQXwH0V.8mJFTn1uVfZi0D7siwvGZbFpF+d1a7SgAd83uNefbD..pwxJF+L6M9CZN8G71O5KiBg0wKiPpBJehMSuGHLXXvLNW5LIyhtrTvigKlmnED9wD0n0o+xtDu3VL+v7AFkfFEL7xL.xEShgi7PLUIDkEShPh+7hEhyBPbJGQCvlxBwrGbAK37ZFM5yRNHKJDxmMaYfPMjGgDR0xjjJjgaw0esPu57WkLiRxLlusYkDL0sGSmJYUSBWUEOYJDN-SrXdkAIpIkd5nTsXVkY8rzLNOQUNuSk1K+cAVDJDxpWM8cGVd1M..oUe8r0Xm224b+yLi0nAn8FIZlZa2kNaMBY1V.PcDsbYW4z032yhJGjnUHR.UYt7S31S-VPM1.Vf3a6DW+Pi0zlvyioIax9wlEIqUAMXaCMTnQsIYNQhZq2prmRS1uq3I5q.Urtxz5b4Q5N1kocsz5SAseqPmw5hWfW7XVFR.6ANGVp9xaGAH.Jct-6PqwpKibhVdkU2wb1ppRcoCPU67yKl4LklN6wow28SJI0t5R5FvjbdRRL+ocliX.M4MszT6hmnQEZ3wGmLgj7lTRxHThM4nD4ZjD04l3ZUCkmj4sqARtGmDaR-wHB1.RZZYjLhjHSJJILfSZZEcKL.ilVJxDKSnxoc4lIFvQmVI2TiLWB6d1lLw1KwLhe-h6bhuoSqvRpQzjXRkVxBLwT2I15DSvIOryYwTvzp50HgSSLMYzVdmVEKB-SDXRmVaKElX1zYD9XSS7.SoooS5D22TZh5V7S7oUYmmIyc7oUhIgXjaBmX+Cb9yyIfJOt6QSLGDmDlvlKmVZRhcv4NSV4IlVSC3lH1TLs3Dm5fzjQq6l34Nl-CRSR2ilnFoFl5fzDwAoIOGjllX+OYhtE1DePqAtGMw3tmbbinI1zttiYzVgmVbhZj9to8bM4l3wduoU2ByH6LmX+9ZzYjMw6QvDaUXL2ywuhIVemQmifvAooo8foYFEeJAtWrfvlV2rZzAIHdM19V7O9iO7+ATsEwJF-----------end_max5_patcher-----------</code></pre>