학교/스타트업모바일앱
유수봉 교수의 APP-03
공부 기록장
2023. 9. 21. 17:03
https://blog.naver.com/newbongman/223217679644
... 교수의 APP-03
... 교수의 APP-03 Step#1 : FND 제어하기-1(Switch) Step#2 : FND 제어하기-2(CD4511) Ste...
blog.naver.com
// C++ code
//
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}
void cls()
{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
delay(100);
}
void loop()
{
//0
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay(500);
//1
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
delay(500);
//2
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
delay(500);
//3
digitalWrite(2, HIGH); //A
digitalWrite(3, HIGH); //B
digitalWrite(4, HIGH); //C
digitalWrite(5, HIGH); //D
digitalWrite(6, LOW); //E
digitalWrite(7, LOW); //F
digitalWrite(8, HIGH); //G
digitalWrite(9, LOW); //DP
delay(500);
//4
digitalWrite(2, LOW); //A
digitalWrite(3, HIGH); //B
digitalWrite(4, HIGH); //C
digitalWrite(5, LOW); //D
digitalWrite(6, LOW); //E
digitalWrite(7, HIGH); //F
digitalWrite(8, HIGH); //G
digitalWrite(9, LOW); //DP
delay(500);
//5
digitalWrite(2, HIGH); //A
digitalWrite(3, LOW); //B
digitalWrite(4, HIGH); //C
digitalWrite(5, HIGH); //D
digitalWrite(6, LOW); //E
digitalWrite(7, HIGH); //F
digitalWrite(8, HIGH); //G
digitalWrite(9, LOW); //DP
delay(500);
//6
digitalWrite(2, HIGH); //A
digitalWrite(3, LOW); //B
digitalWrite(4, HIGH); //C
digitalWrite(5, HIGH); //D
digitalWrite(6, HIGH); //E
digitalWrite(7, HIGH); //F
digitalWrite(8, HIGH); //G
digitalWrite(9, LOW); //DP
delay(500);
//7
digitalWrite(2, HIGH); //A
digitalWrite(3, HIGH); //B
digitalWrite(4, HIGH); //C
digitalWrite(5, LOW); //D
digitalWrite(6, LOW); //E
digitalWrite(7, HIGH); //F
digitalWrite(8, LOW); //G
digitalWrite(9, LOW); //DP
delay(500);
//8
digitalWrite(2, HIGH); //A
digitalWrite(3, HIGH); //B
digitalWrite(4, HIGH); //C
digitalWrite(5, HIGH); //D
digitalWrite(6, HIGH); //E
digitalWrite(7, HIGH); //F
digitalWrite(8, HIGH); //G
digitalWrite(9, LOW); //DP
delay(500);
//9
digitalWrite(2, HIGH); //A
digitalWrite(3, HIGH); //B
digitalWrite(4, HIGH); //C
digitalWrite(5, LOW); //D
digitalWrite(6, LOW); //E
digitalWrite(7, HIGH); //F
digitalWrite(8, HIGH); //G
digitalWrite(9, LOW); //DP
delay(500);
}
int N=0;
void setup(){
for(int X=2; X<14; X++) {
pinMode(X, OUTPUT);
}
}
void CLS(){
for(int X=2; X<9; X++) {
digitalWrite(X, HIGH);
}
}
void disp(int N) {
switch (N){
case 1 :digitalWrite(3, LOW);
digitalWrite(4, LOW);
break;
case 2 :digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(8, LOW);
break;
case 3 :digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(8, LOW);
break;
case 4 :digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
case 5 :digitalWrite(2, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
case 6 :digitalWrite(2, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
case 7 :digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
break;
case 8 :digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
case 9 :digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
case 0 :digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
break;
}
}
void F1()
{
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
}
void F2()
{
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
}
void loop()
{
N++;
for (int R = 0; R < 100; R++)
{
F1();
disp(int(N / 10) % 10);
delay(2);
CLS();
F2();
disp(N % 10);
delay(3);
CLS();
}
}
void setup(){
for (int X = 0; X < 14; X++)
{
pinMode(X, OUTPUT);
digitalWrite(X, LOW);
}
}
int N=0;
void loop() {
N++;
for(int A=0; A<30; A++)
{
CLS();
digitalWrite(13, LOW);
disp((N/1000)%10);
delay(3);
CLS();
digitalWrite(12, LOW);
disp((N/100)%10);
delay(3);
CLS();
digitalWrite(11, LOW);
disp((N/10)%10);
delay(3);
CLS();
digitalWrite(10, LOW);
disp((N/1)%10);
delay(3);
//if(N%3) digitalWrite(9, HIGH); delay(3);
}
}
void CLS()
{
for(int X=10; X<14; X++)
{
digitalWrite(X, HIGH);
}
for(int X=2; X<10; X++)
{
digitalWrite(X, LOW);
}
}
void disp(int N) {
switch (N){
case 1 :digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
break;
case 2 :digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(8, HIGH);
break;
case 3 :digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(8, HIGH);
break;
case 4 :digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 5 :digitalWrite(2, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 6 :digitalWrite(2, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 7 :digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
break;
case 8 :digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 9 :digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 0 :digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
break;
}
}