your emoji
DESCRIPTION
SM2240 Physical and Embedded Computing, final projectTRANSCRIPT
Your Emoji
Cheung Ka Wing, 52200253 Kung Sin Yan, 52167725 Lam Ching Yin 52196296
INDEX
Artist Statement -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ p.2 Idea & Concept -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ p.3 Technical Parts * * * Components -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ p.4 * * * Coding -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ p.5 Demonstration -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ p.6 Things to tackle -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ -‐ p.7
Artist Statement
What was the first impression of LED for you? LED monitor or blinking LED? In daily life, LED was always appeared in celebrities’ banners by followers or homes decoration. It was
not easy for us to change the setup of that stuff in daily. However, in today’s world, interaction always had been emphasized in technology. Not only on and off in traditional
LED technical stuff, how about we could decide which one LED would be blinked?
In 21 centuries, smartphone was necessary for most metropolitan. There was “Emoji” application in Apple Apps Store and Android Market for users to download. However, “Emoji” were all created by developer. How about you can develop your own kind of
“Emoji” by yourself? In our invention, you could decide what the LED would be blinked by clicking different button to make your own “Emoji” to show your creativity.
Idea & Concept
“What would be the feeling liked when touching a LED and showed on the out wall of a building?” “Would it be somewhat liked people spent thousand money to say some words on a big screen in Times Square?” This idea suddenly popped up when we three chatting in a café and looking outside of a bustle and hustle Sai Yeung Choi South Street. Showing on the out wall of a building was definitely unaffordable for creative electronic students to demonstrate their works. Therefore, we started planning to show them on computer, liked Processing or Flash. Spending thousand of money on a big screen with few minutes was just an entertainment of rich men. How about everyone could do this by only just using a simple code and LED that they could afford to buy this and do it at home? Providing this sweet service was our ultimately goal. After that, all gentlemen could say three words eight letters on a LED matrix and showing on computer to their sweet ladies. This stuff would not be a privilege entertainment for rich men, but also all people, even those grass roots. Conceptually was based on a privilege entertainment. However, our technically came more genius than only showing on a big screen. For our invention, users could press keyboard button to control which LED would be blink. Therefore, this one would be reused and changed pattern in every times that you want. It was not liked that privilege entertainment could only play once. For the purpose of recycle and changing in pattern, ours was better than that one.
Components
1. 64 led 2. Arduino 3. IC: 4051 4. Resistor
Coding import processing.serial.*; import cc.arduino.*; Arduino arduino; Grid[][] G; int w = 320; int gnum = 8; int gsize = w/gnum; char mRes = '0'; int C = 0; //String[] = new String[gnum]; String []str2 = new String[gnum]; String convert; int s0 = 2; int s1 = 3; int s2 = 4; int t0 = 5; int t1 = 6; int t2 = 7; String inByte; void setup() { ellipseMode(CORNER); size(w, w); G = new Grid[gnum][gnum]; for (int i =0;i<gnum ; i++) { for (int j=0;j<gnum ;j++) { G[i][j] = new Grid(j*gsize, i*gsize, gsize, mRes, C); // Send[i] += G[i][j].r; } } arduino = new Arduino(this, Arduino.list()[0], 57600); arduino.pinMode(s0, Arduino.OUTPUT); arduino.pinMode(s1, Arduino.OUTPUT); arduino.pinMode(s2, Arduino.OUTPUT); arduino.pinMode(t0, Arduino.OUTPUT); arduino.pinMode(t1, Arduino.OUTPUT); arduino.pinMode(t2, Arduino.OUTPUT); arduino.digitalWrite(t0, 0); arduino.digitalWrite(t1, 0); arduino.digitalWrite(t2, 0); }
void draw() { for (int i =0;i<gnum ; i++) { for (int j=0;j<gnum ;j++) { G[i][j].display(); G[i][j].mouseON(); G[i][j].checking(); // print(G[i][j].r); } //end of forloopi } updatenum(); convertdata(); loops(); // end of draw } void updatenum() { char[] value = new char[gnum]; for (int i =0; i<gnum ;i++) { for (int j =0; j<gnum ; j++) { value[j]= G[i][j].r; //value[j+(j+1)%10] = ','; str2[i] = new String(value); //print (value[j]); } } println (str2); println(str2[0].charAt(1)); } void convertdata() { convert = str2[0] +" "+ str2[1] +" "+str2[2]+" " + str2[3]+" " + str2[4]+" " + str2[5]+" " +str2[6]+" " + str2[7]; print(convert); } void loops() { int count = 0; for (int i=0; i<8; i++) { for (int j=0; j<8; j++) { if ( str2[i].charAt(j) == '1') { int b0 = i & 1;
int b1 = i & 2; int b2 = i & 4; arduino.digitalWrite(t0, b0); arduino.digitalWrite(t1, b1); arduino.digitalWrite(t2, b2); int a0 = j & 1; int a1 = j & 2; int a2 = j & 4; arduino.digitalWrite(s0, a0); arduino.digitalWrite(s1, a1); arduino.digitalWrite(s2, a2); delay(1); } //count++; } } }
Demonstration
The video: http://youtu.be/Xv6iNzaGj8Q
Things to tackle
The biggest problem in this project was coding. Defining all numbers in order and showed them onto a LED matrix was extremely hard for us; it was a bit liked a wild guess. Since all coding on net had its own definition and all setup numbers were totally completely different with ours. For example, some LED matrix by others artists would have 6x24, 10x10, 32x32. And we were just made an 8x8 LED matrix. It was essential for us to figure all them out one by one and planed our patterns setup in steps. After deconstructing all programming number codes, fitting them all with Arduino would be the second stuff to tackle. Building a circuit was not hard; the hardest part was making LED blinked in pattern. We tried a lot in different order, the sadness thing was, they came up with weird pattern or crazy blinking or suddenly stop blinking that was totally out of our expectation. In short, figuring all programming codes was the most difficult part in this project. The first one was setting all numbers in order and then blinking them in pattern.