|
|
(12 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| ==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===
| |
| Design 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====
| |
| <source lang="java">
| |
| 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);
| |
| }
| |
| </source>
| |
|
| |
| ====Processing====
| |
| =====Tab 1=====
| |
| <source lang="java">
| |
| 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();
| |
| }
| |
| </source>
| |
|
| |
| =====Tab 2=====
| |
| [http://benfry.com/writing/map/Table.pde Ben Fry's Table]
| |
|
| |
| ====PHP====
| |
| (Uploads data to web)
| |
| <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://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.ibm.com/developerworks/library/os-php-readfiles/ The Right Way to Read Files with PHP]
| |