이전에 했던 세븐 세그먼트 한자리를 보고오시면 세븐세그먼트 4자리를 이해하는데 도움이 됩니다.
목차
1) 세븐세그먼트 4자리
2) 코드 및 결선도
1) 세븐세그먼트 4자리
2) 코드 및 결선도
int digit_select_pin[] = {10,11,12,13}; int segment_pin[] = {2,3,4,5,6,7,8,9}; //자릿수 표현 사이의 지연 시간, ms 단위 int time_delay = 5; byte digits_data[10]={0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE4, 0xFE, 0xE6}; void setup() { for(int i = 0; i < 4; i++) { pinMode(digit_select_pin[i], OUTPUT); } for(int i = 0; i < 8; i++) { pinMode(segment_pin[i], OUTPUT); } } void show_digit(int pos, int number) { for(int i = 0; i < 4; i++) { if(i+1 ==pos) digitalWrite(digit_select_pin[i], LOW); else digitalWrite(digit_select_pin[i], HIGH); } for(int i = 0; i < 8; i++) { byte segment_data = (digits_data[number] & (0x01 << i)) >> i; if(segment_data == 1) digitalWrite(segment_pin[7-i], HIGH); else digitalWrite(segment_pin[7-i], LOW); } } void loop() { show_digit(1, 1); delay(time_delay); show_digit(2, 2); delay(time_delay); show_digit(3, 3); delay(time_delay); show_digit(4, 4); delay(time_delay); } |
반응형
'IOT 로봇 아두이노 > 아두이노 기본센서 연결하기' 카테고리의 다른 글
[아두이노 응용] DC모터를 이용해 'rc car' 이동시키기 (0) | 2021.06.21 |
---|---|
[아두이노 기초] 모터드라이버로 DC모터 제어하기 (0) | 2021.06.16 |
[아두이노 기초] 블루투스 연결하기 (0) | 2021.05.26 |
[아두이노 기초] 세븐 세그먼트 (2) | 2021.05.21 |
[아두이노 응용] 초음파센서 거리 측정 후 LCD 출력 하기 (0) | 2021.05.12 |
댓글