tag:blogger.com,1999:blog-18441654710200221562024-02-18T20:25:50.409-08:00Physical Computing/NYUChris Anthony's experience in Intro to Physical Computing at NYU, Fall '09.Unknownnoreply@blogger.comBlogger18125tag:blogger.com,1999:blog-1844165471020022156.post-49478494949039920672009-12-19T18:18:00.000-08:002009-12-20T04:17:22.600-08:00Final ProjectFor my final project in Physical Computing, I was able to get the Personal Health Diagnostic Tool working. This was a great culmination to a great semester. The system consists of a Polar Heart rate module from Sparkfun, some Processing code to interpret and graphically display the heart rate data, a Polar Heart Rate monitor setup, and web php scripts that strip data from POST calls from Processing. I also use TextMarks so users can text in "symptoms" that will be associated with their heart rate data.<br /><br />Here is my <a href='http://www.canthony86.com/Personal_Health_Diagnostic_Tool.pdf'>presentation</a> (pdf).<br /><br />Also, for more background on this project see these two previous posts:<br /><a href='http://canthony86.blogspot.com/2009/12/final-projectpersonal-health-diagnostic.html'>Final Project Proposal</a><br /><a href='http://canthony86.blogspot.com/2009/09/dream-devicepersonal-human-diagnostic.html'>Dream Device</a><br /><br />As previously stated, my vision for this device is that it would allow a user/patient to gather health data that could be utilized by a physician or health care professional in treatment of disease or symptoms. In addition, through testing of this project I saw the very real effect that a more full understanding of my body and even one data point (heart rate) can have on my ability to control various physiological states. I saw over the course of several weeks that I was able to control my heart rate and respiratory rate simply by being more aware of what was actually happening. <br /><br />As in any "conversation", feedback is usually good. I am excited to further investigate the potential for feedback, both on the user/patient side and on the medical professional side, in an effort to better understand the human body and the treatment of human disease states.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-74113701786616066252009-12-08T07:15:00.000-08:002009-12-08T07:27:33.708-08:00Final Project//Personal Health Diagnostic ToolFor my final project in Physical Computing I will attempt to bring together a limited prototype of my dream device that was conceived earlier in the semester, the <a href='http://canthony86.blogspot.com/2009/09/dream-devicepersonal-human-diagnostic.html'>Personal Health Diagnostic Tool</a>. I envision this device allowing a patient/user to collect a number of different diagnostic data points in a continuous fashion. I also envision this device allowing a patient/user to associate symptoms with multiple data points in an effort to better understand their body and disease/malfunction. I see this tool as a way to add to the conversation and practice of evidence based medicine that will allow for more well informed decision making for medical professionals and better understanding and greater ownership of one's own personal health.<br /><br /><br />For my final project are several areas I would like to look at more in depth:<br /><br />1) New programming frameworks. I would like to look at some new frameworks in an attempt to continue to synthesize my knowledge and understanding of overarching programming concepts.<br /><br />2) Gathering of personal health/medical data. I would like to begin to understand the ramifications and implications of gathering personal health data and its display and cataloging for later use.<br /><br />3) Interface and data presentation implications for both patients/users and medical professionals.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-21505492332437800262009-11-09T08:49:00.000-08:002009-11-10T15:51:15.538-08:00Robotic Arm/Hand<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhndvgA0VgBSFzOG_wy4Hf5oya7ZVrOTUuEgraqkGg786Jl4gKiWLUDZWavbN7DaPBt0_vRr2m7DF0MjFQhQWgkHUv7t6_HD40uBoCx-pf8zeiCV5W9GzK7D0VV8ztW4W5Z_t7csUxuu81z/s1600-h/SDC10372.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhndvgA0VgBSFzOG_wy4Hf5oya7ZVrOTUuEgraqkGg786Jl4gKiWLUDZWavbN7DaPBt0_vRr2m7DF0MjFQhQWgkHUv7t6_HD40uBoCx-pf8zeiCV5W9GzK7D0VV8ztW4W5Z_t7csUxuu81z/s400/SDC10372.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5402147658536562178" /></a> For my midterm project in Physical Computing I decided to get, well, a little physical. In collaboration with my partners Chris and Marie, I made a robotic hand and arm that responded to the movement of an operator's hand, finger, and arm movements.<br /><br />This was easily the largest mechanical (see moving parts) project that I have ever worked on and presented a number of design challenges.<br /><br />My responsibility was the design and build out of the mechanism that would control the hand and arm. On numerous occasions this project resulted in me starting endlessly at my hand as it grasped something or my arm as it rotated. This turned into a full fledged study of the mechanics of the hand and arm of the human body. <br /><br />I started out prototyping the servo motors we used in an isolated finger system.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXl04sgG6KZwgOVGVSFViTNa9ZuvJ2C6xGEXhnKjR68-FrPNF0wlXebaGwKOdVjWmnBFzmsAXB7E4V9myCU8pdoh9_L8KxwHfVXU6aexly_4rKdoKZdpLEjLQZCorOIM3u6xERijLJnCug/s1600-h/SDC10309.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXl04sgG6KZwgOVGVSFViTNa9ZuvJ2C6xGEXhnKjR68-FrPNF0wlXebaGwKOdVjWmnBFzmsAXB7E4V9myCU8pdoh9_L8KxwHfVXU6aexly_4rKdoKZdpLEjLQZCorOIM3u6xERijLJnCug/s400/SDC10309.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5402623090694994290" /></a><br />It was important to me that our entire system, especially the hand and fingers, were as realistic and representative as possible. I knew the prototype was not going to cut it and so started looking for alternative solutions for the fingers and hand. I knew the key would be creating an antagonistic system (similar to the one that exists in your arm) to control the fingers. Below is a video that documents a bit of the journey from one wooden finger to a system that contained 4 moveable fingers (thumb and index interacted together) and a moveable "forearm" with 2 degrees of freedom.<br /><br /><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/bWZWbqA6RNM&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bWZWbqA6RNM&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object><br /><br />We eventually settled on a design that would utilize the flexibility of plastic to "passively" restore the fingers to their locked out position. The servomotors would shorten the string attached to the tip of the finger when we wanted a flexion out of a particular finger. This is extremely similar to the system and operation of the human fingers. Below is our finished product. As can be seen, we control the hand with a glove that utilizes 4 flex sensors to move the fingers and a stretch sensor to sense when the forearm is moved and Processing to sense when the entire arm is moved on the X axis.<br /><br /><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/W7-RkvdCc8I&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/W7-RkvdCc8I&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-24330601831045030472009-10-18T08:34:00.000-07:002009-10-18T08:47:34.219-07:00"Finger" prototype w/servoBelow is my work from the evening of 10/16/2009...My initial effort was to understand and reverse engineer the human hand, specifically a finger. Here is a video that illustrates my final design of the evening that attempts to mimic the functionality of a human finger. This is the first layer of what will hopefully be a part of my group's midterm project in Physical Computing.<br /><br />My process was to consider what I know about the human hand and attempt to engineer this functionality (or a small percentage of) in the form of an automated finger. As can be seen, I started with a double jointed finger design. This was relatively hard to control and lead to my second iteration which was a single jointed finger that gives the ability to grasp and object when added to an opposable "thumb".<br /><br /><br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/wXp-oXneWVo&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wXp-oXneWVo&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-74982028934119373662009-10-15T13:12:00.001-07:002009-10-16T06:14:31.439-07:00Moving Box Arduino/SerialI was just messing around this afternoon trying to learn processing and came up with this sketch. It allows you to use a variable sensor to move a box or other object in processing. <br /><br /> /*<br />Sensor Graphing Sketch<br /><br /> This sketch takes raw bytes from the serial port at 9600 baud and graphs them.<br /><br /> Created 20 April 2005<br /> Updated 5 August 2008<br /> by Tom Igoe<br /> Modified 14 October 2009<br /> by Chris Anthony<br /> */<br /><br />import processing.serial.*;<br />int xpos = 0;<br />int xpos2 = 0;<br />int smallByte = 0;<br /><br />Serial myPort; // The serial port<br />int graphXPos = 1; // the horizontal position of the graph: <br /><br />void setup () {<br /> size(600, 500); // window size<br /><br /> // List all the available serial ports<br /> println(Serial.list());<br /> // I know that the fisrt port in the serial list on my mac<br /> // is usually my Arduino module, so I open Serial.list()[0].<br /> // Open whatever port is the one you're using.<br /> myPort = new Serial(this, Serial.list()[0], 9600);<br /><br /> // set inital background:<br /> background(48,31,65);<br />}<br />void draw () {<br /> // nothing happens in draw. It all happens in SerialEvent()<br /> <br />}<br /><br />void serialEvent (Serial myPort) {<br /> // get the byte:<br /> <br /> int inByte = myPort.read(); <br /> // print it:<br /> println(inByte);<br /> <br /> smallByte = inByte/10; //divide by 10 so that it goes slower<br /> <br /> xpos = xpos2 + smallByte;<br /> background(48,31,65); //important this goes here<br /> rect(xpos, 20, 75, 75);<br /> if (xpos > width) {<br /> xpos = 0;<br /> }<br /> xpos2 = xpos; //swap variables<br /> <br /> } <br /><br />Here is product in action...<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/NHSvW2gRq1Q&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NHSvW2gRq1Q&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-82432709440159658912009-10-15T07:48:00.000-07:002009-10-16T04:26:57.988-07:00Interactivity ObservationsWe were given an assignment this week in Physical Computing that required the following:<br /><br /><blockquote>Observation. Pick a piece of interactive technology in public, used by multiple people. Write down your assumptions as to how it's used, and describe the context in which it's being used. Watch people use it, preferably without them knowing they're being observed. Take notes on how they use it, what they do differently, what appear to be the difficulties, what appear to be the easiest parts. Record what takes the longest, what takes the least amount of time, and how long the whole transaction takes. Consider how the readings from Norman and Crawford reflect on what you see. <span style="font-style:italic;"></span></blockquote><br /><br />For this assignment, I decided to use both my extended experience with and observations of the NYC subway entrance process.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Zl1Xtq5MG7M&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Zl1Xtq5MG7M&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />I have both experienced and observed the NYC subway entrance experience be troublesome in every step of the interaction, from initially deciding which direction the Metro Card should face when being slid, to the anxiety that is felt as you slide your Metro Card if you are unsure how much fare is left on the card. In addition, as exampled by the previous video, making one's way through the vertical or horizontal turnstile with any amount of groceries, gear, or luggage can be a true adventure in spatial awareness. All of these problems can lead to rushing to catch the next available train, and as most New Yorkers can attest, this is usually an act that is done with a certain level of anxiety and disregard for the one's own physical health and the health of those in the way. <br /><br />What I have noticed in my experience and observations is that the NYC subway entrance experience can easily frustrate the potential rider who is attempting to gain entry through the subway turnstiles and also the potential riders who are waiting in line behind the rider in question. I observed this experience only heighten the anxiety of catching the next train in order to achieve arrival at a rider's destination on time. <br /><br />Below are the major categories of frustrating user interactions with subway entry I noticed:<br /><br /><span style="font-weight:bold;">Sliding your card</span><br />For the first time subway rider, figuring out which way the card faces as it is slid can be confusing. Though it is true the card has the magnetic strip that is actually read on only one side, knowing which way to put this into the card slider can be confusing. There is a diagram on the card slider that indicates the direction the card should be slid but nothing that indicates which way the card should face as it is slid.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYDm5wxqIQwFzVgkp8nP_oLTiN1nfLOTFpHG9iRWWjbfLVCJPMPdRR6GGtsjFyDI7tn4IoN1himKwaa1G6YvOJQgn7Auyde-harSWl8P_5kn14hGZOSjI7Nt4eiLO3eBYfwAFEyeishyphenhyphenLG/s1600-h/SDC10304.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYDm5wxqIQwFzVgkp8nP_oLTiN1nfLOTFpHG9iRWWjbfLVCJPMPdRR6GGtsjFyDI7tn4IoN1himKwaa1G6YvOJQgn7Auyde-harSWl8P_5kn14hGZOSjI7Nt4eiLO3eBYfwAFEyeishyphenhyphenLG/s400/SDC10304.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5393157033339649122" /></a> For an experienced New Yorker this is an afterthought. We all know the card faces us (faces in) as we "swipe" to go through the turnstile. However, an unknowing tourist or preoccupied rider could easily mistake which way the card should face as it is slid causing a quick backup during busy subway conditions.<br /><br /><span style="font-weight:bold;">Card reader</span><br />Personally, my most frustrating experience with the subway system is my card not being read properly. When I am in a hurry, my MetroCard can be slid at a rather high velocity that at times does not allow for the card to be properly read. The problem with this system is that by the time I alerted that my card has not been properly read I am usually nearly falling over the turnstile due to its not releasing. I then have to go back to the card slider and attempt to do the whole process again. Fortunate for me, I have experience attempting to run over defensive backs on the football field, for the less physically experienced subway rider, this sudden stop of momentum can be jarring and even painful. Having to redo the whole process also slows the subway line and in my observation creates many a frustrated potential subway rider. <br /><br /><span style="font-weight:bold;">Turnstile operation</span><br />If a rider's Metro Card is both held and slid properly, getting through the turnstile can be a physically rewarding feat. The horizontal turnstiles create a nice experience of getting through something that would normally seek to oppose. In my experience, most people like the feeling of accomplishing something physical even if it is an often overlooked experience like physically powering the subway turnstile. <br /><br />In my observation, one of the problems when navigating the turnstile is when a potential rider has more than one bag or a large object like our NYC surfer from the video above. Multiple bags or large objects can require a user to contort his or her body and use muscles not normally accessed. The vertical turnstile confronted by our surfer in the video is especially notorious for how difficult it is to navigate with multiple bags or even one medium to large bag. <br /><br />When confronting the vertical turnstile with multiple bags or large items it is necessary to think ahead and not start to turn the turnstile before all of your gear is in with you. <br /><br /><span style="font-weight:bold;">When is the train coming?</span><br />If you setup camp near any subway entrance in NYC you will certainly see a great number of potential riders scurrying down the stairs attempting to expediate the subway entrance process. This is logical as it gives a rider the best possible chance for catching the greatest amount of trains. I observed this phenomena start what I would call a "cascade" of feeling rushed which should certainly cause mistakes and lack of clear thinking that could directly lead to problems in the previous three areas. <br /><br /><span style="font-weight:bold;">Conclusion</span><br />I observed these four areas both frustrate and consume undo energy from potential NYC subway riders. I think it is possible to address some of these problems with solutions that would make riding the subway a more enjoyable and less stressful (and painful) experience.<br /><br />I will detail some potential solutions in suggestions in a following post. <br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqSfh6LGZoxALw46JR_zoz8cRuzZx39woVp8p8aeqqvzYLERxE0vz11hnd1NhuBSqreuMkvvfJZAqqPco8GvAWSTRlfAkyyo1OBzc3erlrDG64zcd85OgC7ykbZuIf-W7Bg3Y7DbUpM2Cm/s1600-h/SDC10305.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqSfh6LGZoxALw46JR_zoz8cRuzZx39woVp8p8aeqqvzYLERxE0vz11hnd1NhuBSqreuMkvvfJZAqqPco8GvAWSTRlfAkyyo1OBzc3erlrDG64zcd85OgC7ykbZuIf-W7Bg3Y7DbUpM2Cm/s400/SDC10305.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5393157656466710354" /></a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-60028942941660362792009-10-15T07:21:00.000-07:002009-10-16T06:12:59.782-07:00Arduino/Serial Communication/ProcessingThis week we started to learn about serial communication. Serial communication allows us to send (or receive) data from another device. The other device can then use the data if a program on the device is able to access the serial port where my initial data is coming from. This was a fun lab and the implications are also fun. This lab starts to show the possibility of gathering data in the physical world via Arduino and doing something useful with it on a more powerful and robust computational device.<br /><br />In this example, I am going to gather data with an Arduino microcontroller and an FSR.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikhIIGwLObAutraPllFx-V6_p6TBHpvgvR-wtwglp7pc76VEvHZQNOX0HksJfbE4KM0f6R-tEGsU1QePqiYxn7mm-pcAsl8Y5n29AaauB1Nr5zfhkLAKASnee6lR3Fzmv2v4XQGQMvIltC/s1600-h/SDC10302.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikhIIGwLObAutraPllFx-V6_p6TBHpvgvR-wtwglp7pc76VEvHZQNOX0HksJfbE4KM0f6R-tEGsU1QePqiYxn7mm-pcAsl8Y5n29AaauB1Nr5zfhkLAKASnee6lR3Fzmv2v4XQGQMvIltC/s400/SDC10302.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5393184999115653362" /></a><br /><br /><br />I am then going to send this data to my computer via a serial connection and port and allow a fun little program called <a href='http://www.processing.org'>Processing</a> to play around with it. Specifically, processing is going to be graphing my FSR data. When Processing receives a "high" value from my sensor that corresponds with a strong squeeze of my FSR, the graph will correspondingly go up.<br /><br />First, the code for the Arduino is as follows:<br /><br />int analogPin = 0;<br /> int analogValue = 0;<br /><br /> void setup()<br /> {<br /> // start serial port at 9600 bps:<br /> Serial.begin(9600);<br /> }<br /><br /> void loop()<br /> {<br /> // read analog input, divide by 4 to make the range 0-255:<br /> analogValue = analogRead(analogPin); <br /> analogValue = analogValue / 4;<br /> Serial.print(analogValue, BYTE);<br /> // pause for 10 milliseconds:<br /> delay(10); <br /> }<br /><br /><br />This code is simply reading my FSR and printing the value as a byte in the serial monitor.<br /><br />As previously mentioned, in order to do something useful with the data, I need to have another program access this data. In this instance I'll use Processing. Processing will take my values and create a graph that has the sensor byte value on the Y axis and time on the X axis.<br /><br />Here is the Processing code:<br /><br />/*<br />Sensor Graphing Sketch<br /><br /> This sketch takes raw bytes from the serial port at 9600 baud and graphs them.<br /><br /> Created 20 April 2005<br /> Updated 5 August 2008<br /> by Tom Igoe<br /> */<br /><br />import processing.serial.*;<br /><br />Serial myPort; // The serial port<br />int graphXPos = 1; // the horizontal position of the graph: <br /><br />void setup () {<br /> size(400, 300); // window size<br /><br /> // List all the available serial ports<br /> println(Serial.list());<br /> // I know that the fisrt port in the serial list on my mac<br /> // is usually my Arduino module, so I open Serial.list()[0].<br /> // Open whatever port is the one you're using.<br /> myPort = new Serial(this, Serial.list()[0], 9600);<br /><br /> // set inital background:<br /> background(48,31,65);<br />}<br />void draw () {<br /> // nothing happens in draw. It all happens in SerialEvent()<br />}<br /><br />void serialEvent (Serial myPort) {<br /> // get the byte:<br /> int inByte = myPort.read(); <br /> // print it:<br /> println(inByte);<br /> // set the drawing color. Pick a pretty color:<br /> stroke(123,128,158);<br /> // draw the line:<br /> line(graphXPos, height, graphXPos, height - inByte);<br /><br /> // at the edge of the screen, go back to the beginning:<br /> if (graphXPos >= width) {<br /> graphXPos = 0;<br /> // clear the screen:<br /> background(48,31,65); <br /> } <br /> else {<br /> // increment the horizontal position for the next reading:<br /> graphXPos++;<br /> }<br />}<br /><br /><br />ONE NOTE...When you load your Processing sketch, you must have your Arduino plugged in and running the aformentioned program. You need this so that the Processing code that looks at serial ports will capture the correct serial port. ALSO, this code works for Mac's as the first serial port that comes up in Processing is the serial port we want to access:<br /><br />myPort = new Serial(this, Serial.list()[0], 9600);<br /><br /><br />This code in our Processing program is telling our program to access the first serial port in the array returned by this code:<br /><br />println(Serial.list());<br /><br />It might be slightly different on a PC.<br /><br />Here is the finished product in action...<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/O8fA8WhusBg&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/O8fA8WhusBg&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-2800272141392973802009-10-08T07:07:00.000-07:002009-10-08T12:49:41.971-07:00Helmet Concussion Sensor Design/ApplicationFor our project this week in <a href='http://itp.nyu.edu/physcomp/Intro/HomePage'>PComp</a>, we were asked to get a little creative and use the knowledge we have gained from the first month of class to come up with a <span style="font-style:italic;">Stupid Pet Trick</span>. This project had a few parameters, mainly that we gather information from the analog world and do something with it via our Arduino Microcontroller and some programming language. I had several ideas, but fell back on something that "hits" close to home for me. <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4NGmD9di68OM_HKN6imCXmSVd5Cx2iG0Rk1wfq-fzvnF6LKar3fUllTVvPesOpEMKdqZ-uzjONQeTgCIMswggsgVS2rkODmYc0hKNDBnWR0QwQpvcFgFPTa7gN_f7yx0tsrdUa28C_MFf/s1600-h/SDC10298.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4NGmD9di68OM_HKN6imCXmSVd5Cx2iG0Rk1wfq-fzvnF6LKar3fUllTVvPesOpEMKdqZ-uzjONQeTgCIMswggsgVS2rkODmYc0hKNDBnWR0QwQpvcFgFPTa7gN_f7yx0tsrdUa28C_MFf/s200/SDC10298.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5390270157975679090" /></a><br /><br />Head trauma and <a href='http://en.wikipedia.org/wiki/Concussion'>concussions</a> in the world of football.<br /><br />As a long time <a href='http://www.arenafootball.com/ViewArticle.dbml?DB_OEM_ID=3500&ATCLID=95913&Q_SEASON=2008'>athlete</a>, I witnessed many head trauma incidents in the world of football. I have also witnessed the arbitrary testing that goes on to diagnose concussions as well as player avoidance of medical staff after a concussive event has occurred. Recently, there has been new information brought forward on head trauma and dementia in the world of sports. The New York Times broke a <a href='http://www.nytimes.com/2009/09/30/sports/football/30dementia.html?_r=1&scp=1&sq=Alan%20Schwarz%20concussions&st=cse'>story</a> recently that former NFL players ages 30-49 suffer dementia at 19 times the national average. This is alarming to say the least and only heightens the need to further understand these traumatic events and seek to protect players immediately.<br /><br />Briefly, the head trauma that is incurred on the football field is due to acceleration (also think deceleration) events. The brain sits suspended in a liquid medium, Cerebral Spinal Fluid (CSF). As the head and helmet are quickly accelerated, the brain has no where to go as the CSF can only minimally slow the brain down in these events. The greater the acceleration, the greater the force and impact the brain will incur inside the skull both linearly and rotationally...Force=Mass x Acceleration in linear systems and (Mass x V^2)/R in rotational systems...(<a href='http://www.icyou.com/topics/neurology/2d-3d-medical-animation-tbi-traumatic-brain-injury-part-i+'>Video</a>).<br /><br />We can think of accelerations in terms of "G's". G's are normally spoken of as G-Force, this is somewhat of a misnomer as G's are actually accelerations, but are easily understood as force through F=ma. 1 G is equivalent to gravity here on earth, 9.8 m/s/s. For a number of years, it has been common convention to assume that concussive events are correlated with accelerations of ~75 G's or more. Once recent North Carolina <a href='http://college.unc.edu/features/december2007/article.2007-12-07.0451328104'>study</a> had this to say:<br /><br /><span style="font-style:italic;">"In football, a hit can easily jerk the head, for milliseconds, at 50g, and hits above 100g are common. One player in the study experienced 168g. It was previously suggested that a forces above 75g would likely result in a concussion, but these new results call into question that finding.<br /><br />The UNC studies showed that some players suffered concussions at little more than 60g, while others sustained hits creating more than 90g and showed no signs of concussions; less than .35 percent (only one-third of one percent) of impacts greater than 80g resulted in concussions."</span><br /><br />Given this and other studies/data, it is clear the sports world must urgently seek to find out more about the mechanisms of head trauma in football and to protect the millions of grade school, jr high, high school, college, and professional athletes who play full contact football on a weekly basis.<br /><br /><br />What I have come to hope for is a device that would signal coaches, medical staff and game officials that a potentially traumatic event has occurred with a player's head. To this end, I took the liberty of heading in the general project direction of <span style="font-style:italic;">Mom, I want to play football but don't want to suffer undo brain trauma Pet Trick</span>. This is what I came up with:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBGjHP9G0pi0XpBCEGIXJ_APeJAJGipGYZUjUlTOGVvkfQad_WHuom6zxAqY-6u3haBeoKWGL7J5jenkwd8D7McYvh9SOx_S97mhnRODtx2givVV-ferQjSho0LVc1I1030lVF2-nVbY3f/s1600-h/helmet.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 215px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBGjHP9G0pi0XpBCEGIXJ_APeJAJGipGYZUjUlTOGVvkfQad_WHuom6zxAqY-6u3haBeoKWGL7J5jenkwd8D7McYvh9SOx_S97mhnRODtx2givVV-ferQjSho0LVc1I1030lVF2-nVbY3f/s400/helmet.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5390275113481084674" /></a><br />I designed a system that would utilize an accelerometer (or an array of accelerometers in future versions) to detect linear and rotational accelerations due to activity on the football field. If a threshold level of acceleration was reached, a conductive sticker or other outward display would change from white to red on the back of the players helmet. This would immediately signal to medical staff, coaches, and officials that the player needs to come out of the game to be examined. The sticker, depending on its construction, could either be reset or discarded and another sticker could be placed in the system for further use. My number one design principle while looking at this problem was to communicate a potentially concussive event with a minimal amount of resources (cost).<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdYvVogqF_azDgz_nUpRMtQBH5ryi7CNVbJ4kQttl4IZ91_kK5Cv9dUjq0fpLdRh4G8lKUyi71osB5cUEinHXR-MqpNuAxwvEWURcR4r2Ag-JEtB-PxklwXDGJBmsf5R_4gTzlXuSlKYAG/s1600-h/SDC10276.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdYvVogqF_azDgz_nUpRMtQBH5ryi7CNVbJ4kQttl4IZ91_kK5Cv9dUjq0fpLdRh4G8lKUyi71osB5cUEinHXR-MqpNuAxwvEWURcR4r2Ag-JEtB-PxklwXDGJBmsf5R_4gTzlXuSlKYAG/s200/SDC10276.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5390271995317414722" /></a>For my prototype, I used a 3-axis accelerometer that can sense up to 3G's. This is obviously a lower G threshold than almost all concussive events, but this accelerometer was an extremely low cost option for the prototype. If an event of 3G's (or whatever level I set in my code) is detected in the prototype, 5V is sent to a red LED on the back of the helmet (emulating the sticker). <br /><br /><br />And here is the system in action. The LED will light up and stay lit up for 3 seconds every time a threshold acceleration (2.5G's in this video) or greater is sensed.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/FOHQtIzEtJw&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/FOHQtIzEtJw&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/5xjTNS5RDM0&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/5xjTNS5RDM0&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br /><br /><br />Currently, there is a <a href='http://www.technologyreview.com/computing/19356/?a=f'>system</a> in limited production that is being tested by several major college teams. This system is very robust and signals to a computer on the sideline when a concussive event has occurred. This is fantastic. The technology used is the <a href='http://www.simbex.com/HIT_system.htm'>HIT system</a> developed by Symbex. This technology was acquired by helmet maker Ridell costs $80,000 per team to implement (about $1000/player). <br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/0XnXuWFqDRk&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/0XnXuWFqDRk&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object> <br /><br />I hope to continue to develop this technology in the coming weeks and months. More than this, I hope that the sports world will focus itself on solving this problem and protecting the young and professional athletes who play all contact sports. <br /><br />CODE<br /><br />/*This program allows for the detection of accelerations using a three axis <br />accelerometer (ADXL 3xx)..Originally referenced Tom Igoe/David A. Mellis code<br />http://www.arduino.cc/en/Tutorial/ADXL3xx<br /><br />created 2 Oct 2009<br />by Chris Anthony<br /><br />*/<br /><br />const int groundpin = 19; //Setting groundpin to Analog pin 5 <br />const int xpin = 4; //x axis readings of accelerometer <br />const int ypin = 3; //y axis readings of accelerometer <br />const int zpin = 2; //z axis readings of accelerometer<br />int ledPin = 6; //digital pin that turns on our LED<br />int a = 0; //x axis<br />int b = 0; //x axis<br />int c = 0; //y axis<br />int d = 0; //y axis<br />int e = 0; //z axis<br />int f = 0; //z axis<br />long lastPulse = 0; //for millis fx<br />int refreshTime = 5; //for millis fx<br /><br /><br />void setup()<br />{<br /> // initialize the serial communications:<br /> Serial.begin(9600);<br /><br /> pinMode(groundpin, OUTPUT); //This code turns the groundpin<br /> digitalWrite(groundpin, LOW); //into a voltage sink=ground.<br /> pinMode(ledPin, OUTPUT); //tell our ledPin to output voltage when commanded<br /> a = (float)analogRead(xpin); //this is for the x axis<br /> c = (float)analogRead(ypin); //this is for the y axis<br /> e = (float)analogRead(zpin); //this is for the z axis<br /> delay(5); //I use this delay just in void setup to attempt to mimick millis, this is used just once<br />}<br /><br />void loop()<br />{<br /> if (millis() - lastPulse >= refreshTime) {<br /> b = (float)analogRead(xpin);<br /> d = (float)analogRead(ypin);<br /> f = (float)analogRead(zpin);<br /> //Code below is coming up with a final vector that takes into account the <br /> //vectors of all three axes. If this final vector is greater than 200, which is <br /> //equivalent to 2.5G's with 3.3V input to acclerometer, we turn on the LED<br /> //note that with this setup 1 G will be equivalent to a change in ~70 <br /> //on your serial monitor. This is where we get 175 in below math<br /> if (sqrt(sq(a-b) + sq(c-d) + sq(e-f)) > 175) { <br /> digitalWrite(ledPin, HIGH);<br /> delay(3000); //this code keeps LED on for 3 seconds just for interaction purposes<br /> }<br /> else digitalWrite(ledPin, LOW);<br /> a = b; //we swith our variables so we can now look at the 3 set of readings<br /> c = d; //compared to the second set. <br /> e = f;<br /> <br /> Serial.print(analogRead(xpin));<br /> // print a tab between values:<br /> Serial.print("\t");<br /> Serial.print(analogRead(ypin));<br /> // print a tab between values:<br /> Serial.print("\t");<br /> Serial.print(analogRead(zpin));<br /> Serial.println();<br /> <br /> lastPulse = millis(); <br /> }<br />}Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-79735202224697698112009-10-03T08:10:00.000-07:002009-10-03T08:39:32.806-07:00Servo Lab/Lab 4This week we learned about pulse width modulation (PWM). This is where we use a digital signal to act like an analog signal. This happens by changing the frequency of digital pulse's through our system (which obviously corresponds to width of pulse). To learn more about PWM, duty cycle, and extended information about using digital signals to communicate in an analog world, check out this <a href='http://en.wikipedia.org/wiki/Pulse-width_modulation'>article</a>.<br /><br />This lab was really exciting for me as it was the first time we used a transduced input and used it in such a way as to immediately affect our world in a physical manner. This was really fun and I am excited about using multiple arrays of servos + motors + gears to create mechanically robust entities.<br /><br />/*<br /> Servo control from an analog input<br /><br /> The minimum (minPulse) and maxiumum (maxPulse) values<br /> will be different depending on your specific servo motor.<br /> Ideally, it should be between 1 and 2 milliseconds, but in practice,<br /> 0.5 - 2.5 milliseconds works well for me.<br /> Try different values to see what numbers are best for you.<br /><br /> This program uses the millis() function to keep track of when the servo was<br /> last pulsed. millis() produces an overflow error (i.e. generates a number<br /> that's too big to fit in a long variable) after about 5 days. if you're<br /> making a program that has to run for more than 5 days, you may need to<br /> account for this.<br /><br /> by Tom Igoe<br /> additions by Carlyn Maw & Rob Faludi<br /> Created 28 Jan. 2006<br /> Updated 10 Jun. 2008<br /> */<br /><br /> int servoPin = 2; // Control pin for servo motor<br /> int minPulse = 500; // Minimum servo position<br /> int maxPulse = 2500; // Maximum servo position<br /> int pulse = 0; // Amount to pulse the servo<br /><br /> long lastPulse = 0; // the time in milliseconds of the last pulse<br /> int refreshTime = 20; // the time needed in between pulses<br /><br /> int analogValue = 0; // the value returned from the analog sensor<br /> int analogPin = 0; // the analog pin that the sensor's on<br /><br /> void setup() {<br /> pinMode(servoPin, OUTPUT); // Set servo pin as an output pin<br /> pulse = minPulse; // Set the motor position value to the minimum<br /> Serial.begin(9600);<br /> }<br /><br /> void loop() {<br /> analogValue = analogRead(analogPin); // read the analog input<br /> pulse = map(analogValue,0,1023,minPulse,maxPulse); // convert the analog value<br /> // to a range between minPulse<br /> // and maxPulse.<br /><br /> // pulse the servo again if rhe refresh time (20 ms) have passed:<br /> if (millis() - lastPulse >= refreshTime) {<br /> digitalWrite(servoPin, HIGH); // Turn the motor on<br /> delayMicroseconds(pulse); // Length of the pulse sets the motor position<br /> digitalWrite(servoPin, LOW); // Turn the motor off<br /> lastPulse = millis(); // save the time of the last pulse<br /> }<br /> }<br /><br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/EE5APghWQQI&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/EE5APghWQQI&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-77719690371697488652009-10-03T08:08:00.000-07:002009-10-03T08:38:13.303-07:00Electronics Lab/ Lab 3This week we dove deeper into what is actually going on with our circuits and the theory behind our applications. We also learned how to solder and use a voltage restrictor in order to take power in from alternative resources. This was a fun lecture for me as I am interested in knowing what is going on behind the scenes. <br /><br />Here are some good resources for information on electricity and how it relates to what is actually going on in a circuit or project build-out:<br /><br />Read about <a href='http://en.wikipedia.org/wiki/Electricity'>electricity</a>.<br /><br />Good video to visualize what <a href='http://video.google.com/videoplay?docid=-110952566405373011#'>electricity</a> is actually doing.<br /><br />And some <a href='http://tutor4physics.com/electricity.htm'>formulas</a> that will prove helpful.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5qOWMnzwjv-pAT9lOOwyKk8xG-dAMm9ptu0jdpC3ieySvBduGSrMAUh15IrU6uDSctdFQ3-MUJXs1ntcq6YfFVa2sAtIT0nN6wIwSY-rBvvicX7kKBIpVzPffZ3q1XrkyDSdiSVrn_BnF/s1600-h/SDC10271.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5qOWMnzwjv-pAT9lOOwyKk8xG-dAMm9ptu0jdpC3ieySvBduGSrMAUh15IrU6uDSctdFQ3-MUJXs1ntcq6YfFVa2sAtIT0nN6wIwSY-rBvvicX7kKBIpVzPffZ3q1XrkyDSdiSVrn_BnF/s200/SDC10271.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5388396430212023298" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Ry9-Ep8QcGJtnvQUMSei1L70B7AqZmMdJ0AFRjRfZekiLrTDn4sayNOOZvbC6-_2gTawiZf-6UoBa6Am9TgwBMW5dJJY09xhp_s4UNaBeMd0gHQSsrG_b7N85Xlg6kO6fRjWWa5dhESw/s1600-h/SDC10270.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Ry9-Ep8QcGJtnvQUMSei1L70B7AqZmMdJ0AFRjRfZekiLrTDn4sayNOOZvbC6-_2gTawiZf-6UoBa6Am9TgwBMW5dJJY09xhp_s4UNaBeMd0gHQSsrG_b7N85Xlg6kO6fRjWWa5dhESw/s200/SDC10270.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5388396045635887410" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuPPVdAfwfHQ5t88fobkqotAXMydvvLMw-1wDIIU5pjcJS9AnD7z-CuXWQVjppiDz32Ed-fVVw1CXpDdIS68e8qwcrrfgjmlKTZFvFL52Fv6D-SW0yRP_aMxZ9EnWvTOiWNIQMmfH_Jt_7/s1600-h/SDC10268.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuPPVdAfwfHQ5t88fobkqotAXMydvvLMw-1wDIIU5pjcJS9AnD7z-CuXWQVjppiDz32Ed-fVVw1CXpDdIS68e8qwcrrfgjmlKTZFvFL52Fv6D-SW0yRP_aMxZ9EnWvTOiWNIQMmfH_Jt_7/s200/SDC10268.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5388395667453678594" /></a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-72368315444579079772009-10-01T07:40:00.000-07:002009-10-01T07:57:39.957-07:00Physical Prototype Personal Medical Diagnostic Tool<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGmWzlHTcqx9FxdsKqsE-EU75d1ShLiTXY4N9A9xIkTfOrGYrVVjndOjwUJFgGLM-zGKJcxeBjbYRcqa1053Y8LcXBpWAMB1GlB7aNN2tqKdRWkztaA_CvdmOHP-nFpWxfZjR85Z-bxfQu/s1600-h/SDC10263.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGmWzlHTcqx9FxdsKqsE-EU75d1ShLiTXY4N9A9xIkTfOrGYrVVjndOjwUJFgGLM-zGKJcxeBjbYRcqa1053Y8LcXBpWAMB1GlB7aNN2tqKdRWkztaA_CvdmOHP-nFpWxfZjR85Z-bxfQu/s200/SDC10263.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5387643351664849922" /></a><br />I created several prototypes of my previously proposed Personal Medical Diagnostic Tool. I used the prototypes to gain an understanding of common every day usage and how this would be relevant for personal and community health. My most interesting discovery was that I commonly was pressing the "Mark" button to record an event of when I had a pain, slight headache, or stomach discomfort. <br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSny0V-w2wFMQ88114mQBXNjP710AWZKseJQ1wcrmn2eflnLmFkwbSDlPDZz_P8b6vpgXL5O-d5lOTEhhCMgRtCBBonkQQU5PMv3gnKFcS9iVFgUp71uLDn_aBybP5fGBndR3ysnYOG-PM/s1600-h/SDC10259.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSny0V-w2wFMQ88114mQBXNjP710AWZKseJQ1wcrmn2eflnLmFkwbSDlPDZz_P8b6vpgXL5O-d5lOTEhhCMgRtCBBonkQQU5PMv3gnKFcS9iVFgUp71uLDn_aBybP5fGBndR3ysnYOG-PM/s200/SDC10259.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5387643018014271954" /></a><br />In my testing, it seems that this device would open up a new area of health care evaluation and treatment. In recording the diagnostics at the time of my "Mark" event, this information could be evaluated by my device or by a physician in order to correlate the data with known pathology etc. or with previously marked events. <br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-RVfXrSEwZuAao9WUmWr6s1nFvxwPjAobGZzV7hgJPefY2-hxKSZsucnPEtvFWtNUoShAL2NJbRApGfSXG5hMJJOcId8n2GeaNGKWwbaVnkbJiwAytUMHlYlJ1GZenLEUbqkYfxqhTPz8/s1600-h/SDC10264.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-RVfXrSEwZuAao9WUmWr6s1nFvxwPjAobGZzV7hgJPefY2-hxKSZsucnPEtvFWtNUoShAL2NJbRApGfSXG5hMJJOcId8n2GeaNGKWwbaVnkbJiwAytUMHlYlJ1GZenLEUbqkYfxqhTPz8/s200/SDC10264.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5387642701442216578" /></a><br />It also was comforting to know that if anything went wrong, or started to go wrong but would go unnoticed by me, the Personal Health Diagnostic Tool would alert me to this information. <br /><br />I also prototyped a system of interconnected proteins or nano-structures that would communicate to the device.<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ928IPIeBuiEWcWiOKDoQ58uQPo3k_PBko954eUWzTNh6Y7-j_7ypfPOYmjS9CBF2PtA2JtG3wpxRLrxUxoM2KATiS6DYoA8tRl5UvI-Qhf4kld45OlKbxV8g3pBcDgdCThyBnyInSOst/s1600-h/SDC10267.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ928IPIeBuiEWcWiOKDoQ58uQPo3k_PBko954eUWzTNh6Y7-j_7ypfPOYmjS9CBF2PtA2JtG3wpxRLrxUxoM2KATiS6DYoA8tRl5UvI-Qhf4kld45OlKbxV8g3pBcDgdCThyBnyInSOst/s200/SDC10267.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5387642351744845410" /></a><br />I will continue to conduct more studies and play around with the prototype. Will report back soon...Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-35299881677219894612009-09-22T16:44:00.000-07:002009-12-08T07:22:00.332-08:00Dream Device/Personal Health Diagnostic ToolThis week we were asked to design our "dream device". This could be anything we want, though, it had to be something we couldn't readily build, something that stretched our imaginations.<br /><br />I knew immediately what I wanted to design. For a while I have been thinking about the state of our health care system and what the future of medicine and health care holds for me, my family, and friends.<br /><br />A confluence of thoughts for me in this area has been the idea of "personalizing" medicine and health care. We are on the brink of being able to implement technology that will allow us to track our health in a minute by minute fashion. I believe this technology will empower individuals to learn more about their bodies and ultimately receive better and more comprehensive care. The following is my vision for one of the ways this might manifest in a device.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/DXz7BIwG8Oc&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/DXz7BIwG8Oc&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br /><br /><br />The links below will help to give a better understanding of the technologies that will be deployed inside the human body in order to enable the Personal Human Diagnostic Tool. There are also several animations that show the scale and level on which this device will gather information. <br /><br /><a href='http://en.wikipedia.org/wiki/Carbon_nanotube'><br />Wikipedia on Carbon nanotubes and applications<br />http://en.wikipedia.org/wiki/Carbon_nanotube</a><br /><br /><a href='http://www.scienceagogo.com/news/20050715001807data_trunc_sys.shtml'><br />Article on using Y shaped carbon nanotubes as transistors (switches)<br />http://www.scienceagogo.com/news/20050715001807data_trunc_sys.shtml</a><br /><br />Animation of inter-workings of cell. This gives an idea of the scale on which this device would gather information.<a href='http://multimedia.mcb.harvard.edu/anim_innerlife.html'>Animation</a><br /><br />Animation of how cells and proteins communicate. This allows us to see and envision the proteins and structures we could build that would detect various phenomena in the body and signal to an outside device what is happening.<a href='http://www.youtube.com/watch?v=U6uHotlXvPo'>Animation</a><br /><br />Animation of how we can engineer and build proteins into structures of our choosing.<a href='http://intro.bio.umb.edu/111-112/111F98Lect/folding.html'>Animation</a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-73881205540641369692009-09-22T16:31:00.000-07:002009-09-22T18:00:08.703-07:00Playing with IF statementsHad a lot of fun today with IF statements and derivatives...Here is some code and video from my experimentation today.<br /><br />This code turns on and off 3 LED's depending on the amount of force sensed by a Force Sensitive Resistor.<br /><br />////////////////////<br />///////////////////<br />int potPin = 0; <br />int ledPin = 3; <br />int ledPinA = 5;<br />int ledPinB = 6;<br />int potValue = 0; <br /><br />void setup()<br />{<br /> Serial.begin(9600); <br /> pinMode(ledPin, OUTPUT); <br /> pinMode(ledPinA, OUTPUT); <br /> pinMode(ledPinB, OUTPUT); <br />}<br /><br />void loop()<br />{<br /> potValue = analogRead(potPin); <br /><br /> Serial.println(potValue); <br /><br /> <br /> if (potValue >= 600) {<br /> analogWrite(ledPin, potValue / 4);<br /> }<br /> else analogWrite(ledPin, 0);<br /> <br /> if (potValue < 600 && potValue > 500) {<br /> analogWrite(ledPinA, potValue / 4);<br /> }<br /> else analogWrite(ledPinA, 0);<br /> <br /> if (potValue <= 500 && potValue > 200) {<br /> analogWrite(ledPinB, potValue / 4);<br /> }<br /> else analogWrite(ledPinB, 0); <br /> <br /> delay(10); <br />}<br /><br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/-EHlDzqp0mU&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-EHlDzqp0mU&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />_______________________________________________<br /><br />The following code allowed for the use of two sensors and included some OR (||) statements. <br />////////////////////////////<br />///////////////////////////<br />int potPin = 0;<br />int potFlex = 1;<br />int ledPin = 3; <br />int ledPinA = 5;<br />int ledPinB = 6;<br />int potValue = 0; <br />int potFlexValue = 0; <br /><br />void setup()<br />{<br /> Serial.begin(9600); <br /> pinMode(ledPin, OUTPUT); <br /> pinMode(ledPinA, OUTPUT); <br /> pinMode(ledPinB, OUTPUT); <br />}<br /><br />void loop()<br />{<br /> potValue = analogRead(potPin); <br /> potFlexValue = analogRead(potFlex); <br /><br /> Serial.println(potFlexValue); <br /><br /> <br /> if (potValue >= 600 || potFlexValue < 450) {<br /> analogWrite(ledPin, potValue / 4);<br /> analogWrite(ledPin, potFlexValue / 4);<br /> }<br /> else analogWrite(ledPin, 0);<br /> <br /> if (potValue < 600 && potValue > 500) {<br /> analogWrite(ledPinA, potValue / 4);<br /> }<br /> else analogWrite(ledPinA, 0);<br /> <br /> if (potValue <= 500 && potValue > 200) {<br /> analogWrite(ledPinB, potValue / 4);<br /> }<br /> else analogWrite(ledPinB, 0); <br /> <br /> delay(10); <br /><br />}<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/jhvqd4zKVSg&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/jhvqd4zKVSg&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />_____________________________________________________<br /><br />In this last snippet of code is a simple application of the "Hello World!" program using a sensor to tell a user if they are "strong" or not.<br /><br />/////////////////////////////////<br />////////////////////////////////<br />int potPin = 0;<br />int potValue = 0; <br /><br />void setup()<br />{<br /> Serial.begin(9600); <br />}<br /><br />void loop()<br />{<br /> potValue = analogRead(potPin); <br /><br /> <br /> if (potValue >= 800) {<br /> Serial.println("You are Strong");<br /> }<br /> else Serial.println("You are weak");<br /> <br /> delay(10); <br />}<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/wy0gB-6OdOg&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wy0gB-6OdOg&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />________________________________________________________<br /><br />A lot of fun with this stuff. Really starting to see the giant world of possibility when combining the physical world with instructions.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-64558539892896450902009-09-18T15:36:00.000-07:002009-09-18T15:59:30.742-07:00Lab 2/Hello Analog World, meet my ArduinoI just finished lab 2. This lab allows us to start interfacing the analog (variable) world with the digital world of computation. I was primarily interested in using the variable resistors at our disposal to measure force and flexion. As I changed the resistance in the variable resistors with physical force, the LED in my circuit had a proportional voltage applied to it. This lab really started to open my eyes to the possibility we have to connect our physical world to the power of a computational device. Lots of ideas running around my head. Will keep you all updated.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilEw3k-GykCLAj-MUckCs_tl3B2GsAkifBE3kPinEa-D-IgDFP_DrVaSSRwpU9dQqcIFQATxMqya8VO3x4h2hQAqOksZaGHQXHfZt6xXMriSZXuohpSpRL8-Z7eUSPT2FnMc2b7YaaqtSI/s1600-h/SDC10178.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilEw3k-GykCLAj-MUckCs_tl3B2GsAkifBE3kPinEa-D-IgDFP_DrVaSSRwpU9dQqcIFQATxMqya8VO3x4h2hQAqOksZaGHQXHfZt6xXMriSZXuohpSpRL8-Z7eUSPT2FnMc2b7YaaqtSI/s200/SDC10178.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5382944647761740034" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB2YZJHDQyhxK2csXSLA2tuOuzFQoNVqoIaRmQMy_sPEjKqg56GD1Zrf6N1rtIgnVbG4z9qjo0O93nC4ijGWd-xKm9pU5ff11fnvz5X4bFDL5yIJFW4DNl8sBXvkRKGVbl_aTRXHKdv3Zg/s1600-h/SDC10177.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB2YZJHDQyhxK2csXSLA2tuOuzFQoNVqoIaRmQMy_sPEjKqg56GD1Zrf6N1rtIgnVbG4z9qjo0O93nC4ijGWd-xKm9pU5ff11fnvz5X4bFDL5yIJFW4DNl8sBXvkRKGVbl_aTRXHKdv3Zg/s200/SDC10177.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5382944347359286386" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioq3vhJP58amIGGSAMu6NhCvvnR8z4UCY2ZWcNKmMJUTpCMvmFC8ELZsRLgy3SYYEreQ9U4woOjvDEikqcomos-EAK-7CWmAQSqaZjsyh8bXUiH7f60tCwTc8QHB_fA72J6BXmk8rWbaV8/s1600-h/SDC10171.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioq3vhJP58amIGGSAMu6NhCvvnR8z4UCY2ZWcNKmMJUTpCMvmFC8ELZsRLgy3SYYEreQ9U4woOjvDEikqcomos-EAK-7CWmAQSqaZjsyh8bXUiH7f60tCwTc8QHB_fA72J6BXmk8rWbaV8/s200/SDC10171.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5382943459184358274" /></a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-81716711232132994422009-09-17T12:28:00.001-07:002009-09-17T12:35:50.133-07:00Lab 1/Switch and LED'sI just completed my first lab. This was my first time building a circuti...ever. New experience from cutting wires to figuring out schematic of breadboard to figuring out the anode and cathode ends of a LED. Great to move from theory to application...Switch works great. One note for anyone programming Arduino->Save your file before you tried to upload it to Arduino...Side note= I now have lots of tools and electronic components, heh heh heh.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzolq3iYUx8bAvbl8qW_RCstdvXqYdfu-8imi_rf9KvOeDKsWbPQZa3mU8D_f6tQ7xJh28d5dbxunyYzsMDY2n45-hksvRm4uDFtUSStRS0sXQOmSOPpJJtmwVlrMdD0rtg1rC3m7fHIjJ/s1600-h/SDC10168.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzolq3iYUx8bAvbl8qW_RCstdvXqYdfu-8imi_rf9KvOeDKsWbPQZa3mU8D_f6tQ7xJh28d5dbxunyYzsMDY2n45-hksvRm4uDFtUSStRS0sXQOmSOPpJJtmwVlrMdD0rtg1rC3m7fHIjJ/s200/SDC10168.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5382521331414188546" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeybGc3dhlJ9rzhQKkPUvARAGqZvQAW2h6V7k7R6ydoC9EYjzar-Qvi3z-57oM9i-47St8yP7U7wWtD4ybMuXW336lURZjy5xKp3Y31ZPg3Snu4OHeIw2p6Sc2OSsxMW3Nhwf9oI6IRoJ/s1600-h/SDC10167.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSeybGc3dhlJ9rzhQKkPUvARAGqZvQAW2h6V7k7R6ydoC9EYjzar-Qvi3z-57oM9i-47St8yP7U7wWtD4ybMuXW336lURZjy5xKp3Y31ZPg3Snu4OHeIw2p6Sc2OSsxMW3Nhwf9oI6IRoJ/s200/SDC10167.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5382520979354827810" /></a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-44345781912396206092009-09-17T05:04:00.000-07:002009-09-17T05:52:35.188-07:00Sensor WalkI just completed my "Sensor Walk" and had an interesting experience. Similar to my "mental sensor walk", I started at my apartment in Park Slope and walked to the subway at Atlantic Ave. I noticed many things along the way from ATM's, to street signals/lights, to apartment buzzer systems. I found my "gold mine" to be underground in the subway system. I found touch screens, magnetic(?) card readers (swipe and go), turnstiles, and subway doors. What struck me most about all of the sensors I encountered was what was required of me to get them to actuate. I found myself much more drawn to sensors that required more "dynamic" movement or force from me. For instance, I became fascinated with the subway turnstiles that allow you into the subway. I had never stopped to think about it before, but, these turnstiles require a force to be exerted on them in order for you to enter the subway. I decided I wanted to measure this force and so went home and got a scale (see pics below). I found that waist height turnstiles require approximately 3 pounds of force when operated as far as possible from the fulcrum (pivot or rotation point of turnstile). I also tested full-height turnstiles and found that these require approximately 5 pounds of force when measured from the middle of the "cage". <br /><br />I found it interesting that I was much more drawn to interactions with sensors that required more of me (in terms of force) than interactions that were fairly easy, like the touch screen. This brings to my mind the different ways of interacting with subway turnstiles-><br /><br />1) Lets say I'm in the mood to exert a larger amount of force over a shorter distance..I should try walking as close to the pivot point as possible. My torque is minimized here so I must personally produce a larger amount of force to get myself through the turnstile. <br /><br />2) If I want to output less force but am willing to give this force over a longer range of motion, I should walk as far away from the pivot point as possible. This will maximize my torque but will require me to output a smaller amount of force (than 1) over a longer range of motion.<br /><br />I think this exercise has made me aware of what is a personally rewarding experience with a sensor for me. I will trying to keep an account for interactions with sensors in the coming days and weeks that speak to these and other observations.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRmYYY_4yooYwT_GpmvGjZAOL4wBwP0lBteu3moJJ7Kd65d8FvyAnlYrU6IdVeO_g1wy59hLU3T1sasK3AeE6fA6-VvYsJ9jkYqOJrasxu46pZp4X-rBh2OEX5qRO4YiFFfwiANnLlq7by/s1600-h/sensor_walk+017.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 160px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRmYYY_4yooYwT_GpmvGjZAOL4wBwP0lBteu3moJJ7Kd65d8FvyAnlYrU6IdVeO_g1wy59hLU3T1sasK3AeE6fA6-VvYsJ9jkYqOJrasxu46pZp4X-rBh2OEX5qRO4YiFFfwiANnLlq7by/s200/sensor_walk+017.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5382409586386425026" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHRGIHT0CGQZ2xdTCn5Z-rtVx82kcJ8kUR7YGpqDfSrBR1BrtBhrkptQpaA0YrTx4RwYPK44YnyZthqmDHK_DaO9ZZDTeMr3EvRLHOLLhg0HzszQ9oB9WlI-2ciT24W3EKIbbdnMGVuCxO/s1600-h/sensor_walk+008.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 160px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHRGIHT0CGQZ2xdTCn5Z-rtVx82kcJ8kUR7YGpqDfSrBR1BrtBhrkptQpaA0YrTx4RwYPK44YnyZthqmDHK_DaO9ZZDTeMr3EvRLHOLLhg0HzszQ9oB9WlI-2ciT24W3EKIbbdnMGVuCxO/s200/sensor_walk+008.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5382409211171657842" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpWGfKanwejMH6piHve3l_44o9kxKs0GSr4iSkRFu2dV_-YBJblhYCM79S3_FWO3YhJxpxn-POarvKOlom_HafaaNArHkZYNNqPsoDvTJ689074HwVtGJ3nrCY4zIqJLaG8z5ayaeBC7pO/s1600-h/sensor_walk+011.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 160px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpWGfKanwejMH6piHve3l_44o9kxKs0GSr4iSkRFu2dV_-YBJblhYCM79S3_FWO3YhJxpxn-POarvKOlom_HafaaNArHkZYNNqPsoDvTJ689074HwVtGJ3nrCY4zIqJLaG8z5ayaeBC7pO/s200/sensor_walk+011.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5382408527821244274" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjorMUkQiR7UhTkaL7EW6RhqjACZJDvoMKX4erp04qS3tPaL7vqWwb36W0QI3DVq8RWhBx7SPjY4Dvr1De6Spc1WbqsE4IwOVBmJGBGvEo_jWL2Tt18M4f9X7EMLZUSGxDnlFKJ01huvtPx/s1600-h/sensor_walk+014.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 160px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjorMUkQiR7UhTkaL7EW6RhqjACZJDvoMKX4erp04qS3tPaL7vqWwb36W0QI3DVq8RWhBx7SPjY4Dvr1De6Spc1WbqsE4IwOVBmJGBGvEo_jWL2Tt18M4f9X7EMLZUSGxDnlFKJ01huvtPx/s200/sensor_walk+014.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5382407885456710674" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA8OLMWcM4r-dnnudVSkMOlSWDcoC9TmZDC9CDGhZnwe0Z8EatpNnPOzYXyLLeGvIayFbPdGdApOTu7ewMdbxlEjt3LR99HGzm7Dueny2eobRikpetqhkHixKehCeevigX9A9qBSQsz4W_/s1600-h/sensor_walk+018.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 160px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA8OLMWcM4r-dnnudVSkMOlSWDcoC9TmZDC9CDGhZnwe0Z8EatpNnPOzYXyLLeGvIayFbPdGdApOTu7ewMdbxlEjt3LR99HGzm7Dueny2eobRikpetqhkHixKehCeevigX9A9qBSQsz4W_/s200/sensor_walk+018.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5382407487260929282" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjrV8ZIOwx8bVJrGpfj7XVElhzxlDojfQwlaxfn4KSbYzfPE0CY13ZzDhK1Ak5QjkIT_Vz9DD15WhW2UshzeR3djXJYTBZc9-b_MQ3hdey28bNGO3ccCDrV3AAZr3lPgjNDJnEDtAVknEQ/s1600-h/sensor_walk+003.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 160px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjrV8ZIOwx8bVJrGpfj7XVElhzxlDojfQwlaxfn4KSbYzfPE0CY13ZzDhK1Ak5QjkIT_Vz9DD15WhW2UshzeR3djXJYTBZc9-b_MQ3hdey28bNGO3ccCDrV3AAZr3lPgjNDJnEDtAVknEQ/s200/sensor_walk+003.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5382406924236316178" /></a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-30557575639495864552009-09-16T08:08:00.000-07:002009-09-16T08:27:41.500-07:00"Mental" Sensor WalkOne of my first assignments is to do a "sensor walk". This requires observing sensor applications in the every day world. Prior to this, I thought I would do a "mental" sensor walk...To do this, I will just imagine myself heading out from my apartment to my Physical Computing class in lower Manhattan. These are the things that come to mind:<br /><br />Phone->Push Buttons, Voice Dial, Video Camera, Lens<br /><br />ATM->Push Buttons<br /><br />Subway Turnstile->slide card=GO<br /><br />Subway Doors->Shut but will re-open if opposable force is applied.<br /><br />Subway Temperature Controls->This might potentially work by having some type of temperature sensor that provides feedback to the heating/cooling system thus regulating overall T of each individual car. I think this might be true as I remember the air conditioning units seem to vary their output.<br /><br />Subway door sound as doors close->Their is an automatic "ding ding" as doors are closing, sometimes automated voice as well "Stand clear of the closing doors"..I am assuming the conductor presses a button which closes the doors and that this button also triggers the "ding ding" and automated voice.<br /><br />Horn->People in cars push rather large "buttons" on their steering wheel that results in a loud honk..Lots of this on Houston and Broadway.<br /><br />Bathroom urinal at NYU Tisch->Sensor that detects my presence at the urinal. This seems to operate such that once I am close an "event" is started. Once I leave the urinal it flushes automatically...This could be interesting...Will probably check this out further.<br /><br />Elevator Button->I press "^" to go to the fourth floor.Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1844165471020022156.post-90798877774158732982009-09-15T03:59:00.000-07:002009-09-15T04:10:47.125-07:00What is this?<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihRofIF-h5-ihT9u4kGRLUfdnivtcy1xGYoHt7zXwJK-_SLF6CkEZiGmlG3k8HKmLlb2qGWyC9prBIP1XiKXVywoJfv_gyq59rzPmOIfpACvAquJRT8QDK3bjKiLZS10QOKFZ6jOq2IcMS/s1600-h/ca86.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 138px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihRofIF-h5-ihT9u4kGRLUfdnivtcy1xGYoHt7zXwJK-_SLF6CkEZiGmlG3k8HKmLlb2qGWyC9prBIP1XiKXVywoJfv_gyq59rzPmOIfpACvAquJRT8QDK3bjKiLZS10QOKFZ6jOq2IcMS/s200/ca86.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5381650036503189202" /></a><br /><br />This is my blog and record for the projects and discoveries I will encounter in my Intro to Physical Computing course at NYU. This course is part of the <a href="http://itp.nyu.edu/itp/">Interactive Telecommunications Program (ITP)</a> at NYU and is an elective toward my masters degree program in Biological Engineering. I look forward to gaining an ability to create useful applications for the sports and medical worlds with the knowledge and insights gained in this course.Unknownnoreply@blogger.com