본문 바로가기

작업실/arduino

아두이노(arduino) - 가변저항값을 7Segment에 표현하자






소스1 -가변저항은 A0에연결! 이전에 시리얼 모니터에 출력한것하던걸 세그먼트에 표현!-


#define LED 13 

#define ANALOG A0 

int A0_Value = 0; 

int su,su2,su3,su4;


void setup(){

  pinMode(13, OUTPUT);

  pinMode(12, OUTPUT);

  pinMode(11, OUTPUT);

  pinMode(10, OUTPUT);

  pinMode(9, OUTPUT);

  pinMode(8, OUTPUT);

  pinMode(7, OUTPUT);

  pinMode(5, OUTPUT);

  pinMode(4, OUTPUT);

  pinMode(3, OUTPUT);

  //Serial.begin(9600); 

}


void loop(){

  A0_Value = analogRead(ANALOG); 

 analogWrite(LED, A0_Value / 4); 

 Serial.println(A0_Value); 

  

  digitalWrite(5,1);

  digitalWrite(4,0);

  digitalWrite(3,0);

  su=A0_Value/100;

  su2=A0_Value%100;

  what(su);

  

  if(A0_Value>=999)

  nine();

  

  delay(5);

  digitalWrite(5,0);

  digitalWrite(4,1);

  digitalWrite(3,0);

  su3=su2/10;

  su4=su2%10;

  what(su3);

  

  if(A0_Value>=999)

  nine();

  

  delay(5);

  digitalWrite(5,0);

  digitalWrite(4,0);

  digitalWrite(3,1);

  what(su4);

  

  if(A0_Value>=999)

  nine();

  

  delay(5);

}


void what(int a){

  switch(a){

    case 1 : one();

             break;

    case 2 : two();

             break;

    case 3 : three();

             break;

    case 4 : four();

             break;

    case 5 : five();

             break;

    case 6 : six();

             break;

    case 7 : seven();

             break;

    case 8 : eight();

             break;

    case 9 : nine();

             break;

    case 0 : zero();

             break;

    default : zero();

              break;

  }

}


void zero(){

  digitalWrite(13,0);

  digitalWrite(12,0);

  digitalWrite(11,0);

  digitalWrite(10,1);

  digitalWrite(9,0);

  digitalWrite(8,0);

  digitalWrite(7,0);

}


void one(){

  digitalWrite(13,1);

  digitalWrite(12,0);

  digitalWrite(11,0);

  digitalWrite(10,1);

  digitalWrite(9,1);

  digitalWrite(8,1);

  digitalWrite(7,1);

}


void two(){

  digitalWrite(13,0);

  digitalWrite(12,0);

  digitalWrite(11,1);

  digitalWrite(10,0);

  digitalWrite(9,0);

  digitalWrite(8,1);

  digitalWrite(7,0);

}


void three(){

  digitalWrite(13,0);

  digitalWrite(12,0);

  digitalWrite(11,0);

  digitalWrite(10,0);

  digitalWrite(9,1);

  digitalWrite(8,1);

  digitalWrite(7,0);

}


void four(){

  digitalWrite(13,1);

  digitalWrite(12,0);

  digitalWrite(11,0);

  digitalWrite(10,0);

  digitalWrite(9,1);

  digitalWrite(8,0);

  digitalWrite(7,1);

}


void five(){

  digitalWrite(13,0);

  digitalWrite(12,1);

  digitalWrite(11,0);

  digitalWrite(10,0);

  digitalWrite(9,1);

  digitalWrite(8,0);

  digitalWrite(7,0);

}


void six(){

  digitalWrite(13,0);

  digitalWrite(12,1);

  digitalWrite(11,0);

  digitalWrite(10,0);

  digitalWrite(9,0);

  digitalWrite(8,0);

  digitalWrite(7,0);

}


void seven(){

  digitalWrite(13,0);

  digitalWrite(12,0);

  digitalWrite(11,0);

  digitalWrite(10,1);

  digitalWrite(9,1);

  digitalWrite(8,0);

  digitalWrite(7,1);

}


void eight(){

  digitalWrite(13,0);

  digitalWrite(12,0);

  digitalWrite(11,0);

  digitalWrite(10,0);

  digitalWrite(9,0);

  digitalWrite(8,0);

  digitalWrite(7,0);

}


void nine(){

  digitalWrite(13,0);

  digitalWrite(12,0);

  digitalWrite(11,0);

  digitalWrite(10,0);

  digitalWrite(9,1);

  digitalWrite(8,0);

  digitalWrite(7,0);

}