음성고등학교 로고이미지

RSS 페이스북 공유하기 트위터 공유하기 카카오톡 공유하기 카카오스토리 공유하기 네이버밴드 공유하기 프린트하기
6월 17일
좋아요:0
작성자 류희현 등록일 17.06.17 조회수 84
#include
Servo myservo;
int i = 0;
void setup() {
 pinMode(13,INPUT_PULLUP);
 pinMode(12, OUTPUT);
 myservo.attach(11);
}
int ck=0;
int ck2=0;


void loop() {
  Serial.println(digitalRead(11));
  if(digitalRead(13) && ck2!=digitalRead(13)){
    switch(ck){
      case 0:{
        digitalWrite(12, 1);
        ck=1;
        for(i=0; i <= 180; i=i+10){
          myservo.write(i);
          delay(15);
        }
        break;
      }
      case 1:{
        digitalWrite(12 ,0);
        ck=0;
        for(i=180; i>=0; i=i-10){
          myservo.write(i);
          delay(15);
        }
        
        break;
      }
    }
  }
  ck2=digitalRead(13);
}

switch구문을 사용해서 디바운스를 사용했다. 한 번 누르면 LED가 꺼지고 서보모터가 돌아간다. 다시 한 번 누르면 LED가 켜지고 서보모터가 원래대로 돌아간다. 이것을 이용하면 버튼을 눌렀을 때 문이 열리게 할 수 있을 것 같아 나중에 사용해 보기로 하겠다.
이전글 6월 17일활동
다음글 2017-06-17 핀번호 빼고 끝