반응형
#include <Servo.h>

const int SERVO = 10;
Servo servo;

void setup(){
  servo.attach(SERVO);
  servo.write(0);

  delay(1000);

  for (int cnt=0; cnt<=2; cnt++){
    servo.write(0);
    delay(1000);
    servo.write(180);
    delay(1000);
  }

  servo.detach();
}

void loop(){

}

// Servo motor 180 adjustment
#include <Servo.h>

const int SERVO = 10;
Servo servo;

void setup(){
  servo.attach(SERVO);
  servo.write(0);

  delay(1000);

  for(int angle=0; angle<=180; angle++){
    servo.write(angle);
    delay(30);
  }
  servo.detach();
}

void loop(){

}
#include <Servo.h>

const int SERVO = 10;
Servo servo;

void setup(){
  Serial.begin(115200);
  servo.attach(SERVO);
  servo.write(0);
  delay(1000);
}

void loop(){
  if (Serial.available()){
    char userInput = Serial.read();

    switch(userInput){
      case '1' :
        servo.write(30);
        delay(1000);
        break;

      case '2' :
        servo.write(90);
        delay(1000);
        break;

      case '3' :
        servo.write(150);
        delay(1000);
        break;
      
      defalut:
        break;
    }
  }
}

// Control servo by serial
#include <Servo.h>

const int SERVO = 10;
Servo servo;
const int buttonPin = 2;

int servo_state = 30;
bool servo_state_changed = false;

void buttonPressed()
{
  servo_state = (servo_state == 30)?150:30;
  servo_state_changed = true;
}

void setup()
{
  pinMode(buttonPin, INPUT);
  attachInterrupt(digitalPinToInterrupt(buttonPin), buttonPressed, RISING);
  servo.attach(SERVO);
  servo.write(0);
  delay(1000);
}

void loop()
{
  if(servo_state_changed)
  {
    servo_state_changed = false;
    servo.write(servo_state);
  }
}

//book 248page Rocate servo using button interrupt
반응형

'Firmware & Embedded > Components' 카테고리의 다른 글

Arduino Serial (to Python)  (0) 2022.10.31
Sequential Brightness LED using Button  (0) 2022.10.14
Alarm operation based on distance using ultrasonic sensor  (0) 2022.10.14
Ultrasonic sensor  (0) 2022.10.14
BUZZER Control  (0) 2022.09.22

+ Recent posts