6월 17일 |
좋아요:0 | ||||
---|---|---|---|---|---|
작성자 | 류희현 | 등록일 | 17.06.17 | 조회수 | 85 |
#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 핀번호 빼고 끝 |