loading

The average American family of four creates 124 pounds of garbage each week. We are dismissive if we are better or worse. Here we have combined a Particle Photon, scale and scraps to wirelessly log our weekly and life long waste out put with coding to acclimate to blah blah blah...the following is a fart joke.

// Garbage Gauge
// @TVMiller

#ifdef SPARK
#include "ThingSpeak/ThingSpeak.h"
#else
#include "ThingSpeak.h"
#endif

#ifdef SPARK
TCPClient client;
#define VOLTAGE_MAX 3.3
#define VOLTAGE_MAXCOUNTS 4095.0
#endif

// ThingSpeak
unsigned long myChannelNumber = CHANNEL;
const char * myWriteAPIKey = "APIKEY";

// Input
int scale = A5;

// Variables
int current = 0;
int tare = 0;
int preweight = 0;
int adjust = 0;

int week = 0;
int total = 0;

int wait = 10800; // 3 Hours

void setup() {

  Serial.begin(9600);
  ThingSpeak.begin(client);

  // Calm Down Power-Up Fluctuation
  delay(5000);

  // Empty Garbage Bin Weight
  tare = analogRead(scale);

  delay(5000);

}

void loop() {

  // Read Pot
  current = analogRead(scale);
  // Convert to Pounds
  // Pot Turn Limitation 254 Pounds
  // Particle Photon is 0 to 4095
  preweight = map(current, 0, 4095, 0, 254);
  // Subtract Tare
  adjust = preweight - tare;

  if (adjust < week && preweight < tare) {
    // No Barrel? Ignore
  }
  else if (adjust < week && preweight > tare) {
    // Barrel Emptied? Reset Week
    week = adjust;
  }
  else if (adjust == week) {
    // No Change? Ignore
  }
  else if (adjust > week) {
    // Remove Previous Week Addition
    total = total - week;
    // Adjust Week
    week = adjust;
    // Add to Total
    total = total + week;
  }

  // Total Amount
  ThingSpeak.writeField(myChannelNumber, 1, total, myWriteAPIKey);
  // Amount Since Emptying
  ThingSpeak.writeField(myChannelNumber, 2, week, myWriteAPIKey);

  // Low Power During Delay
  System.sleep(wait);
  delay(wait);
  // Allow WIFI Recovery
  delay(10000);
}

About This Instructable

150views

2favorites

License:

Bio: Privateer
More by TVMiller:Arduino Splash Resistant Toilet Foamer Arduino Motion Mute 1992 Isuzu Trooper Windshield Wiper Single Button Hack 
Add instructable to: