본문 바로가기

작업실/arduino

아두이노(arduino) - LED로 2진법표현





소스1 -LED는 아두이노 13,12,11,10에 연결-


void setup(){

  pinMode(13, OUTPUT);

  pinMode(12, OUTPUT);

  pinMode(11, OUTPUT);

  pinMode(10, OUTPUT);

}


void loop(){

  int number=1;

  int i,a,t;

  

  for(;number<=15;number++){

    int num[]={0,0,0,0};

    t=number;

  for(i=0;i<=3;i++){

    num[i]=t%2;

    t=t/2;

  }

  

  digitalWrite(13,num[3]);

  digitalWrite(12,num[2]);

  digitalWrite(11,num[1]);

  digitalWrite(10,num[0]);

  delay(500);

}

}




소스2 -친구에게 받은건데 i의 값을 2진수로 바꾸고 쉬프트연산 하면 이해가 되었던것 같습니다!-


void setup(){

  pinMode(13, OUTPUT);

  pinMode(12, OUTPUT);

  pinMode(11, OUTPUT);

  pinMode(10, OUTPUT);

}


void loop(){

  int i;

  for(i=0;i<=15;i++){

  digitalWrite(13,i%2);

  digitalWrite(12,(i>>1)%2);

  digitalWrite(11,(i>>2)%2);

  digitalWrite(10,(i>>3)%2);

  delay(500);

  }

}