목차
5161AS
- 1 Digit 7-Segment

5161AS, 1 digit 제어
1자리 7세그먼트로 디스플레이하는 실험입니다.

부품 목록
| 부품명 | 아두이노 UNO R3 | 
 | 
|---|---|---|
| 기능 | 아두이노 모듈 | |
| 수량 | 1 | |
| 아두이노 모듈 | 
| 부품명 | 5161AS | 
 | 
|---|---|---|
| 기능 | 1 digit 7-segment | |
| 수량 | 1 | |
| 1 digit 7-segment | 
핀 연결
| 5161AS Pin | Arduino UNO R3 Pin | |
|---|---|---|
| Name | Number | |
| DIG1 | 3, 8 | A0 | 
| A | 7 | 5 | 
| B | 6 | 6 | 
| C | 4 | A2 | 
| D | 2 | A4 | 
| E | 1 | A5 | 
| F | 9 | 3 | 
| G | 10 | 2 | 
| DP | 5 | A3 | 
5161AS  핀 는 좌측 하단이 1번 이고, 좌측 상단이 16번 입니다.
FND 3번에 저항을 연결하면 FND 밝기를 줄일 수 있습니다.

소스코드
최신 소스코드는 [파일]=>[예제]=> [WhiteAT UNO]=>[Starter] =>[04_5161AS] 에 있으며
라이브러리는 아두이노 개발환경  을 참조하세요
/*
알찬 아두이노 세트(입문자용) 예제중
5161AS 1-Digit 7Segment FND 예제 입니다.
 현재 타이머를 출력 하는 예제입니다.
알찬 아두이노 세트(입문자용): https://kit128.com/goods/view?no=133
출처: http://whiteat.com/Arduino
*/
//Set anode interface
int a = 5;
int b = 6;
int c = A2;
int d = A4;
int e = A5;
int f = 3;
int g = 2;
int p = A3; //The decimal point
//Set DIG1
int d1 = A0;
int val = 0;
#define _0 { HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW}
#define _1 { LOW, HIGH, HIGH, LOW, LOW, LOW, LOW}
#define _2 { HIGH, HIGH, LOW, HIGH, HIGH, LOW, HIGH}
#define _3 { HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH}
#define _4 { LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH}
#define _5 { HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH}
#define _6 { HIGH, LOW, HIGH, HIGH, HIGH, HIGH, HIGH}
#define _7 { HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW}
#define _8 { HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH}
#define _9 { HIGH, HIGH, HIGH, HIGH, LOW, HIGH, HIGH}
int num_bit[10][7] = { _0, _1, _2, _3, _4, _5, _6, _7, _8, _9 };
void setup()
{
 Serial.begin(115200); //Set baud rate 115200
 pinMode(d1, OUTPUT);
 digitalWrite(d1, LOW);
 pinMode(a, OUTPUT);
 pinMode(b, OUTPUT);
 pinMode(c, OUTPUT);
 pinMode(d, OUTPUT);
 pinMode(e, OUTPUT);
 pinMode(f, OUTPUT);
 pinMode(g, OUTPUT);
 pinMode(p, OUTPUT);
}
void loop()
{
 val = millis() / 1000 %10;
 if (val >= 0)
 {
 pickNumber(val);
 }
} 
void pickNumber(int n) 
{
 digitalWrite(a, num_bit[n][0]);
 digitalWrite(b, num_bit[n][1]);
 digitalWrite(c, num_bit[n][2]);
 digitalWrite(d, num_bit[n][3]);
 digitalWrite(e, num_bit[n][4]);
 digitalWrite(f, num_bit[n][5]);
 digitalWrite(g, num_bit[n][6]);
}
void dpoint() //Light the decimal point
{
 digitalWrite(p, HIGH);
}
결과


제품 구매
알찬 아두이노 키트(초보자용) 은 https://kit128.com/goods/view?no=133 에서 구매하실 수 있습니다.
.

 
	

