BASIC4MCU | 질문게시판 | 답변 : 아두이노 7-세그먼트 캐소드 -> 애노드 코드 변경
페이지 정보
작성자 master 작성일2018-09-16 07:49 조회10,277회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=3097
본문
![]()
5161BS는 콤몬 애노드 타입입니다.
세그먼트 a~g,dp에 0을 주고 콤몬 핀에 1을 줘야지 켜집니다.
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-09-16 오전 7:51:09// by Ok-Hyun Park//int leds[]={2,3,4,5,6,7,8,9}; //a,b,c,d,e,f,g,comint led_num=8;int button=13;//int seg[11][8]={//a,b,c,d,e,f,g,com{0,0,0,0,0,0,0,1},{1,1,1,1,1,1,0,1},{0,1,1,0,0,0,0,1},{1,1,0,1,1,0,1,1},{1,1,1,1,0,0,1,1},{0,1,1,0,0,1,1,1},{1,0,1,1,0,1,1,1},{1,0,1,1,1,1,1,1},{1,1,1,0,0,0,0,1},{1,1,1,1,1,1,1,1},{1,1,1,0,0,1,1,1},};int num=0;//void setup(){for(int i=0;i<led_num;i++)pinMode(leds[i],OUTPUT);pinMode(button,INPUT_PULLUP);}//void loop(){if(digitalRead(button)==LOW) {if(++num>10)num=0;}//for(int j=0; j<led_num; j++){digitalWrite(leds[j],!seg[num][j]);}delay(100);}질문의 소스는 콤몬 캐소드용 예제라서 반대로 구동하고 있습니다.
digitalWrite(leds[j],!seg[num][j]);
캐소드 소스를 애노드 소스로 바꾸는 것은 출력 논리를 바꿔주면 되고
출력 논리를 반대로 바꾸는 것은 논리부정연산자를 사용하면 됩니다.
댓글 0
조회수 10,277등록된 댓글이 없습니다.