Created
December 22, 2015 15:52
-
-
Save ytjohn/a25457dd312155e43a22 to your computer and use it in GitHub Desktop.
Use IR photodiodes to measure levels 1-5.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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