Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //www.elegoo.com
- //2016.12.9
- const int pinWater = 0;
- int historyWaterLevel = 0;
- char printBuffer[128];
- int minimum= 0;
- int maximum= 400;
- int pourOnceTime = 1000;
- int settleDelay =1000;
- const int pinLEDgreen=2;
- const int pinLEDred=3;
- #include <Stepper.h>
- const int stepsPerRevolution = 500; // change this to fit the number of steps per revolution
- // initialize the stepper library on pins 8 through 11:
- Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
- void setup()
- {
- Serial.begin(9600);
- // set the speed at 20 rpm:
- myStepper.setSpeed(20);
- pinMode (pinLEDgreen, OUTPUT);
- pinMode (pinLEDred, OUTPUT);
- }
- void loop()
- {
- int waterLevel = analogRead(pinWater); // get adc waterLevel
- // if(((historyWaterLevel>= waterLevel) && ((historyWaterLevel - waterLevel) > 10)) || ((historyWaterLevel<waterLevel) && ((waterLevel - historyWaterLevel) > 10)))
- // {
- // sprintf(printBuffer, "ADC%d level is %d\n", pinWater, waterLevel);
- // Serial.println(printBuffer);
- // historyWaterLevel = waterLevel;
- // }
- Serial.println (waterLevel);
- while (waterLevel>= minimum && waterLevel<=maximum)
- {
- pourOnce(.75);
- waterLevel = analogRead(pinWater);
- Serial.println (waterLevel);
- digitalWrite (pinLEDred, HIGH);
- delay(100);
- digitalWrite (pinLEDgreen, LOW);
- }
- }
- void pourOnce(float angle)
- {
- int steps=angle*500;
- myStepper.step(steps);
- delay(pourOnceTime);
- myStepper.step(-steps);
- delay(settleDelay);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement