7-세그먼트(SR-1056A) 사용하기
세그먼트 사용법을 알아보고자 한다. 먼저 사용되는 세그먼트는 SR-1056A로 다른 세그먼트와 핀이 다를 수도 있다. 세그먼트에 관한 정보는 링크를 통해서 확인하기 바란다.
출처 링크
회로 구성
프로그램 코드
byte seven_seg_digits[10][7] = {
{ 0,0,0,0,0,0,1 }, // = 0
{ 1,0,0,1,1,1,1 }, // = 1
{ 0,0,1,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 1,0,0,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,1,1,0,0 } // = 9
};
void setup() {
int pinNum = 2;
// segment init
for(pinNum = 2; pinNum < 10; pinNum++) {
pinMode(pinNum, OUTPUT);
}
writeDot(0); // start with the "dot" off
}
void writeDot(byte dot) {
digitalWrite(9, dot);
}
void sevenSegWrite(byte digit) {
byte pin = 2;
for (byte segCount = 0; segCount < 7; ++segCount) {
digitalWrite(pin, seven_seg_digits[digit][segCount]);
++pin;
}
}
void loop() {
for (byte count = 10; count > 0; --count) {
delay(1000);
sevenSegWrite(count - 1);
}
delay(4000);
}
실험결과
0부터 1까지 카운트하는 코드로, 아주 잘 출력되었다. 2자리 숫자를 표현하려고했는데 핀에 꼽을 선이 너무많아 다른 방법을 찾아보아야겠다.
"본 제품은 아이씨뱅큐 무상체험단 21기 활동의 일환으로 체험 제품을 제공받아 작성되었습니다."
'대학 생활 > IoT(RaspberryPi, Arduino)' 카테고리의 다른 글
[RaspberryPi] 라즈베리파이 Apache, MySQL, PHP 설치하기 (0) | 2015.04.23 |
---|---|
[Arduino] 온도계만들기 (0) | 2015.03.19 |
[Raspberry Pi] 라즈베리파이 초기 설정 및 프로그램 설치 (0) | 2015.03.02 |
[Arduino] 아두이노 날짜, 시간 출력하기(Time.h) (1) | 2015.02.24 |