학교/스타트업모바일앱

유수봉 교수의 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;
	} 
}