Skip to content

Instantly share code, notes, and snippets.

@ytjohn
Created December 22, 2015 15:52
Show Gist options
  • Save ytjohn/a25457dd312155e43a22 to your computer and use it in GitHub Desktop.
Save ytjohn/a25457dd312155e43a22 to your computer and use it in GitHub Desktop.
Use IR photodiodes to measure levels 1-5.
int power = A5; // This is the power side of our photodiodes. The other side is plugged into the "photoresistor" pin (above).
int lowout = A4;
int led = D0; // This is where your LED is plugged in. The other side goes to a resistor connected to GND.
int boardLed = D7; // This is the LED that is already on your device.
int read1 = D1;
int read2 = D2;
int read3 = D3;
int read4 = D4;
int read5 = D5;
int meter1;
int meter2;
int meter3;
int meter4;
int meter5;
int dht = D6;
int gauge;
void setup() {
pinMode(led,OUTPUT); // Our LED pin is output (lighting up the LED)
pinMode(boardLed,OUTPUT); // Our on-board LED is output as well
pinMode(power,OUTPUT); // The pin powering the photoresistor is output (sending out consistent power)
pinMode(lowout, OUTPUT);
digitalWrite(power,HIGH);
digitalWrite(lowout, LOW);
pinMode(read1, INPUT_PULLDOWN);
pinMode(read2, INPUT_PULLDOWN);
pinMode(read3, INPUT_PULLDOWN);
pinMode(read4, INPUT_PULLDOWN);
pinMode(read5, INPUT_PULLDOWN);
}
void loop() {
gauge = 0;
if (digitalRead(read1) == HIGH) { gauge += 1; meter1 = 1; }
else { meter1 = 0; }
if (digitalRead(read2) == HIGH) { gauge += 1; meter2 = 1; }
else { meter2 = 0; }
if (digitalRead(read3) == HIGH) { gauge += 1; meter3 = 1; }
else { meter3 = 0; }
if (digitalRead(read4) == HIGH) { gauge += 1; meter4 = 1; }
else { meter4 = 0; }
if (digitalRead(read5) == HIGH) { gauge += 1; meter5 = 1; }
else { meter5 = 0; }
Particle.variable("pelletmeter1", meter1);
Particle.variable("pelletmeter2", meter2);
Particle.variable("pelletmeter3", meter3);
Particle.variable("pelletmeter4", meter4);
Particle.variable("pelletmeter5", meter5);
Particle.variable("gauge",gauge);
Particle.publish("percentage", String(gauge/5.0));
delay(2000);
if (gauge <= 2) {
Particle.publish("fillhopper", "1");
digitalWrite(boardLed, HIGH);
} else {
Particle.publish("fillhopper", "0");
digitalWrite(boardLed, LOW);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment