IFD:PhysicalComp2011/Dianna Mertz

From Medien Wiki

In-Depth: Smart Containers

Need

Question: Is there enough flour and sugar at home to make a cake for your friend's birthday tomorrow? Or do you need to stop at the store on your way home?

Concept

Containers for pantry bulk items that relay content levels to smart phone app in real time.

Equipment

  • Arduino
  • Sharp GP2D120XJ00F Analog Distance Sensor 4-30cm
  • Container
  • Computer

Prototype

(coming soon)

Code

Arduino

int IRpin = 1;   
int val = 0; 
                                          
void setup() {
Serial.begin(9600);                             
}
   
void loop() {
float volts = analogRead(IRpin)*0.00322265624;
float distance = 12.21*pow(volts, -1.15);         
Serial.println(distance);                                                             
}

Processing

Tab 1
Serial myPort;
Table dataTable;
import processing.serial.*;
int incomingVal;
int level;
int r;
int b;
int q;
int o;
 
void setup(){
  size(255,255);
  dataTable = new Table("data.tsv");
  //rowCount = dataTable.getRowCount();
  myPort = new Serial(this,"/dev/tty.usbmodem411",9600);
}
 
void draw(){
  background(0);
  while(myPort.available() > 0){
    incomingVal = myPort.read();
  }
  level = height - incomingVal;
  fill(level);
  rect(0,level,width,height);

  PrintWriter output = createWriter("data/data.tsv");
  output.println("Pasta:" +level+ " Rice:" +r+ " Bulgar:" +b+ " Quinoa:" +q+ " Oats:" +o );
  output.flush(); 
}
Tab 2

Ben Fry's Table

PHP

(Uploads data to web)

 <?php 
$file_handle = fopen("data.tsv", "r");
while (!feof($file_handle)) {
   $line = fgets($file_handle);
   echo $line;
}
fclose($file_handle);
?>

References

Reference for Sharp GP2D120XJ00F Analog Distance Sensor 4-30cm
Arduino – Using a Sharp IR Sensor for Distance Calculation
The Right Way to Read Files with PHP