BASIC4MCU | 질문게시판 | 답변 : fadingRGB millis 함수
페이지 정보
작성자 master 작성일2019-01-14 10:09 조회3,153회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=7433
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-01-14 오전 10:18:26// by Ok-Hyun Park////1.delay 값을 줘서 RGBFading이 시작되는 시간을 주고싶습니다.//예; 10초 후에 LED가 페이딩 됨////2.9번 핀과 연결된 LED는 0~100까지만 페이딩 되게 하고 싶습니다.//예: 5번과 6번핀은 0~255까지 밝아졌다 어두워지지만 9번핀은 0~100까지만 밝아짐,//9번핀이 밝아지는 단계가 짧아서 주기가 맞지 안으면 안되며 5,6번핀과 같은 주기안에서 페이딩 되어야함//int fadingRGB_ledPin[3]={5,6,9}; // 핀 위치(G R B)int fadeRGBValue[3] ={0,0,0}; // 0부터 밝기 시작int fadeRGBDir[3] ={1,1,1}; // Led를 밝게함.0으로하면 처음에 꺼져있는듯...//void distancetriple_loop(){if(digitalRead(13)){unsigned long t=millis();for(int i=0; i<3; i++){ //아래 millis 함수의 i에 해당while(millis()-t<39);t=millis();fadingRGB_previousMillis[i]=currentMillis;//if(fadeRGBDir[i]==1){ // led를 밝게함if(fadeRGBValue[i]<=250)fadeRGBValue[i]+=5;else{ fadeRGBValue[i]=255; fadeRGBDir[i]=0; }}else{ // fadeRGBDir[i]==0if(fadeRGBValue[i]>=0){if(fadeRGBValue[i]>=5)fadeRGBValue[i]-=5;else{ fadeRGBValue[i]=0; fadeRGBDir[i]=1; }}}//if(i==2)analogWrite(fadingRGB_ledPin[i],(int)(fadeRGBValue[i]*0.392156862745098));else analogWrite(fadingRGB_ledPin[i],fadeRGBValue[i]);}}}
댓글 0
조회수 3,153등록된 댓글이 없습니다.