Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- const int servoPin = 9; // Servo pin
- const int buttonIncPin = 2; // Increment button pin
- const int buttonDecPin = 3; // Decrement button pin
- Servo myServo; // Servo object
- int servoPosition = 0; // Servo position variable
- int prevButtonStateInc = LOW; // Previous state of increment button
- int prevButtonStateDec = LOW; // Previous state of decrement button
- void setup() {
- myServo.attach(servoPin); // Attach servo to pin
- pinMode(buttonIncPin, INPUT); // Set increment button as input
- pinMode(buttonDecPin, INPUT); // Set decrement button as input
- }
- void loop() {
- // Read button states
- int buttonStateInc = digitalRead(buttonIncPin);
- int buttonStateDec = digitalRead(buttonDecPin);
- // Increment servo position if increment button is pressed and previously wasn't
- if (buttonStateInc == HIGH && prevButtonStateInc == LOW) {
- servoPosition++;
- }
- // Decrement servo position if decrement button is pressed and previously wasn't
- if (buttonStateDec == HIGH && prevButtonStateDec == LOW) {
- servoPosition--;
- }
- // Simulate 360-degree rotation by wrapping around servo limits
- if (servoPosition < 0) {
- servoPosition = 180;
- } else if (servoPosition > 180) {
- servoPosition = 0;
- }
- // Update servo position
- myServo.write(servoPosition);
- // Update previous button states
- prevButtonStateInc = buttonStateInc;
- prevButtonStateDec = buttonStateDec;
- delay(50); // Delay between servo movements
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement