/* ATtiny Indoor Plant This program flashes a blue light when there is dry dirt. Pin OUT (only pins that are shown are used) --[[()]]-- 5V A3 --[[[]]]-- --[[[]]]-- GND --[[[]]]-- D0 Created by Peter Flickinger ( http://www.peterfoxflick.com ) With help from http://highlowtech.org/?p=1695 Parts can be bought from sparkfun.com or from this wish list http://sfe.io/w90611 Instructions can be found on Instructables Published on December 11, 2014 */ //pins int dirt = 3; //dirt is an analog pin int blue = 0; //blue is a digital pin //variables int threshold = 475; //This is the light level that determins wheather it is bright or dark void setup() { pinMode(blue, OUTPUT); } void loop() { int moisture = analogRead(dirt); //This is the decision part if(moisture >= threshold) { //If the dirt is dry then blink //The number is how many times to blink in a second and the blue is which pin to make blink blink(2,blue); } else{ //else just wait one second before checking again delay(1000); } } //this function will blink the PIN a certain amount of TIMES in a second void blink(int times, int pin){ int time = 1000/times; for (int i=1; i <= times; i++){ digitalWrite(pin, HIGH); delay(time); digitalWrite(pin, LOW); delay(time); } }