<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-21408567</id><updated>2011-04-21T13:06:30.463-07:00</updated><title type='text'>Sensitive Sol</title><subtitle type='html'>NYU ITP Sensor Workshop instructed by Tom Igoe!
This is Sol's assignment site for 2006 Winter.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://solhuh3.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://solhuh3.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>SOL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='17' height='32' src='http://solhuh.com/images/00.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-21408567.post-114629081064493176</id><published>2006-04-28T22:52:00.000-07:00</published><updated>2006-11-16T09:57:36.402-08:00</updated><title type='text'>Averaging, Smoothing</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/DSCN7751.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/DSCN7751.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/DSCN7590.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/DSCN7590.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I used Flex sensor and same Processing code for Sensors and Time.&lt;br /&gt;&lt;br /&gt;Averaging and finding the median Pic Code&lt;br /&gt;&lt;br /&gt;'  Analog median and average&lt;br /&gt;' by Tom Igoe&lt;br /&gt; &lt;br /&gt;' This program reads an analog input and gives the average of 9 readings,&lt;br /&gt;' and sorts the list of readings and delivers the median number.&lt;br /&gt; &lt;br /&gt;' Created 17 October 2005&lt;br /&gt;' Updated &lt;br /&gt; &lt;br /&gt;  ' Define ADCIN parameters&lt;br /&gt;DEFINE  ADC_BITS        10     ' Set number of bits in result&lt;br /&gt;DEFINE  ADC_CLOCK       3      ' Set clock source (3=rc)&lt;br /&gt;DEFINE  ADC_SAMPLEUS    50     ' Set sampling time in uS&lt;br /&gt;&lt;br /&gt;TRISA = %11111111       ' Set PORTA to all input&lt;br /&gt;ADCON1 = %10000010      ' Set PORTA analog and right justify result&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;numReadings con 9 ' number of samples to take&lt;br /&gt;median var byte   ' median of the sorted samples&lt;br /&gt;readingNumber var byte     ' counter for the sample array&lt;br /&gt;' serial variables and constants:&lt;br /&gt;tx var portc.6&lt;br /&gt;rx var portc.7&lt;br /&gt;inv9600 con 16468&lt;br /&gt;&lt;br /&gt;'  variables for subroutines: &lt;br /&gt; i var byte &lt;br /&gt; j var byte &lt;br /&gt; position var byte &lt;br /&gt; analogValues var word[numReadings]&lt;br /&gt; total var word&lt;br /&gt; average var word &lt;br /&gt; out var byte&lt;br /&gt; in var byte&lt;br /&gt; swapper var word&lt;br /&gt;&lt;br /&gt;main:&lt;br /&gt;  for readingNumber = 0 to (numReadings - 1)&lt;br /&gt;    ' get the reading: &lt;br /&gt;    adcin 0,analogValues[readingNumber]&lt;br /&gt;    '  increment the counter:&lt;br /&gt;    readingNumber = readingNumber + 1&lt;br /&gt;  next&lt;br /&gt;  '  sort the array using a bubble sort:&lt;br /&gt;  gosub bubbleSort&lt;br /&gt;&lt;br /&gt;  '  get the middle element: &lt;br /&gt;  median = analogValues[numReadings / 2] &lt;br /&gt;&lt;br /&gt;  '  print the results: &lt;br /&gt;  '  print the array, nicely ASCII-formatted:&lt;br /&gt;  serout2 tx, inv9600,["Array: ["]&lt;br /&gt;  for j = 0 to (numReadings - 1)&lt;br /&gt;    serout2 tx, inv9600, [DEC analogValues[j], ", "]&lt;br /&gt;  next&lt;br /&gt;  serout2 tx, inv9600,["]", 10, 13]&lt;br /&gt;  '  average the array: &lt;br /&gt;  gosub averageArray&lt;br /&gt;  serout2 tx, inv9600, ["Average: ", DEC average, 10, 13]&lt;br /&gt;  serout2 tx, inv9600, ["Median: ", DEC median, 10, 13]&lt;br /&gt;GOTO MAIN&lt;br /&gt;&lt;br /&gt;'  average the values in the array: &lt;br /&gt;averageArray:&lt;br /&gt;   total = 0&lt;br /&gt;   average = 0&lt;br /&gt;  for i = 0 to (numReadings - 1)&lt;br /&gt;    total = total + analogValues[i] &lt;br /&gt;  next&lt;br /&gt;  average = total/numReadings&lt;br /&gt;RETURN&lt;br /&gt;&lt;br /&gt;bubbleSort:&lt;br /&gt;  for out = 0  to (numReadings - 2)  '  outer loop &lt;br /&gt;    for in = out+1 to (numReadings - 1)    '  inner loop&lt;br /&gt;        if analogValues[out] &gt; analogValues[in] then  'out of order?&lt;br /&gt;            swapper = analogValues[out]&lt;br /&gt;            analogValues [out] = analogValues[in]&lt;br /&gt;            analogValues[in] = swapper&lt;br /&gt;        endif&lt;br /&gt;    next&lt;br /&gt;  next&lt;br /&gt;return&lt;br /&gt;&lt;br /&gt;Next one is Eliminating the pick points&lt;br /&gt;&lt;br /&gt;Written in PicBasic Pro, tested on a PIC 18F252:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'  Analog smoothing algorithm&lt;br /&gt;' by Tom Igoe&lt;br /&gt; &lt;br /&gt;' This program reads an analog input and smooths out the result by averaging &lt;br /&gt;' the result with past values of the analog input.&lt;br /&gt;&lt;br /&gt;' uses a potentiometer on analog in 2 to generate the value for alpha,&lt;br /&gt;' the number of samples to average.&lt;br /&gt; &lt;br /&gt;' n.b. the variable "smoothed" needs to be a global, since it's modified &lt;br /&gt;' each time a new smoothing is done.  So if you want to use this for multiple &lt;br /&gt;' inputs, you'll need a "smoothed" variable for each input.&lt;br /&gt; &lt;br /&gt;' Created 17 October 2005&lt;br /&gt;' Updated 27 March 2006&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; ' Define ADCIN parameters&lt;br /&gt;DEFINE  ADC_BITS        10     ' Set number of bits in result&lt;br /&gt;DEFINE  ADC_CLOCK       3      ' Set clock source (3=rc)&lt;br /&gt;DEFINE  ADC_SAMPLEUS    50     ' Set sampling time in uS&lt;br /&gt;&lt;br /&gt;TRISA = %11111111       ' Set PORTA to all input&lt;br /&gt;ADCON1 = %10000010      ' Set PORTA analog and right justify result&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;analogVal var word    '  the value from the ADC &lt;br /&gt;smoothed var word     '  a nicely smoothed result. This needs to be a global variable&lt;br /&gt;byteVar var byte      ' a byte variable to send out serially&lt;br /&gt;alpha var byte        '  the number of past samples to average by&lt;br /&gt;trimPotValue var word ' the trimmer pot input&lt;br /&gt;&lt;br /&gt;' serial variables and constants:&lt;br /&gt;tx var portc.6&lt;br /&gt;rx var portc.7&lt;br /&gt;inv9600 con 16468&lt;br /&gt;&lt;br /&gt;'   Variables for subroutines:&lt;br /&gt;i var byte&lt;br /&gt;LEDPin var portb.7&lt;br /&gt;&lt;br /&gt;gosub blink&lt;br /&gt;&lt;br /&gt;main:&lt;br /&gt;  ' read the trim pot to determine alpha between 1 and 10:&lt;br /&gt;  adcin 1, trimPotValue&lt;br /&gt;  alpha = (trimPotValue / 114) + 1&lt;br /&gt;  '  get an analog reading:&lt;br /&gt;  adcin 0, analogVal&lt;br /&gt;  '  smooth it:&lt;br /&gt;  gosub smoothValue&lt;br /&gt;  &lt;br /&gt;  '  to see the difference, try outputting analogVal&lt;br /&gt;  '  instead of smoothed here, and graph the difference.&lt;br /&gt;  '  divide by 4 to print the result as a byte:&lt;br /&gt;  byteVar = smoothed /4&lt;br /&gt;  serout2 tx, inv9600, [byteVar]&lt;br /&gt;  &lt;br /&gt;  '  delay before next reading&lt;br /&gt;  pause 10&lt;br /&gt;goto main&lt;br /&gt;&lt;br /&gt;'  Blink the reset LED:&lt;br /&gt;blink:&lt;br /&gt;  for i=0 to 3&lt;br /&gt;    high LEDPin&lt;br /&gt;    pause 200&lt;br /&gt;    low LEDPin&lt;br /&gt;    pause 200  &lt;br /&gt;  next&lt;br /&gt;return&lt;br /&gt;&lt;br /&gt;'  Smooth out an analog reading:&lt;br /&gt;smoothValue:&lt;br /&gt;  if (analogVal &gt; smoothed) then&lt;br /&gt;    smoothed = smoothed + (analogVal - smoothed)/alpha&lt;br /&gt;  else &lt;br /&gt;    smoothed = smoothed - (smoothed - analogVal)/alpha&lt;br /&gt;  endif&lt;br /&gt;return&lt;br /&gt;&lt;br /&gt;Processing Code(same as Sensors and time)&lt;br /&gt;&lt;br /&gt;import processing.serial.*;&lt;br /&gt;&lt;br /&gt;Serial myPort; // The serial port&lt;br /&gt;&lt;br /&gt;// initial variables:&lt;br /&gt;int i = 1; // counter&lt;br /&gt;int inByte = -1; // data from serial port&lt;br /&gt;&lt;br /&gt;void setup () {&lt;br /&gt;size(400, 300); // window size&lt;br /&gt;&lt;br /&gt;// List all the available serial ports&lt;br /&gt;println(Serial.list());&lt;br /&gt;// I know that the third port in the serial list on my mac&lt;br /&gt;// is always my Keyspan adaptor, so I open Serial.list()[2].&lt;br /&gt;// Open whatever port is the one you're using.&lt;br /&gt;myPort = new Serial(this, Serial.list()[0], 9600);&lt;br /&gt;&lt;br /&gt;// set inital background:&lt;br /&gt;background(0);&lt;br /&gt;}&lt;br /&gt;void draw () {&lt;br /&gt;if (myPort.available() &gt; 0) {&lt;br /&gt;inByte = myPort.read();&lt;br /&gt;serialEvent();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void serialEvent () {&lt;br /&gt;// draw the line:&lt;br /&gt;stroke(0,255,0);&lt;br /&gt;line(i, height, i, height - inByte);&lt;br /&gt;// at the edge of the screen, go back to the beginning:&lt;br /&gt;if (i &gt;= width) {&lt;br /&gt;i = 0;&lt;br /&gt;background(0); &lt;br /&gt;} &lt;br /&gt;else {&lt;br /&gt;i++;&lt;br /&gt;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21408567-114629081064493176?l=solhuh3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solhuh3.blogspot.com/feeds/114629081064493176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21408567&amp;postID=114629081064493176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/114629081064493176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/114629081064493176'/><link rel='alternate' type='text/html' href='http://solhuh3.blogspot.com/2006/04/averaging-smoothing.html' title='Averaging, Smoothing'/><author><name>SOL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='17' height='32' src='http://solhuh.com/images/00.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21408567.post-114505009225777670</id><published>2006-04-14T14:25:00.000-07:00</published><updated>2006-11-16T09:57:36.220-08:00</updated><title type='text'></title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/pic%20005.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/pic%20005.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/pic%20004.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/pic%20004.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/pic%20002.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/pic%20002.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/pic%20003.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/pic%20003.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/pic%20001.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/pic%20001.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21408567-114505009225777670?l=solhuh3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solhuh3.blogspot.com/feeds/114505009225777670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21408567&amp;postID=114505009225777670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/114505009225777670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/114505009225777670'/><link rel='alternate' type='text/html' href='http://solhuh3.blogspot.com/2006/04/blog-post.html' title=''/><author><name>SOL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='17' height='32' src='http://solhuh.com/images/00.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21408567.post-114125681276771717</id><published>2006-03-01T14:40:00.000-08:00</published><updated>2006-11-16T09:57:36.119-08:00</updated><title type='text'>Datalogging, Database, Server...</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/Picture%20002.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/4425/1576/200/Picture%20002.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;--Using Pot&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Link to &lt;a href="http://www.tigoe.net/pcomp/code/archives/php/000713.shtml"&gt;Network Datalogging Suite &lt;/a&gt;in Tom's page&lt;br /&gt;&lt;br /&gt;To link Mac and Serial: Use USB to Serial Converter (required installing driver)&lt;br /&gt;&lt;br /&gt;My pic send values to the computer and I checked from Hyper terminal. The range was from 1 to 1021. But the processing didn't give me the value, instead it said, &lt;br /&gt;&lt;br /&gt;Devel Library=========================================&lt;br /&gt;Native lib Version = RXTX-2.1-7pre17&lt;br /&gt;Java lib Version   = RXTX-2.1-7pre17&lt;br /&gt;COM1&lt;br /&gt;COM4&lt;br /&gt;128.122.253.189&lt;br /&gt;HTTP/1.1 200 &lt;br /&gt;OK&lt;br /&gt;Date: Tue, 07 Mar 2006 04:16:53 &lt;br /&gt;GMTServer: Apache/2.0.52 (Red Hat)&lt;br /&gt;Content-Length: 42&lt;br /&gt;Connection: close&lt;br /&gt;Content-Type: text/html; &lt;br /&gt;charset=UTF-8&lt;br /&gt;The file datalog.txt is not write-enabled.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sending values from Pic to Computer, Computer to Server is the goal of my assignment. Saving space for data is needed. Ex) Range of 1024 per Sec for an hour is 60 times 1024... We are going to use this to analysis the data later.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Processing&lt;/strong&gt; Code (Red text parts need to be changed for each server address)&lt;br /&gt;&lt;br /&gt;/* datalogging client by Tom Igoe Communicates between a microcontroller reading a 10-bit analog sensor and a CGI script that timestamps the reading and writes it to a file. The program starts by sending to the sensor for an initial value. When a good sensor value is obtained, the program checks to see if there's a net send in progress. If there's not, it sends the sensor reading to the net by starting a network client that connects to a server on port 80, sends an HTTP 1.1 GET request, and prints the results. Once the sensor request is done, the client waits 3 seconds before the next send so as not to overwhelm the server. created 18 March 2005 updated 24 Oct. 2005 */&lt;br /&gt;&lt;br /&gt;import processing.net.*;&lt;br /&gt;import processing.serial.*;&lt;br /&gt;&lt;br /&gt;Serial port; // The serial port&lt;br /&gt;Client client; // the net client&lt;br /&gt;int[] serialInArray = new int[2]; // Where we'll put what we receive&lt;br /&gt;int serialCount = 0; // A count of how many bytes we receive&lt;br /&gt;int sensorValue = 0; // value of the sensor&lt;br /&gt;boolean firstContact = false; // whether we've heard from the microcontroller&lt;br /&gt;boolean netSendInProgress = false; // whether or not the last net request is finished&lt;br /&gt;boolean newSensorData = false; // whether or not we have new sensor data&lt;br /&gt;&lt;br /&gt;void setup()&lt;br /&gt;{&lt;br /&gt;size(200, 200);&lt;br /&gt;// Print a list of the serial ports, for debugging purposes:&lt;br /&gt;println(Serial.list());&lt;br /&gt;// I know that the first port in the serial list on my mac&lt;br /&gt;// is always my Keyspan adaptor, so I open Serial.list()[0].&lt;br /&gt;// On Windows machines, this generally opens COM1.&lt;br /&gt;// Open whatever port is the one you're using.&lt;br /&gt;port = new Serial(this, Serial.list()[0], 9600);&lt;br /&gt;port.write(65); // Send a capital A to start the microcontroller sending&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw()&lt;br /&gt;{&lt;br /&gt;background(0);&lt;br /&gt;// if there's any serial data available, get it:&lt;br /&gt;if (port.available() &gt; 0) {&lt;br /&gt;serialEvent();&lt;br /&gt;// Note that we heard from the microntroller at least once:&lt;br /&gt;firstContact = true;&lt;br /&gt;}&lt;br /&gt;// If there's no serial data, send again until we get some incoming data.&lt;br /&gt;// (in case you tend to start Processing before you start your&lt;br /&gt;// external device):&lt;br /&gt;if (firstContact == false) {&lt;br /&gt;delay(300);&lt;br /&gt;port.write(65);&lt;br /&gt;}&lt;br /&gt;// if we have new sensor data, check to see that there's no open&lt;br /&gt;// net connections. If there aren't, send the data.&lt;br /&gt;if (newSensorData) {&lt;br /&gt;if (!netSendInProgress) {&lt;br /&gt;sendToNet(sensorValue);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// print the results of the net send:&lt;br /&gt;if (netSendInProgress) {&lt;br /&gt;if (client.available() &gt; 0) {&lt;br /&gt;int inByte = client.read();&lt;br /&gt;print((char)inByte);&lt;br /&gt;// when we get a byte of value 0, it's the end of the response&lt;br /&gt;// from the server. Stop listening and get some more data:&lt;br /&gt;if (inByte == 0) {&lt;br /&gt;netSendInProgress = false;&lt;br /&gt;// don't overwhelm the server:&lt;br /&gt;delay(3000);&lt;br /&gt;// Send a capital A to request new sensor readings:&lt;br /&gt;port.write(65);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void serialEvent()&lt;br /&gt;{&lt;br /&gt;// Add the latest byte from the serial port to array:&lt;br /&gt;serialInArray[serialCount] = port.read();&lt;br /&gt;serialCount++;&lt;br /&gt;// If we have 2 bytes, combine them into one value:&lt;br /&gt;if (serialCount &gt; 1 ) {&lt;br /&gt;sensorValue = serialInArray[1] * 256 + serialInArray[0];&lt;br /&gt;newSensorData = true;&lt;br /&gt;&lt;br /&gt;// Reset serialCount:&lt;br /&gt;serialCount = 0;&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;// if we have only one byte, don't let the main loop&lt;br /&gt;// send out yet:&lt;br /&gt;newSensorData = false;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void sendToNet(int sensorValue) {&lt;br /&gt;// open a TCP socket to the host:&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#ff0000;"&gt;client = new Client(this, "itp.nyu.edu", 80);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;//print the IP address of the host:&lt;br /&gt;println(client.ip());&lt;br /&gt;// send the HTTP GET request:&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;client.write("GET /~sh1319/logger.php?tempValue=" + sensorValue + " HTTP/1.1\n"); client.write("HOST: itp.nyu.edu\n\n");&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;netSendInProgress = true;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Pic Code&lt;/strong&gt;&lt;br /&gt;I changed the code a little bit for my clock, blinky LED on portd.1 and Lowbyte, Highbyte parts.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;define osc 4 &lt;br /&gt;&lt;br /&gt;' serial RX is on pin RC7 &lt;br /&gt;' serial TX is on pin RC6 &lt;br /&gt;&lt;br /&gt;' Define ADCIN parameters &lt;br /&gt;DEFINE ADC_BITS 10 ' Set number of bits in result &lt;br /&gt;DEFINE ADC_CLOCK 3 ' Set clock source (3=rc) &lt;br /&gt;DEFINE ADC_SAMPLEUS 50 ' Set sampling time in uS &lt;br /&gt;' constant to set the baud rate: &lt;br /&gt;inv9600 con 16468 &lt;br /&gt;&lt;br /&gt;' define variables: &lt;br /&gt;adcVar var word &lt;br /&gt;inByte var byte &lt;br /&gt;&lt;br /&gt;TRISA = %11111111 ' Set PORTA to all input &lt;br /&gt;ADCON1 = %10000010 ' Set PORTA analog and right justify result &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;main: &lt;br /&gt;&lt;br /&gt;high portd.1 &lt;br /&gt;pause 500 &lt;br /&gt;low portd.1 &lt;br /&gt;pause 500 &lt;br /&gt;&lt;br /&gt;' read sensors, convert to bytes: &lt;br /&gt;adcin 0, adcVar &lt;br /&gt;&lt;br /&gt;' read serial data in: &lt;br /&gt;'serin2 portc.7, inv9600, [inByte] &lt;br /&gt;&lt;br /&gt;' if you got the message from the remote device, send out data: &lt;br /&gt;serout2 portc.6, inv9600, [ dec adcVar, 13, 10] &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;goto main &lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/Picture%201.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/Picture%201.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CGI program, written in PHP, tested using an Apache web server running on a Redhat Linux machine:&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;$filename = 'datalog.txt';&lt;br /&gt;// compose the data string from the date and the incoming value:&lt;br /&gt;  $dataString = date("Y-m-d h:i:s\t");&lt;br /&gt;  $dataString = $dataString.$_REQUEST['tempValue'];&lt;br /&gt;  // add a linefeed and carriage return&lt;br /&gt;  $dataString = $dataString."\r\n";&lt;br /&gt;&lt;br /&gt;//  make sure the file exists and is writable first:&lt;br /&gt;if (is_writable($filename)) {&lt;br /&gt;&lt;br /&gt;   // Open $filename in append mode. anything you add &lt;br /&gt;   // will be appended to the end of the file:&lt;br /&gt;   if (!$handle = fopen($filename, 'a')) {&lt;br /&gt;         echo "Can't open file $filename";&lt;br /&gt;         exit;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Write $dataString to the opened file.&lt;br /&gt;   if (fwrite($handle, $dataString) == FALSE) {&lt;br /&gt;       echo "Can't write to file $filename";&lt;br /&gt;       exit;&lt;br /&gt;   }&lt;br /&gt;  // data successfully written:&lt;br /&gt;   echo "Wrote $dataString to file $filename";&lt;br /&gt;   // send a 0 to tell the remote side we're done:&lt;br /&gt;  echo "\0";&lt;br /&gt;  // close the file&lt;br /&gt;   fclose($handle);&lt;br /&gt;&lt;br /&gt;} else {&lt;br /&gt;   echo "The file $filename is not write-enabled.";&lt;br /&gt;}&lt;br /&gt;end;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;text_datalog.php&lt;/strong&gt; : Save this file with this name in my server public folder with 'datalog.txt'. 'datalog.txt' file can be started blank.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to Use Telnet&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sol-huhs-powerbook-g4-12:~ sol$ pwd&lt;br /&gt;/Users/sol&lt;br /&gt;sol-huhs-powerbook-g4-12:~ sol$ ls&lt;br /&gt;Desktop Music Sites&lt;br /&gt;Documents Pictures Untitled.txt&lt;br /&gt;Library Public careers.html&lt;br /&gt;Movies Send Registration fish2.html&lt;br /&gt;&lt;br /&gt;sol-huhs-powerbook-g4-12:~ sol$ ls /dev/tty.*&lt;br /&gt;/dev/tty.Bluetooth-Modem /dev/tty.modem&lt;br /&gt;/dev/tty.Bluetooth-PDA-Sync&lt;br /&gt;sol-huhs-powerbook-g4-12:~ sol$ screen /dev/tty.KeySerial1.9600&lt;br /&gt;&lt;br /&gt;Than, I'm supposed to type in,&lt;br /&gt;&lt;br /&gt;telnet itp.nyu.edu 80&lt;br /&gt;get /~sh1319/index.html HTTP/1.1&lt;br /&gt;Host: itp.nyu.edu&lt;br /&gt;&lt;br /&gt;I get the blank screen that will show the data from the Pic.&lt;br /&gt;&lt;br /&gt;If I want to quit the telnet,&lt;br /&gt;Ctrl + a, Ctrl + /, than Y.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21408567-114125681276771717?l=solhuh3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solhuh3.blogspot.com/feeds/114125681276771717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21408567&amp;postID=114125681276771717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/114125681276771717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/114125681276771717'/><link rel='alternate' type='text/html' href='http://solhuh3.blogspot.com/2006/03/datalogging-database-server.html' title='Datalogging, Database, Server...'/><author><name>SOL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='17' height='32' src='http://solhuh.com/images/00.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21408567.post-113981040296768294</id><published>2006-02-12T21:59:00.000-08:00</published><updated>2006-11-16T09:57:36.002-08:00</updated><title type='text'>Data Sheet Reading</title><content type='html'>The reason I chose the ADXL320 Accelerometer is, it has many datas available, and I have used it before but I haven't look at the datasheet closely.&lt;br /&gt;ADXL320 is 2 axis accelerometer for small devices(+-5g). It can be applied to hand-held devices, mobile phone, sports and health-related devices and pc security and pc peripherals.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;br /&gt;Small and thin&lt;br /&gt;4mm x 4mm x 1.45 mm plastic LFCSP(Lead Frate Chip Scale package)&lt;br /&gt;2mg resolution at 60 Hz&lt;br /&gt;Wide supply voltage range 2.4V to 5.25V&lt;br /&gt;Low power:350uA at Vs =2.4V(typ)&lt;br /&gt;Good zero g bias stability&lt;br /&gt;10.000g shock survival&lt;br /&gt;good sensitivity accuracy&lt;br /&gt;X-axis and Y-axis aligned to within 0.1'(degree) (typ)&lt;br /&gt;BW adjustment with a single capasitor&lt;br /&gt;Single-supply operation&lt;br /&gt;Compatible with Sn/Pb and Pb-free solder process&lt;br /&gt;&lt;br /&gt;It measures vibration and gravity, typical noise floor is 250 ug/vHz, allowing signal below 2 mg to be resolved intilt sensing application using narrow bandwidths(&lt;60Hz)&lt;br /&gt;We select the bandwidth of the sensor using capasitor Cx, Cy, at the Xout ,Yout pins. Bandwidths of 0.5Hz to 2.5kHz may be sekected.&lt;br /&gt;&lt;br /&gt;5pins-one for Power 3V, one for ground, one for X out(X channel outout), one for Y out (Y cahnnel output), and one for the self-test. By measuring this output, the user can verify that the accelerometer is working. If you connect the self-test pin to power, the output values decrease, which means the accelerometer is okay.&lt;br /&gt;There are temperature range for operation and storage, which may cause damage of device in the out of the range. .&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/copy.1.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/4425/1576/400/copy.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;Self Test&lt;/strong&gt;&lt;br /&gt;When this pin is set to Vs, an electrostatic force is exerted on the acceleormeter beam. The resulting movement of the beam allows the user to test if the accelerometer is functional. The typical change is output is 315mg to 55 mV. This can be open circuit or connected to common in normal use.&lt;br /&gt;&lt;br /&gt;Note-The accelerometer measures static acceleration forces, such as gravity, wich allows it to be used as a tilt sensor.&lt;br /&gt;One 0.1 uf capasitor is used for noise decoupling the accelerometer on the power supply.&lt;br /&gt;What's the theory?- It is a polysilicon surface structure built on top of a silicon wafer. Polysilicon spring susppend the structure over the surface of the wafer and provide resistance against acceleration forces.&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/copy2.gif"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/4425/1576/400/copy2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Use as a Dual-Axis Tilt Sensor&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The Accelerometer is most sensitive to tilt when its sensitive axis is perpndicular to the force of gravity.(when it is parallel to the earth surface)&lt;br /&gt;When the accelerometer is oriented so both its X-axis and Y-axis are parallel to the earth's surface, it can be used as a 2 axis tilt sensor with both a roll axis and pitch axis. Once the output signal from the sensor has been converted to an acceleration that varies between -1 g and +1 g, the output tilt in degree is calculated as&lt;br /&gt;Pitch=ASIN(Ax/1g)&lt;br /&gt;Roll=ASIN(Ar/1g)&lt;br /&gt;&lt;br /&gt;Setting the bandwidth using Cx and Cy&lt;br /&gt;&lt;br /&gt;Bandwidth(Hz) Capasitor(uF)&lt;br /&gt;1 ///4.7&lt;br /&gt;10 ///0.47&lt;br /&gt;50 ///0.10&lt;br /&gt;100 ///0.05&lt;br /&gt;200 ///0.027&lt;br /&gt;500 ///0.01&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;br /&gt;Design Trade-Off for Selecting Filter Characteristics: The Noise/BW Trade-Off&lt;br /&gt;&lt;br /&gt;Peak to peak Value / % of time tha noise exceeds norminal peak to peak value&lt;br /&gt;2 x rms ///32&lt;br /&gt;4 x rms ///4.6&lt;br /&gt;6 x rms ///0.27&lt;br /&gt;8 x rms ///0.006&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Pic Code&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;DEFINE OSC 4&lt;br /&gt;INCLUDE "modedefs.bas"&lt;br /&gt;DEFINE ADC_BITS 10&lt;br /&gt;DEFINE ADC_CLOCK 3&lt;br /&gt;DEFINE ADC_SAMPLEUS 10&lt;br /&gt;TRISA = %11111111&lt;br /&gt;adcon1 = %10000010&lt;br /&gt;output portb.5&lt;br /&gt;low portb.5&lt;br /&gt;&lt;br /&gt;adcVar0 VAR Word ' ir Create variable to store result&lt;br /&gt;adcVar1 VAR Word ' ir Create variable to store result&lt;br /&gt;Bytevar1 VAR Byte&lt;br /&gt;Bytevar2 Var Byte&lt;br /&gt;switchVar var byte&lt;br /&gt;inputVar Var BYTE&lt;br /&gt;&lt;br /&gt;pause 500&lt;br /&gt;main:&lt;br /&gt;ADCIN 0, adcVar0&lt;br /&gt;pause 30&lt;br /&gt;ADCIN 1, adcVar1&lt;br /&gt;pause 30&lt;br /&gt;Bytevar1=adcVar0/4&lt;br /&gt;Bytevar2=adcVar1/4&lt;br /&gt;high portb.5&lt;br /&gt;pause 500&lt;br /&gt;low portb.5&lt;br /&gt;pause 500&lt;br /&gt;serout2 portb.3, 16468, [DEC Bytevar1, 44,DEC Bytevar2,44,13]&lt;br /&gt;&lt;br /&gt;GoTo main&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/??????"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/4425/1576/400/%3F%3F%3F%3F%3F%3F%20033.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21408567-113981040296768294?l=solhuh3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solhuh3.blogspot.com/feeds/113981040296768294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21408567&amp;postID=113981040296768294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113981040296768294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113981040296768294'/><link rel='alternate' type='text/html' href='http://solhuh3.blogspot.com/2006/02/data-sheet-reading.html' title='Data Sheet Reading'/><author><name>SOL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='17' height='32' src='http://solhuh.com/images/00.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21408567.post-113866179164486317</id><published>2006-01-30T14:54:00.000-08:00</published><updated>2006-11-16T09:57:35.898-08:00</updated><title type='text'>Sensors and Time</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/DSCN7591.2.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/DSCN7591.2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/DSCN7594.0.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/DSCN7594.0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/4425/1576/1600/DSCN7587.1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/4425/1576/320/DSCN7587.1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Using Flex Sensor&lt;br /&gt;Code Reference from Tom Igoe&lt;br /&gt;&lt;br /&gt;'****************************************************************&lt;br /&gt;' Define ADCIN parameters&lt;br /&gt;DEFINE  ADC_BITS        10             ' Set number of bits in result&lt;br /&gt;DEFINE  ADC_CLOCK       3          ' Set clock source (3=rc)&lt;br /&gt;DEFINE  ADC_SAMPLEUS    20          ' Set sampling time in uS&lt;br /&gt;&lt;br /&gt;PeakValue var word&lt;br /&gt;SensorValue var word&lt;br /&gt;LastSensorValue var word&lt;br /&gt;Threshold var word&lt;br /&gt;Noise var word&lt;br /&gt;&lt;br /&gt;' serial pins and data reate:&lt;br /&gt;tx var portc.6&lt;br /&gt;rx var portc.7&lt;br /&gt;n9600 con 16468&lt;br /&gt;&lt;br /&gt;Threshold = 50       ' set your own value based on your sensors&lt;br /&gt;PeakValue = 0        ' initialize peakValue&lt;br /&gt;noise = 5           ' set a noise value based on your particular sensor&lt;br /&gt;&lt;br /&gt;' Set PORTA to all input&lt;br /&gt;TRISA = %11111111     &lt;br /&gt;' Set up ADCON1&lt;br /&gt;ADCON1 = %10000010    &lt;br /&gt;&lt;br /&gt;Main:&lt;br /&gt;    ' read sensor on pin RA0:&lt;br /&gt;    ADCin 0, sensorValue&lt;br /&gt;    serout2 tx, n9600, [sensorValue]&lt;br /&gt;    'original line was useful when sending data to HyperTerminal.&lt;br /&gt;    'original line: serout2 tx, n9600, ["peak reading", DEC peakValue, 13,10]&lt;br /&gt;    pause 100&lt;br /&gt;Goto main&lt;br /&gt;&lt;br /&gt;Processing code reference&lt;br /&gt;&lt;br /&gt;import processing.serial.*;&lt;br /&gt;&lt;br /&gt;Serial myPort;  // The serial port&lt;br /&gt;&lt;br /&gt;// initial variables:&lt;br /&gt;int i = 1;                   // counter&lt;br /&gt;int inByte = -1;             // data from serial port&lt;br /&gt;&lt;br /&gt;void setup () {&lt;br /&gt;  size(400, 300);        // window size&lt;br /&gt;&lt;br /&gt;  // List all the available serial ports&lt;br /&gt;  println(Serial.list());&lt;br /&gt;  // I know that the third port in the serial list on my mac&lt;br /&gt;  // is always my  Keyspan adaptor, so I open Serial.list()[2].&lt;br /&gt;  // Open whatever port is the one you're using.&lt;br /&gt;  myPort = new Serial(this, Serial.list()[0], 9600);&lt;br /&gt;  &lt;br /&gt;  // set inital background:&lt;br /&gt;  background(0);&lt;br /&gt;}&lt;br /&gt;void draw () {&lt;br /&gt;  if (myPort.available() &gt; 0) {&lt;br /&gt;    inByte = myPort.read();&lt;br /&gt;    serialEvent();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void serialEvent () {&lt;br /&gt;  // draw the line:&lt;br /&gt;  stroke(0,255,0);&lt;br /&gt;  line(i, height, i, height - inByte);&lt;br /&gt;  // at the edge of the screen, go back to the beginning:&lt;br /&gt;  if (i &gt;= width) {&lt;br /&gt;    i = 0;&lt;br /&gt;    background(0); &lt;br /&gt;  } &lt;br /&gt;  else {&lt;br /&gt;    i++;&lt;br /&gt;  }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21408567-113866179164486317?l=solhuh3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solhuh3.blogspot.com/feeds/113866179164486317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21408567&amp;postID=113866179164486317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113866179164486317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113866179164486317'/><link rel='alternate' type='text/html' href='http://solhuh3.blogspot.com/2006/01/sensors-and-time.html' title='Sensors and Time'/><author><name>SOL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='17' height='32' src='http://solhuh.com/images/00.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21408567.post-113808621472977029</id><published>2006-01-23T22:56:00.000-08:00</published><updated>2006-11-16T09:57:35.810-08:00</updated><title type='text'>Sensors in daily life</title><content type='html'>I'm having trouble figuring out which is sensor and which is switch. What's the border line?&lt;br /&gt;&lt;br /&gt;My Roomba, a vacuum cleaner. It certainly has sensors which I don't know what it is exactly.&lt;br /&gt;Remote controls for Roomba, TV, DVD, and a Cable set.-IR...What's IR?&lt;br /&gt;Elevator door, button. &lt;br /&gt;My Mac&lt;br /&gt;My refridge, oven, fire alarm.&lt;br /&gt;At ITP, there's bunch. Cameras...&lt;br /&gt;Treadmill...Speed, heartbeat conter, distance counter...&lt;br /&gt;Cap&lt;br /&gt;Restroom-tap. Motion sensor&lt;br /&gt;etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21408567-113808621472977029?l=solhuh3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solhuh3.blogspot.com/feeds/113808621472977029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21408567&amp;postID=113808621472977029' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113808621472977029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113808621472977029'/><link rel='alternate' type='text/html' href='http://solhuh3.blogspot.com/2006/01/sensors-in-daily-life.html' title='Sensors in daily life'/><author><name>SOL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='17' height='32' src='http://solhuh.com/images/00.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21408567.post-113808426608000238</id><published>2006-01-23T22:29:00.000-08:00</published><updated>2006-11-16T09:57:35.704-08:00</updated><title type='text'>Class Link</title><content type='html'>Class sylabus&lt;br /&gt;&lt;a href="http://tigoe.net/pcomp/sensor-workshop.shtml"&gt;tigoe.net/pcomp/sensor-workshop.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21408567-113808426608000238?l=solhuh3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solhuh3.blogspot.com/feeds/113808426608000238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21408567&amp;postID=113808426608000238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113808426608000238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113808426608000238'/><link rel='alternate' type='text/html' href='http://solhuh3.blogspot.com/2006/01/class-link.html' title='Class Link'/><author><name>SOL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='17' height='32' src='http://solhuh.com/images/00.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21408567.post-113805463503462342</id><published>2006-01-23T13:41:00.001-08:00</published><updated>2006-11-16T09:57:35.616-08:00</updated><title type='text'>My name is Sol Huh</title><content type='html'>I'm first year ITPier, loving and caring person. &lt;br /&gt;My background is in Fine Art major and Multi media minor.&lt;br /&gt;I participated in the winer show 2005 with my interactive screen using accelerometer. &lt;br /&gt;I wasn't really great at Pcomp last semester though I loved to be creative and productive.&lt;br /&gt;My interests were very much into art stuff such as painting, installation, and video art. &lt;br /&gt;I thought myself was pretty handy which I totally lost the concept of being handy in ITP.  &lt;br /&gt;I hope that this class helps me using and learning various types of sensors.&lt;br /&gt;To be honest, I'm bit afraid of physics. &lt;br /&gt;If I can catch up the class until the end of semester, that would represent how much I struggled against my lack of fundamental knowledge.&lt;br /&gt;I am certain that would happen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21408567-113805463503462342?l=solhuh3.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://solhuh3.blogspot.com/feeds/113805463503462342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21408567&amp;postID=113805463503462342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113805463503462342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21408567/posts/default/113805463503462342'/><link rel='alternate' type='text/html' href='http://solhuh3.blogspot.com/2006/01/my-name-is-sol-huh_23.html' title='My name is Sol Huh'/><author><name>SOL</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='17' height='32' src='http://solhuh.com/images/00.jpg'/></author><thr:total>0</thr:total></entry></feed>
