LED Bar Graph and Keypad
Display the key pressed from the keypad on the LED bar graph in binary.
Apps and platforms
1
Arduino IDE
Project description
Code
LED Bar Graph and 16-key Keypad
arduino
1//Take input from a keypad and display the binary number of the key pressed 2 on the LED bar graph 3 4//variable declarations 5int button1 = 0; 6int button2 7 = 0; 8int button3 = 0; 9int buttonA = 0; 10int button4 = 0; 11int button5 12 = 0; 13int button6 = 0; 14int buttonB = 0; 15int button7 = 0; 16int button8 17 = 0; 18int button9 = 0; 19int buttonC = 0; 20int buttonAst = 0; 21int button0 22 = 0; 23int buttonHash = 0; 24int buttonD = 0; 25 26 27void setup() { 28 // 29 put your setup code here, to run once: 30 //set pins 0-3 as output and 4-7 as 31 input 32 DDRD = B00001111; 33 34 //set pins 8-11 as output 35 pinMode(8, 36 OUTPUT); 37 pinMode(9, OUTPUT); 38 pinMode(10, OUTPUT); 39 pinMode(11, OUTPUT); 40 41} 42 43void 44 loop() { 45 // put your main code here, to run repeatedly: 46 47 digitalWrite(0, 48 HIGH); //set pin 0 high 49 //check if input pins go high (button pressed) 50 51 button1 = digitalRead(4); 52 button4 = digitalRead(5); 53 button7 = digitalRead(6); 54 55 buttonAst = digitalRead(7); 56 digitalWrite(0, LOW); //set pin 0 low 57 58 59 if(button1 == 1){ 60 delay(100); //wait until switch settles 61 62 63 //set LEDs to 0001 64 digitalWrite(8, HIGH); 65 digitalWrite(9, LOW); 66 67 digitalWrite(10, LOW); 68 digitalWrite(11, LOW); 69 } 70 71 if(button4 72 == 1){ 73 delay(100); //wait until switch settles 74 75 //set LEDs to 76 0100 77 digitalWrite(8, LOW); 78 digitalWrite(9, LOW); 79 digitalWrite(10, 80 HIGH); 81 digitalWrite(11, LOW); 82 } 83 84 if(button7 == 1){ 85 delay(100); 86 //wait until switch settles 87 88 //set LEDs to 0111 89 digitalWrite(8, 90 HIGH); 91 digitalWrite(9, HIGH); 92 digitalWrite(10, HIGH); 93 digitalWrite(11, 94 LOW); 95 } 96 97 if(buttonAst == 1){ 98 delay(100); //wait until switch 99 settles 100 101 //set LEDs to 1110 102 digitalWrite(8, HIGH); 103 digitalWrite(9, 104 HIGH); 105 digitalWrite(10, HIGH); 106 digitalWrite(11, LOW); 107 } 108 109 110 digitalWrite(1, HIGH); //set pin 1 high 111 //check if input pins go high (button 112 pressed) 113 button2 = digitalRead(4); 114 button5 = digitalRead(5); 115 button8 116 = digitalRead(6); 117 button0 = digitalRead(7); 118 digitalWrite(1, LOW); //set 119 pin 1 low 120 121 if(button2 == 1){ 122 delay(100); //wait until switch 123 settles 124 125 //set LEDs to 0010 126 digitalWrite(8, LOW); 127 digitalWrite(9, 128 HIGH); 129 digitalWrite(10, LOW); 130 digitalWrite(11, LOW); 131 } 132 133 134 if(button5 == 1){ 135 delay(100); //wait until switch settles 136 137 //set 138 LEDs to 0101 139 digitalWrite(8, HIGH); 140 digitalWrite(9, LOW); 141 digitalWrite(10, 142 HIGH); 143 digitalWrite(11, LOW); 144 } 145 146 if(button8 == 1){ 147 delay(100); 148 //wait until switch settles 149 150 //set LEDs to 1000 151 digitalWrite(8, 152 LOW); 153 digitalWrite(9, LOW); 154 digitalWrite(10, LOW); 155 digitalWrite(11, 156 HIGH); 157 } 158 159 if(button0 == 1){ 160 delay(100); //wait until switch 161 settles 162 163 //set LEDs to 0000 164 digitalWrite(8, LOW); 165 digitalWrite(9, 166 LOW); 167 digitalWrite(10, LOW); 168 digitalWrite(11, LOW); 169 } 170 171 172 digitalWrite(2, HIGH); //set pin 2 high 173 //check if input pins go high (button 174 pressed) 175 button3 = digitalRead(4); 176 button6 = digitalRead(5); 177 button9 178 = digitalRead(6); 179 buttonHash = digitalRead(7); 180 digitalWrite(2, LOW); //set 181 pin 2 low 182 183 if(button3 == 1){ 184 delay(100); //wait until switch 185 settles 186 187 //set LEDs to 0011 188 digitalWrite(8, HIGH); 189 digitalWrite(9, 190 HIGH); 191 digitalWrite(10, LOW); 192 digitalWrite(11, LOW); 193 } 194 195 196 if(button6 == 1){ 197 delay(100); //wait until switch settles 198 199 200 //set LEDs to 0110 201 digitalWrite(8, LOW); 202 digitalWrite(9, HIGH); 203 204 digitalWrite(10, HIGH); 205 digitalWrite(11, LOW); 206 } 207 208 if(button9 209 == 1){ 210 delay(100); //wait until switch settles 211 212 //set LEDs to 213 1001 214 digitalWrite(8, HIGH); 215 digitalWrite(9, LOW); 216 digitalWrite(10, 217 LOW); 218 digitalWrite(11, HIGH); 219 } 220 221 if(buttonHash == 1){ 222 delay(100); 223 //wait until switch settles 224 225 //set LEDs to 1111 226 digitalWrite(8, 227 HIGH); 228 digitalWrite(9, HIGH); 229 digitalWrite(10, HIGH); 230 digitalWrite(11, 231 HIGH); 232 } 233 234 digitalWrite(3, HIGH); //set pin 3 high 235 //check if 236 input pins go high (button pressed) 237 buttonA = digitalRead(4); 238 buttonB 239 = digitalRead(5); 240 buttonC = digitalRead(6); 241 buttonD = digitalRead(7); 242 243 digitalWrite(3, LOW); //set pin 3 low 244 245 if(buttonA == 1){ 246 delay(100); 247 //wait until switch settles 248 249 //set LEDs to 1010 250 digitalWrite(8, 251 LOW); 252 digitalWrite(9, HIGH); 253 digitalWrite(10, LOW); 254 digitalWrite(11, 255 HIGH); 256 } 257 258 if(buttonB == 1){ 259 delay(100); //wait until switch 260 settles 261 262 //set LEDs to 1011 263 digitalWrite(8, HIGH); 264 digitalWrite(9, 265 HIGH); 266 digitalWrite(10, LOW); 267 digitalWrite(11, HIGH); 268 } 269 270 271 if(buttonC == 1){ 272 delay(100); //wait until switch settles 273 274 //set 275 LEDs to 1100 276 digitalWrite(8, LOW); 277 digitalWrite(9, LOW); 278 digitalWrite(10, 279 HIGH); 280 digitalWrite(11, HIGH); 281 } 282 283 if(buttonD == 1){ 284 delay(100); 285 //wait until switch settles 286 287 //set LEDs to 1101 288 digitalWrite(8, 289 HIGH); 290 digitalWrite(9, LOW); 291 digitalWrite(10, HIGH); 292 digitalWrite(11, 293 HIGH); 294 } 295 296}
LED Bar Graph and 16-key Keypad
arduino
1//Take input from a keypad and display the binary number of the key pressed on the LED bar graph 2 3//variable declarations 4int button1 = 0; 5int button2 = 0; 6int button3 = 0; 7int buttonA = 0; 8int button4 = 0; 9int button5 = 0; 10int button6 = 0; 11int buttonB = 0; 12int button7 = 0; 13int button8 = 0; 14int button9 = 0; 15int buttonC = 0; 16int buttonAst = 0; 17int button0 = 0; 18int buttonHash = 0; 19int buttonD = 0; 20 21 22void setup() { 23 // put your setup code here, to run once: 24 //set pins 0-3 as output and 4-7 as input 25 DDRD = B00001111; 26 27 //set pins 8-11 as output 28 pinMode(8, OUTPUT); 29 pinMode(9, OUTPUT); 30 pinMode(10, OUTPUT); 31 pinMode(11, OUTPUT); 32 33} 34 35void loop() { 36 // put your main code here, to run repeatedly: 37 38 digitalWrite(0, HIGH); //set pin 0 high 39 //check if input pins go high (button pressed) 40 button1 = digitalRead(4); 41 button4 = digitalRead(5); 42 button7 = digitalRead(6); 43 buttonAst = digitalRead(7); 44 digitalWrite(0, LOW); //set pin 0 low 45 46 if(button1 == 1){ 47 delay(100); //wait until switch settles 48 49 //set LEDs to 0001 50 digitalWrite(8, HIGH); 51 digitalWrite(9, LOW); 52 digitalWrite(10, LOW); 53 digitalWrite(11, LOW); 54 } 55 56 if(button4 == 1){ 57 delay(100); //wait until switch settles 58 59 //set LEDs to 0100 60 digitalWrite(8, LOW); 61 digitalWrite(9, LOW); 62 digitalWrite(10, HIGH); 63 digitalWrite(11, LOW); 64 } 65 66 if(button7 == 1){ 67 delay(100); //wait until switch settles 68 69 //set LEDs to 0111 70 digitalWrite(8, HIGH); 71 digitalWrite(9, HIGH); 72 digitalWrite(10, HIGH); 73 digitalWrite(11, LOW); 74 } 75 76 if(buttonAst == 1){ 77 delay(100); //wait until switch settles 78 79 //set LEDs to 1110 80 digitalWrite(8, HIGH); 81 digitalWrite(9, HIGH); 82 digitalWrite(10, HIGH); 83 digitalWrite(11, LOW); 84 } 85 86 digitalWrite(1, HIGH); //set pin 1 high 87 //check if input pins go high (button pressed) 88 button2 = digitalRead(4); 89 button5 = digitalRead(5); 90 button8 = digitalRead(6); 91 button0 = digitalRead(7); 92 digitalWrite(1, LOW); //set pin 1 low 93 94 if(button2 == 1){ 95 delay(100); //wait until switch settles 96 97 //set LEDs to 0010 98 digitalWrite(8, LOW); 99 digitalWrite(9, HIGH); 100 digitalWrite(10, LOW); 101 digitalWrite(11, LOW); 102 } 103 104 if(button5 == 1){ 105 delay(100); //wait until switch settles 106 107 //set LEDs to 0101 108 digitalWrite(8, HIGH); 109 digitalWrite(9, LOW); 110 digitalWrite(10, HIGH); 111 digitalWrite(11, LOW); 112 } 113 114 if(button8 == 1){ 115 delay(100); //wait until switch settles 116 117 //set LEDs to 1000 118 digitalWrite(8, LOW); 119 digitalWrite(9, LOW); 120 digitalWrite(10, LOW); 121 digitalWrite(11, HIGH); 122 } 123 124 if(button0 == 1){ 125 delay(100); //wait until switch settles 126 127 //set LEDs to 0000 128 digitalWrite(8, LOW); 129 digitalWrite(9, LOW); 130 digitalWrite(10, LOW); 131 digitalWrite(11, LOW); 132 } 133 134 digitalWrite(2, HIGH); //set pin 2 high 135 //check if input pins go high (button pressed) 136 button3 = digitalRead(4); 137 button6 = digitalRead(5); 138 button9 = digitalRead(6); 139 buttonHash = digitalRead(7); 140 digitalWrite(2, LOW); //set pin 2 low 141 142 if(button3 == 1){ 143 delay(100); //wait until switch settles 144 145 //set LEDs to 0011 146 digitalWrite(8, HIGH); 147 digitalWrite(9, HIGH); 148 digitalWrite(10, LOW); 149 digitalWrite(11, LOW); 150 } 151 152 if(button6 == 1){ 153 delay(100); //wait until switch settles 154 155 //set LEDs to 0110 156 digitalWrite(8, LOW); 157 digitalWrite(9, HIGH); 158 digitalWrite(10, HIGH); 159 digitalWrite(11, LOW); 160 } 161 162 if(button9 == 1){ 163 delay(100); //wait until switch settles 164 165 //set LEDs to 1001 166 digitalWrite(8, HIGH); 167 digitalWrite(9, LOW); 168 digitalWrite(10, LOW); 169 digitalWrite(11, HIGH); 170 } 171 172 if(buttonHash == 1){ 173 delay(100); //wait until switch settles 174 175 //set LEDs to 1111 176 digitalWrite(8, HIGH); 177 digitalWrite(9, HIGH); 178 digitalWrite(10, HIGH); 179 digitalWrite(11, HIGH); 180 } 181 182 digitalWrite(3, HIGH); //set pin 3 high 183 //check if input pins go high (button pressed) 184 buttonA = digitalRead(4); 185 buttonB = digitalRead(5); 186 buttonC = digitalRead(6); 187 buttonD = digitalRead(7); 188 digitalWrite(3, LOW); //set pin 3 low 189 190 if(buttonA == 1){ 191 delay(100); //wait until switch settles 192 193 //set LEDs to 1010 194 digitalWrite(8, LOW); 195 digitalWrite(9, HIGH); 196 digitalWrite(10, LOW); 197 digitalWrite(11, HIGH); 198 } 199 200 if(buttonB == 1){ 201 delay(100); //wait until switch settles 202 203 //set LEDs to 1011 204 digitalWrite(8, HIGH); 205 digitalWrite(9, HIGH); 206 digitalWrite(10, LOW); 207 digitalWrite(11, HIGH); 208 } 209 210 if(buttonC == 1){ 211 delay(100); //wait until switch settles 212 213 //set LEDs to 1100 214 digitalWrite(8, LOW); 215 digitalWrite(9, LOW); 216 digitalWrite(10, HIGH); 217 digitalWrite(11, HIGH); 218 } 219 220 if(buttonD == 1){ 221 delay(100); //wait until switch settles 222 223 //set LEDs to 1101 224 digitalWrite(8, HIGH); 225 digitalWrite(9, LOW); 226 digitalWrite(10, HIGH); 227 digitalWrite(11, HIGH); 228 } 229 230}
Downloadable files
LED Bar Graph and Keypad Wiring
LED Bar Graph and Keypad Wiring

Comments
Only logged in users can leave comments