BASIC4MCU | 질문게시판 | 답변 : 답변 : 택트스위치를 이용해 pwm 팬 단계 제어하기
페이지 정보
작성자 mjmj 작성일2019-05-07 22:08 조회3,220회 댓글0건본문
void setup(){ Serial.begin(9600); pinMode(2,INPUT_PULLUP); pinMode(13,OUTPUT); } // boolean sw=0; // void loop(){ static int x=0; int v=analogRead(A4); Serial.println(x%5);
if(!digitalRead(2)){ // 스위치 눌렀을 때 if(sw==0){ sw=1; if(++x>4)x=0; digitalWrite(13,0); Serial.println(x); if(x==0){ analogWrite(9,0); Serial.println(00); } if(x==1){ analogWrite(9,105+50*x); Serial.println(105+50*x); } if(x==2){ analogWrite(9,105+50*x); Serial.println(105+50*x); } if(x==3){ analogWrite(9,105+50*x); Serial.println(105+50*x); } if(x==4){ static unsigned long tm=millis(); while(tm+1000>millis()); analogWrite(9,analogRead(A4)/1023.0*255); Serial.print("eco "); Serial.println(tm); while(tm+2000>millis()); analogWrite(9,analogRead(A4)/2034.0*255); Serial.print("eco "); Serial.println(tm); tm=tm+2000; }
delay(300); } } else{ // 스위치 누르지 않았을 때 if(sw==1){ sw=0; digitalWrite(13,1); delay(300); } } } |
x==4인 경우에 센서값을 주기적으로 받아오기 위하여 위와 같이 코딩을 수정해봤습니다. 택트스위치를 4번 눌렀을 때 2초정도는 어느정도 빠르게 돌다가 그 이후에는 천천히 돌더라구요. 제가 수정한 빨간부분이 잘못된것 같은데 어떻게 잘못된건지 정확하게 모르겠습니다.
댓글 0
조회수 3,220등록된 댓글이 없습니다.