<* FND 4개 사용 *>
-FND 4개를 선택하여 숫자를 나나낸다
---- < FND 4개 소스 코드 > -----------------------------------------------------
int FndA = 12; // 12번 핀과 7세그먼트의 A핀이 연결
int FndB = 8; // 8번 핀과 7세그먼트의 B핀이 연결
int FndC = 4; // 5번 핀과 7세그먼트의 C핀이 연결
int FndD = 6; // 6번 핀과 7세그먼트의 D핀이 연결
int FndE = 7; // 7번 핀과 7세그먼트의 E핀이 연결
int FndF = 11; //11번 핀과 7세그먼트의 F핀이 연결
int FndG = 3; //3번 핀과 7세그먼트의 G핀이 연결
int FndDP = 5; // 5번 핀과 7세그먼트의 DP핀이 연결
int FndD1 = 13; // 13번 핀과 7세그먼트의 DP핀이 연결
int FndD2 = 10; // 10번 핀과 7세그먼트의 DP핀이 연결
int FndD3 = 9; // 9번 핀과 7세그먼트의 DP핀이 연결
int FndD4 = 2; // 2번 핀과 7세그먼트의 DP핀이 연결
int delaytime =1;//FND 유지 시간
void DisplayNumber(int number) {
if(number == 0) {
digitalWrite(FndA, HIGH);//아두이노 출력 HIGH
digitalWrite(FndB, HIGH);//아두이노 출력 HIGH
digitalWrite(FndC, HIGH);//아두이노 출력 HIGH
digitalWrite(FndD, HIGH);//아두이노 출력 HIGH
digitalWrite(FndE, HIGH);//아두이노 출력 HIGH
digitalWrite(FndF, HIGH);//아두이노 출력 HIGH
digitalWrite(FndG, LOW);//아두이노 출력 HIGH
}
else if(number == 1) {
digitalWrite(FndA, LOW);
digitalWrite(FndB, HIGH);
digitalWrite(FndC, HIGH);
digitalWrite(FndD, LOW);
digitalWrite(FndE, LOW);
digitalWrite(FndF, LOW);
digitalWrite(FndG, LOW);
}
else if(number == 2) {
digitalWrite(FndA, HIGH);
digitalWrite(FndB, HIGH);
digitalWrite(FndC, LOW);
digitalWrite(FndD, HIGH);
digitalWrite(FndE, HIGH);
digitalWrite(FndF, LOW);
digitalWrite(FndG, HIGH);
}
else if(number == 3) {
digitalWrite(FndA, HIGH);
digitalWrite(FndB, HIGH);
digitalWrite(FndC, HIGH);
digitalWrite(FndD, HIGH);
digitalWrite(FndE, LOW);
digitalWrite(FndF, LOW);
digitalWrite(FndG, HIGH);
}
else if(number == 4) {
digitalWrite(FndA, LOW);
digitalWrite(FndB, HIGH);
digitalWrite(FndC, HIGH);
digitalWrite(FndD, LOW);
digitalWrite(FndE, LOW);
digitalWrite(FndF, HIGH);
digitalWrite(FndG, HIGH);
}
else if(number == 5) {
digitalWrite(FndA, HIGH);
digitalWrite(FndB, LOW);
digitalWrite(FndC, HIGH);
digitalWrite(FndD, HIGH);
digitalWrite(FndE, LOW);
digitalWrite(FndF, HIGH);
digitalWrite(FndG, HIGH);
}
else if(number == 6) {
digitalWrite(FndA, LOW);
digitalWrite(FndB, LOW);
digitalWrite(FndC, HIGH);
digitalWrite(FndD, HIGH);
digitalWrite(FndE, HIGH);
digitalWrite(FndF, HIGH);
digitalWrite(FndG, HIGH);
}
else if(number == 7) {
digitalWrite(FndA, HIGH);
digitalWrite(FndB, HIGH);
digitalWrite(FndC, HIGH);
digitalWrite(FndD, LOW);
digitalWrite(FndE, LOW);
digitalWrite(FndF, HIGH);
digitalWrite(FndG, LOW);
}
else if(number == 8) {
digitalWrite(FndA, HIGH);
digitalWrite(FndB, HIGH);
digitalWrite(FndC, HIGH);
digitalWrite(FndD, HIGH);
digitalWrite(FndE, HIGH);
digitalWrite(FndF, HIGH);
digitalWrite(FndG, HIGH);
}
else if(number == 9) {
digitalWrite(FndA, HIGH);
digitalWrite(FndB, HIGH);
digitalWrite(FndC, HIGH);
digitalWrite(FndD, LOW);
digitalWrite(FndE, LOW);
digitalWrite(FndF, HIGH);
digitalWrite(FndG, HIGH);
}
}
void ClearLed()
{
digitalWrite(FndA, LOW);
digitalWrite(FndB, LOW);
digitalWrite(FndC, LOW);
digitalWrite(FndD, LOW);
digitalWrite(FndE, LOW);
digitalWrite(FndF, LOW);
digitalWrite(FndG, LOW);
digitalWrite(FndD4, HIGH);
digitalWrite(FndD3, HIGH);
digitalWrite(FndD2, HIGH);
digitalWrite(FndD1, HIGH);
}
void Display4Number(int number)
{
ClearLed();//FND 모두 끄기
DisplayNumber( (number / 1000) % 10);
digitalWrite(FndD1, LOW);// FND_D1 켜기
delay(delaytime); //유지 시간
digitalWrite(FndD1, HIGH);// FND_D1 끄기
DisplayNumber( (number / 100) % 10);
digitalWrite(FndD2, LOW);// FND_D2 켜기
delay(delaytime);
digitalWrite(FndD2, HIGH);// FND_D1 끄기
DisplayNumber((number / 10) % 10);
digitalWrite(FndD3, LOW);
delay(delaytime);
digitalWrite(FndD3, HIGH);// FND_D3 끄기
DisplayNumber( number % 10);
digitalWrite(FndD4, LOW);
delay(delaytime);
digitalWrite(FndD4, HIGH);// FND_D4 끄기
}
void setup() {
pinMode(FndA, OUTPUT);//아두이노 출력핀 설정
pinMode(FndB, OUTPUT);//아두이노 출력핀 설정
pinMode(FndC, OUTPUT);//아두이노 출력핀 설정
pinMode(FndD, OUTPUT);//아두이노 출력핀 설정
pinMode(FndE, OUTPUT);//아두이노 출력핀 설정
pinMode(FndF, OUTPUT);//아두이노 출력핀 설정
pinMode(FndG, OUTPUT);//아두이노 출력핀 설정
pinMode(FndDP, OUTPUT);//아두이노 출력핀 설정
pinMode(FndD1, OUTPUT);//아두이노 출력핀 설정
pinMode(FndD2, OUTPUT);//아두이노 출력핀 설정
pinMode(FndD3, OUTPUT);//아두이노 출력핀 설정
pinMode(FndD4, OUTPUT);//아두이노 출력핀 설정
}
void loop() {
Display4Number(1234);//4FND ==> i숫자 표시
}