IFD:PhysicalComp2011/Dianna Mertz: Difference between revisions

From Medien Wiki
mNo edit summary
(Blanked the page)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
==In-Depth: Smart Containers==


===PDF Version===
[http://doubledi.com/indepth/jpgs/InDepth.pdf In-Depth: Smart Containers PDF]
===Concept===
These smart containers are a response to all the rotten food, unnecessary purchases, and special cravings you've ever had. Now you can see what's in your kitchen from where ever you are, just by checking your smart phone. <br>
http://doubledi.com/indepth/jpgs/concept_wiki.jpg
===Product Function===
The final product would have a short-distance sensor and wifi chip embedded within the lid of the container. The wifi chip would auto FTP the food data levels by sending the data to the wireless local area network. This info could then be accessed remotely with any web-enabled device, by logging into a secure account. <br>
http://doubledi.com/indepth/jpgs/function_wiki.jpg
===Prototype===
====Equipment====
* [[Arduino]]
* Sharp GP2D120XJ00F Analog Infrared Distance Sensor 4-30cm
* Container
* Computer
* Mobile Device
http://doubledi.com/indepth/jpgs/equipment_wiki.jpg
<br><br><br>
====Container Prototype====
http://doubledi.com/indepth/jpgs/prototype_function.jpg
<br><br><br>
http://doubledi.com/indepth/jpgs/prototype_function2.jpg
<br><br><br>
====Mobile Prototype====
http://doubledi.com/indepth/jpgs/mobile_app.jpg
<br><br><br>
http://doubledi.com/indepth/jpgs/mobile_app2.jpg
<br><br><br>
====Demo Video====
<videoflash type=vimeo>39147257</videoflash>
<br><br>
====Live Web Demo====
http://doubledi.com/indepth/jpgs/live_web.jpg<br>
[http://doubledi.com/indepth/indepth09.html Click here to be routed to the live demo launch page &mdash; unfortunately the wiki doesn't support javascript]
====Code====
=====Arduino=====
<source lang="java">
int sensePin = 1;  // infrared sensor to analog pin
int value;    // value coming from the sensor
void setup() {
  Serial.begin(9600); // start the serial port                         
}
void loop() {
  int value = analogRead(sensePin); // current value of the sensor
  byte scaledVal = map(value, 0, 600, 0, 255); // rescale to send as one byte   
  Serial.write(scaledVal);  //print the distance
  delay(100);  // arbitrary wait time
}
</source>
=====Processing=====
<source lang="java">
Serial myPort; // variable for the serial
import processing.serial.*; // reads information coming in through the server via Arduino
int incomingVal; // incoming number value
int r; // example
int b; // example
int q; // example
int o; // example
void setup(){
  size(255,255); // visualization window size
  myPort = new Serial(this,"/dev/tty.usbmodem411",9600); // my Arduino port
}
void draw(){
  background(0); // background black for visualization
  while(myPort.available() > 0){
    incomingVal = myPort.read(); // while new data coming in from Arduino, store in variable
  }
  float reVal =map(incomingVal, 51, 255, 0, 255); // rescale the incoming value to the depth of the container
  fill(reVal); // fill the visualization with the rescaled incoming value
  rect(0,height - reVal,width,height); // draws rectangle of the incoming value
  println("Flour:" +(reVal)+ " Sugar:" + r+ " Oats:" + b+ " Pasta:" + q+ " Millet" + o ); // incoming value to be seen in console
  PrintWriter output = createWriter("data/data.tsv"); // send info to external file
  output.println("Flour:" +(reVal)+ " Sugar:" + r+ " Oats:" + b+ " Pasta:" + q+ " Millet:" + o ); // directs which information to be written to new file
  output.flush(); // write the info
}
</source>
=====PHP=====
(Gets the data from an automatically uploaded file from desktop)
<source lang="php">
<?php
$file_handle = fopen("data.tsv", "r");
while (!feof($file_handle)) {
  $line = fgets($file_handle);
  echo $line;
}
fclose($file_handle);
?>
</source>
===References===
[http://cdn.bitrebels.netdna-cdn.com/wp-content/uploads/2011/09/Internet-Of-Things-By-Intel-1.jpg The Internet of Things Infographic]<br>
[http://www.sparkfun.com/datasheets/Sensors/Infrared/GP2D120XJ00F_SS.pdf Reference for Sharp GP2D120XJ00F Analog Distance Sensor 4-30cm] <br>
[http://luckylarry.co.uk/arduino-projects/arduino-using-a-sharp-ir-sensor-for-distance-calculation/ Arduino – Using a Sharp IR Sensor for Distance Calculation] <br>
[http://www.uni-weimar.de/medien/wiki/IFD:PhysicalComp2011/code#28.11.2011_Arduino_.26_Processing_sketches Frederic Gmeiner's Potentiometer Code]<br>
[http://www.ibm.com/developerworks/library/os-php-readfiles/ The Right Way to Read Files with PHP]<br>
[http://www.sencha.com/products/touch/charts Sencha Touch Charts]<br>
[http://blog.cocoia.com/2010/iphone-4-icon-psd-file/ iPhone 4 PSD template]<br>

Latest revision as of 14:52, 21 February 2013