// Dr. Jack Mr. O'Lantern
// vgmlr
#include "Servo.h"
Servo jack;
Servo pour;
const int red = 4;
const int blue = 5;
const int fan = 2;
const int sensor = A0;
// Trigger Distance in CM
const int dist = 90;
void setup() {
jack.attach(7);
jack.write(0);
pour.attach(3);
pour.write(10);
pinMode(red, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(fan, OUTPUT);
Serial.begin(9600);
digitalWrite(red, HIGH);
digitalWrite(blue, LOW);
delay(2500);
digitalWrite(red, LOW);
digitalWrite(blue, HIGH);
delay(2500);
}
void loop() {
jack.write(0);
pour.write(10);
digitalWrite(red, HIGH);
digitalWrite(blue, LOW);
digitalWrite(fan, LOW);
delay(20);
digitalWrite(red, LOW);
delay(40);
digitalWrite(red, HIGH);
long prox, proxcm;
pinMode(sensor, OUTPUT);
digitalWrite(sensor, HIGH);
delayMicroseconds(6);
digitalWrite(sensor, LOW);
pinMode(sensor, INPUT);
prox = pulseIn(sensor, HIGH);
proxcm = mtc(prox);
Serial.println(proxcm);
if (proxcm < dist) {
digitalWrite(red, LOW);
pour.write(75);
jack.write(130);
delay(100);
digitalWrite(fan, HIGH);
delay(2000);
digitalWrite(blue, HIGH);
delay(10000);
}
delay(100);
}
long mtc(long ms) {
return ms / 29 / 2;
}