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
Posted by 차희빈

차희빈

달력