Things used in this project

Hardware components:
SparkFun Force Sensitive Resistor 0.5"
×1
SparkFun Mini Pushbutton Switch
×1
A000066 iso both
Arduino UNO & Genuino UNO
×1
11441 01
SparkFun 7-Segment Serial Display - Red
×1
SparkFun Mini Speaker - PC Mount 12mm 2.048kHz
×1
Software apps and online services:
8ztngd 9
circuito.io
Ide web
Arduino IDE

Code

Code for Chug MeterArduino
Replace the setup and loop functions from the code you got from circuito.io, with the code below
int start_flag = 0;
bool glassState = 0;
long finalTime, time0;
int timer;


/* This code sets up the essentials for your circuit to work. It runs first every time your circuit is powered with electricity. */
void setup() {
  // Setup Serial which is useful for debugging
  // Use the Serial Monitor to view printed messages
  Serial.begin(9600);
  Serial.println("start");

  pushButton.init();

  s7s.clearDisplay();  // Clears display, resets cursor
  s7s.setBrightness(255);  // High brightness
  s7s.setDecimals(0b00010000);  // Sets colon and apostrophe, see .cpp file for reference
  s7s.writeInt(0);
}

/* This code is the main logic of your circuit. It defines the interaction between the components you selected. After setup, it runs over and over again, in an eternal loop. */
void loop() {
  // Read FSR resistance value. try also fsr.getResistance()
  // For more information see Sparkfun website - www.sparkfun.com/products/9375
  // Note, the default Vcc and external resistor values for FSR calculations are 5V ang 3300Okm, if you are not
  //       using these default valuse in your circuit go to FSR.cpp and change default values in FSR constructor
  float fsrForce = fsr.getForce();
  //Serial.print(F("    Force: ")); Serial.print(fsrForce); Serial.println(F(" [g]"));


  //Read pushbutton state.
  //if button is not pushed function will return LOW (0). if it is pushed function will return HIGH (1).
  //if debounce is not working properly try changing 'debounceDelay' variable in Button.h
  //try also pushButton.onPress(), .onRelease() and .onChange() for debounce.
  bool pushButtonVal = pushButton.onPress();
  //Serial.print(F("Val: ")); Serial.println(pushButtonVal);


  //Reset the time using the push-button
  if (pushButtonVal == 1) {
    start_flag = 0;
    glassState = 0;
    //Start timer
    s7s.writeInt(0);
    time0 = millis();
  }

  //set time state
  if (start_flag == 0) {
    //If the galss is placed
    if (fsrForce > 50)
    {
      glassState = 1;
      //Start timer
      s7s.writeInt(0);
      time0 = millis();
    }

    //If the glass was picked up
    else if (fsrForce < 50 && glassState)
    {
      finalTime = millis() - time0;
      start_flag = 1;
    }
  }
  //the glass was picked, run the timer
  else if (start_flag == 1)
  {
    //while you are drinking, display the time on the 7-Seg display
    if (fsrForce < 100)
    {
      finalTime = (millis() - time0) / 10;
      s7s.writeInt(finalTime);
    }

    //Finish drinking, stop timer, print final time, and play hooray sound
    else
    {
      start_flag = 2;
      finalTime = (millis() - time0) / 10;
      s7s.writeInt(finalTime);
      piezoSpeaker.playMelody(piezoSpeakerHoorayLength, piezoSpeakerHoorayMelody, piezoSpeakerHoorayNoteDurations);
      delay(500);
    }
  }

  //always print final time until reset button is pushed
  else
  {
    s7s.writeInt(finalTime);
  }

}

Credits

Jzbvk4go5lw68vtvbfe4
circuito.io team

Circuito.io is an online platform that generates wiring and code for Arduino projects. Want to know more? Visit http://circuito.io

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

3D-Printed Prank Vibrating Cup
Easy
  • 1,075
  • 13

Full instructions

The instant your prankee lifts up this 3D-printed cup it starts violently vibrating! The electronics separate from the cup for easy washing.

The Magic Display With Arduino - The Mind Reader
Easy
  • 1,247
  • 5

Full instructions

The Magic Display With Arduino can figure out with a few clues what is your choose on a card with 64 options of numbers, letters or symbols.

Very First Hands On Arduino - Voice Activated LED
Easy
  • 505
  • 8

Full instructions

Use voice command to turn LED on or off.

Get Connected! WiFi Registration Using AP Mode!
Easy
  • 1,189
  • 15

Full instructions

Stop reflashing your devices everytime the WiFi password changes! Learn how to use anduinoWiFi and AP mode to initiate WiFi registration!

Temperature Sensor
Easy
  • 321
  • 5

Full instructions

A photon that measures the temperature and humididty with a DHT 22 sensor and communicates the temperature data to another photon.

Car Blinker
Easy
  • 181
  • 3

Protip

Blink for Vehicles, such as bikes and skates. Easy.

ProjectsCommunitiesContestsLiveAppsBetaFree StoreBlogAdd projectSign up / Login
Respect project
Feedback