//Dog Feeder, Mark II
//Code 1
//Zane Wilson
//12-19-2022
const int EN=2; //Enable Pin
const int STEP=3; //Step Pin
const int DIR=4; //Direction Pin
const int ledRED=6; //Red LED Pin
const int BUTTout=12; //Test Button Out
const int BUTTin=11; //Test Button Return
const int LIM1out=10; //Limit Switch 02 Out
const int LIM1in=9; //Limit Switch 01 Return
const int LIM2out=8; //Limit Switch 02 Out
const int LIM2in=7; //Limit Switch 02 Return
void setup()
{
//Motor Setup
pinMode(EN, OUTPUT); // Enable as Output
pinMode(STEP, OUTPUT); // Step as Output
pinMode(DIR, OUTPUT); // Direction as Output
pinMode(ledRED, OUTPUT); //Red LED as Output
digitalWrite(EN, LOW); // Enable set to LOW
//Button Setup
pinMode(BUTTout, OUTPUT); //BUTTout as Output
pinMode(BUTTin, INPUT); //BUTTin as Input
digitalWrite(BUTTout, HIGH); //BUTTout set to HIGH
digitalRead(BUTTin, LOW); //BUTTin set to LOW
//Limit Switch 01 & 02 Setup
pinMode(LIM1out, OUTPUT);
pinMode(LIM1in, INPUT);
digitalWrite(LIM1out, HIGH);
digitalRead(LIM1in, LOW);
pinMode(LIM2out, OUTPUT);
pinMode(LIM2in, INPUT);
digitalWrite(LIM2out, HIGH);
digitalRead(LIM2in, LOW);
//if (11=HIGH)
//Normal motor cycle code begin
digitalWrite(ledRED, HIGH); //ledRED on during rotation
digitalWrite(DIR, LOW); //Set Direction to LOW for forward rotation
for(int x = 0; x < 200; x++) //Loop 200 times for 200 rising edge on STEP Pin
{
digitalWrite(STEP, HIGH); //Set Step to HIGH
delay(10); //Rotational Speed
digitalWrite(STEP, LOW); //Set Step to LOW
}
digitalWrite(ledRED, LOW);
}
//Normal motor cycle code end
void loop()
{
}