1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | int led1 = 8; // 2^0 int led2 = 9; // 2^1 int led4 = 10; // 2^2 int led8 = 11; // 2^3 int cnt = 0; char ch=0; int put0() //0 0 0 0 { digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led4, LOW); digitalWrite(led8, LOW); } int put1() //0 0 0 1 { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led4, LOW); digitalWrite(led8, LOW); } int put2() //0 0 1 0 { digitalWrite(led1, LOW); digitalWrite(led2, HIGH); digitalWrite(led4, LOW); digitalWrite(led8, LOW); } int put3() //0 0 1 1 { digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led4, LOW); digitalWrite(led8, LOW); } int put4() //0 1 0 0 { digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led4, HIGH); digitalWrite(led8, LOW); } int put5() //0 1 0 1 { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led4, HIGH); digitalWrite(led8, LOW); } int put6() //0 1 1 0 { digitalWrite(led1, LOW); digitalWrite(led2, HIGH); digitalWrite(led4, HIGH); digitalWrite(led8, LOW); } int put7() //0 1 1 1 { digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led4, HIGH); digitalWrite(led8, LOW); } int put8() //1 0 0 0 { digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led4, LOW); digitalWrite(led8, HIGH); } int put9() //1 0 0 1 { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led4, LOW); digitalWrite(led8, HIGH); } int put10() //1 0 1 0 { digitalWrite(led1, LOW); digitalWrite(led2, HIGH); digitalWrite(led4, LOW); digitalWrite(led8, HIGH); } int put11() //1 0 1 1 { digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led4, LOW); digitalWrite(led8, HIGH); } int put12() //1 1 0 0 { digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led4, HIGH); digitalWrite(led8, HIGH); } int put13() //1 1 0 1 { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led4, HIGH); digitalWrite(led8, HIGH); } int put14() //1 1 1 0 { digitalWrite(led1, LOW); digitalWrite(led2, HIGH); digitalWrite(led4, HIGH); digitalWrite(led8, HIGH); } int put15() //1 1 1 1 { digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led4, HIGH); digitalWrite(led8, HIGH); } int output() { if(cnt==0) put0(); else if(cnt==1) put1(); else if(cnt==2) put2(); else if(cnt==3) put3(); else if(cnt==4) put4(); else if(cnt==5) put5(); else if(cnt==6) put6(); else if(cnt==7) put7(); else if(cnt==8) put8(); else if(cnt==9) put9(); else if(cnt==10) put10(); else if(cnt==11) put11(); else if(cnt==12) put12(); else if(cnt==13) put13(); else if(cnt==14) put14(); else put15(); } void setup() { // user mode: PWM, Serial, Serial.begin(9600); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led4, OUTPUT); pinMode(led8, OUTPUT); Serial.print("Connect Success! input Number 1, 2, 3"); } void loop() { while(Serial.available()){ ch=Serial.read(); if(ch == '1') // '1' cnt++ { if(cnt>=15) cnt=15; //cnt limit output(); cnt=cnt+1; } else if(ch=='2') // '2' cnt-- { if(cnt<=0) cnt=0; //cnt limit output(); cnt=cnt-1; } else Serial.println("Try again Number '1' or '2'"); } } |
시리얼통신으로 1입력 받으면 cnt 값이 증가하면서 0000~1111으로 증가
2 입력받으면 cnt 값이 감소하면서 1111~0000으로 감소
'Study > Arduino' 카테고리의 다른 글
| 4-Digit Display header file (0) | 2014.09.15 |
|---|---|
| Grove-LCD RGB Backlight header file (0) | 2014.09.15 |
| SW체터링 소프트웨어적 해결 (0) | 2014.09.05 |
| Arduino PWM Control (0) | 2014.08.30 |
| 아두이노 명령어 (0) | 2014.08.30 |
