Using FSR to measure how much water is in my cup.

Motivation:
It happens very often that my cup is overflowing. It is because I usually stare at my computer, work with one hand, and at the same time fill water into my cup with the other hand. With the water-level meter, I won't overfill my cup.

My code:
===
Processing-
===
/*
* Aithne Sheng-Ying Pao HW4
* Measure how much water is in the cup
*/
import processing.serial.*;
// Change this to the portname your Arduino board
String portname = "COM8";
Serial port;
String buf="";
int cr = 13; // ASCII return == 13
int lf = 10; // ASCII linefeed == 10
void setup() {
size(300,300);
smooth();
PImage b; // set background image (please save this image, "cup.jpg" to the same folder of Processing)
b = loadImage("cup.jpg");
background(b);
noStroke();
port = new Serial(this, portname, 9600);
}
void draw() {
}
// draw water level subroutine
void drawquad( int r) {
fill(51,153,255); // water color blue
quad(70, 300-r, 70, 300, 223, 300, 223, 300-r);
}
// called whenever serial data arrives
void serialEvent(Serial p) {
int c = port.read();
if (c != lf && c != cr) {
buf += char(c);
}
if (c == lf) {
int val = int(buf);
println("val="+val);
drawquad(val);
buf = "";
if (val==0){// erase screen
PImage b;
b = loadImage("cup.jpg");
background (b);
}}
}
===
Aduino--
====
/*
* Resistive Sensor Input
* Takes the input from a resistive sensor, e.g., FSR or photocell
* Dims the LED accordingly, and sends the value (0-255) to the serial port
*/
int sensorPin = 0; // select the input pin for the sensor
int ledPin = 10; // select the output pin for the LED
int val = 0; // variable to store the value coming from the sensor
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(sensorPin); // read the value from the sensor, 0-1023
analogWrite(ledPin, val/4); // analogWrite (dimming the LED) can be between 0-255
Serial.println(val/4); // writing the value to the PC via serial connection
delay(50); // rest a little...
}
Comments
This is so cute! i wish you
This is so cute! i wish you showed this in class. You certainly have a talent with coming up with these kinds of ideas..
dave