Components and supplies
Pushbutton switch 12mm
Arduino Nano R3
MAX7219 dot matrix module
Jumper wires (generic)
Breadboard (generic)
Project description
Code
Untitled file
arduino
1#include <LedControl.h> 2#include <Wire.h> 3#include <Time.h> 4#include <TimeLib.h> 5 6 7/* 8 DIN connects to pin 12 9 CLK connects to pin 10 10 CS connects to pin 11 11*/ 12 13LedControl lc = LedControl(12, 10, 11, 2); 14 15byte mm1, mm5, h, m, s; 16byte ultM = 10, ultH = 10; 17byte hPin = 7, mPin = 6; 18boolean ajustaH = true, ajustaM = true; 19 20 21void setup() { 22 lc.shutdown(0, false); // power-saving mode on startup 23 lc.setIntensity(0, 2); // Set the brightness to maximum value 24 lc.clearDisplay(0); // and clear the display 25 lc.shutdown(1, false); // power-saving mode on startup 26 lc.setIntensity(1, 2); // Set the brightness to maximum value 27 lc.clearDisplay(1); // and clear the display 28 29 30 31 32 Serial.begin(9600); 33 pinMode(hPin, INPUT_PULLUP); 34 pinMode(mPin, INPUT_PULLUP); 35} 36 37void Display() { 38 /* here is the data for the characters */ 39 byte one[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x28}; 40 byte two[8] = {0x00, 0x00, 0x00, 0x74, 0x54, 0x5C, 0x00, 0x28}; 41 byte three[8] = {0x00, 0x00, 0x00, 0x44, 0x54, 0x7C, 0x00, 0x28}; 42 byte four[8] = {0x00, 0x00, 0x00, 0x1C, 0x10, 0x78, 0x00, 0x28}; 43 byte five[8] = {0x00, 0x00, 0x00, 0x5C, 0x54, 0x74, 0x00, 0x28}; 44 byte six[8] = {0x00, 0x00, 0x00, 0x7C, 0x54, 0x74, 0x00, 0x28}; 45 byte seven[8] = {0x00, 0x00, 0x00, 0x04, 0x04, 0x7C, 0x00, 0x28}; 46 byte eight[8] = {0x00, 0x00, 0x00, 0x7C, 0x54, 0x7C, 0x00, 0x28}; 47 byte nine[8] = {0x00, 0x00, 0x00, 0x5C, 0x54, 0x7C, 0x00, 0x28}; 48 byte ten[8] = {0x00, 0x7C, 0x00, 0x7C, 0x44, 0x7C, 0x00, 0x28}; 49 byte eleven[8] = {0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x28}; 50 byte twelve[8] = {0x00, 0x7C, 0x00, 0x74, 0x54, 0x5C, 0x00, 0x28}; 51 52 // 0-9 53 byte zero2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x7C, 0x44, 0x7C}; //00 54 byte one2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x00, 0x7C, 0x00}; //01 55 byte two2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x74, 0x54, 0x5C}; //02 56 byte three2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x44, 0x54, 0x7C}; //03 57 byte four2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x1C, 0x10, 0x78}; //04 58 byte five2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x5C, 0x54, 0x74}; //05 59 byte six2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x7C, 0x54, 0x74}; //06 60 byte seven2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x04, 0x04, 0x7C}; //07 61 byte eight2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x7C, 0x54, 0x7C}; //08 62 byte nine2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x5C, 0x54, 0x7C}; //09 63 // 10-19 64 byte ten2[8] = {0x00, 0x7C, 0x00, 0x7C, 0x44, 0x7C, 0x00, 0x00}; //10 65 byte eleven2[8] = {0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00}; //11 66 byte twelve2[8] = {0x00, 0x7C, 0x00, 0x74, 0x54, 0x5C, 0x00, 0x00}; //12 67 byte thirteen2[8] = {0x00, 0x7C, 0x00, 0x44, 0x54, 0x7C, 0x00, 0x00}; //13 68 byte fourteen2[8] = {0x00, 0x7C, 0x00, 0x1C, 0x10, 0x78, 0x00, 0x00}; //14 69 byte fifteen2[8] = {0x00, 0x7C, 0x00, 0x5C, 0x54, 0x74, 0x00, 0x00}; //15 70 byte sixteen2[8] = {0x00, 0x7C, 0x00, 0x7C, 0x54, 0x74, 0x00, 0x00}; //16 71 byte seventeen2[8] = {0x00, 0x7C, 0x00, 0x04, 0x04, 0x7C, 0x00, 0x00}; //17 72 byte eighteen2[8] = {0x00, 0x7C, 0x00, 0x7C, 0x54, 0x7C, 0x00, 0x00}; //18 73 byte nineteen2[8] = {0x00, 0x7C, 0x00, 0x5C, 0x54, 0x7C, 0x00, 0x00}; //19 74 75 // 20-29 76 byte twenty2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x7C, 0x44, 0x7C}; //20 77 byte twentyone2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x00, 0x7C, 0x00}; //21 78 byte twentytwo2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x74, 0x54, 0x5C}; //22 79 byte twentythree2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x44, 0x54, 0x7C}; //23 80 byte twentyfour2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x1C, 0x10, 0x78}; //24 81 byte twentyfive2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x5C, 0x54, 0x74}; //25 82 byte twentysix2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x7C, 0x54, 0x74}; //26 83 byte twentyseven2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x7C, 0x54, 0x74}; //27 84 byte twentyeight2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x7C, 0x54, 0x7C}; //28 85 byte twentynine2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x5C, 0x54, 0x7C}; //29 86 87 // 30-39 88 byte thirty2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x7C, 0x44, 0x7C}; //30 89 byte thirtyone2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x00, 0x7C, 0x00}; //31 90 byte thirtytwo2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x74, 0x54, 0x5C}; //32 91 byte thirtythree2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x44, 0x54, 0x7C}; //33 92 byte thirtyfour2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x1C, 0x10, 0x78}; //34 93 byte thirtyfive2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x5C, 0x54, 0x74}; //35 94 byte thirtysix2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x7C, 0x54, 0x74}; //36 95 byte thirtyseven2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x04, 0x04, 0x7C}; //37 96 byte thirtyeight2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x7C, 0x54, 0x7C}; //38 97 byte thirtynine2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x5C, 0x54, 0x7C}; //39 98 99 100 // 40-49 101 byte forty2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x7C, 0x44, 0x7C}; //40 102 byte fortyone2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x00, 0x7C, 0x00}; //41 103 byte fortytwo2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x74, 0x54, 0x5C}; //42 104 byte fortythree2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x44, 0x54, 0x7C}; //43 105 byte fortyfour2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x1C, 0x10, 0x78}; //44 106 byte fortyfive2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x5C, 0x54, 0x74}; //45 107 byte fortysix2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x7C, 0x54, 0x74}; //46 108 byte fortyseven2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x04, 0x04, 0x7C}; //47 109 byte fortyeight2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x7C, 0x54, 0x7C}; //48 110 byte fortynine2[8] = {0x00, 0x1C, 0x10, 0x78, 0x00, 0x5C, 0x54, 0x7C}; //49 111 112 // 50-59 113 byte fifty2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x7C, 0x44, 0x7C}; //50 114 byte fiftyone2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x00, 0x7C, 0x00}; //51 115 byte fiftytwo2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x74, 0x54, 0x5C}; //52 116 byte fiftythree2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x44, 0x54, 0x7C}; //53 117 byte fiftyfour2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x1C, 0x10, 0x78}; //54 118 byte fiftyfive2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x5C, 0x54, 0x74}; //55 119 byte fiftysix2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x7C, 0x54, 0x74}; //56 120 byte fiftyseven2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x04, 0x04, 0x7C}; //57 121 byte fiftyeight2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x7C, 0x54, 0x7C}; //58 122 byte fiftynine2[8] = {0x00, 0x5C, 0x54, 0x74, 0x00, 0x5C, 0x54, 0x7C}; //59 123 124 // Setup of Hours & Minutes 125 ajustaH = digitalRead(hPin); 126 ajustaM = digitalRead(mPin); 127 128 if (!ajustaH) { 129 adjustTime(3600); 130 } 131 132 if (!ajustaM) { 133 adjustTime(60); 134 } 135 136 h = hour(); 137 m = minute(); 138 Serial.print (hour()); 139 Serial.print(":"); 140 Serial.print (minute()); 141 Serial.print(":"); 142 Serial.print (second()); 143 Serial.println(); 144 145 delay(000); 146 147 if ( h > 12) 148 { 149 h = (h - 12); 150 } 151 152 153 154 155 156 // now set hour 157 if (h == 1) 158 { 159 for (int n = 0; n < 8; n++) { 160 lc.setRow(0, n, one[n]); 161 } 162 163 } 164 165 if (h == 2) 166 { 167 for (int n = 0; n < 8; n++) { 168 lc.setRow(0, n, two[n]); 169 } 170 } 171 if (h == 3) 172 { 173 for (int n = 0; n < 8; n++) { 174 lc.setRow(0, n, three[n]); 175 } 176 177 } 178 179 if (h == 4) 180 { 181 for (int n = 0; n < 8; n++) { 182 lc.setRow(0, n, four[n]); 183 } 184 185 } 186 if (h == 5) 187 { 188 for (int n = 0; n < 8; n++) { 189 lc.setRow(0, n, five[n]); 190 } 191 192 } 193 194 if (h == 6) 195 { 196 for (int n = 0; n < 8; n++) { 197 lc.setRow(0, n, six[n]); 198 } 199 200 } 201 202 if (h == 7) 203 { 204 for (int n = 0; n < 8; n++) { 205 lc.setRow(0, n, seven[n]); 206 } 207 208 } 209 210 if (h == 8) 211 { 212 for (int n = 0; n < 8; n++) { 213 lc.setRow(0, n, eight[n]); 214 } 215 216 } 217 if (h == 9) 218 { 219 for (int n = 0; n < 8; n++) { 220 lc.setRow(0, n, nine[n]); 221 } 222 223 } 224 225 if (h == 10) 226 { 227 for (int n = 0; n < 8; n++) { 228 lc.setRow(0, n, ten[n]); 229 } 230 231 } 232 233 if (h == 11) 234 { 235 for (int n = 0; n < 8; n++) { 236 lc.setRow(0, n, eleven[n]); 237 } 238 239 } 240 241 if (h == 12) 242 { 243 for (int n = 0; n < 8; n++) { 244 lc.setRow(0, n, twelve[n]); 245 } 246 247 } 248 249 250 // now set minute 251 if (m == 0) 252 { 253 for (int n = 0; n < 8; n++) { 254 lc.setRow(1, n, zero2[n]); 255 } 256 257 } 258 259 if (m == 1) 260 { 261 for (int n = 0; n < 8; n++) { 262 lc.setRow(1, n, one2[n]); 263 } 264 265 } 266 267 if (m == 2) 268 { 269 for (int n = 0; n < 8; n++) { 270 lc.setRow(1, n, two2[n]); 271 } 272 273 } 274 275 if (m == 3) 276 { 277 for (int n = 0; n < 8; n++) { 278 lc.setRow(1, n, three2[n]); 279 } 280 281 } 282 283 if (m == 4) 284 { 285 for (int n = 0; n < 8; n++) { 286 lc.setRow(1, n, four2[n]); 287 } 288 289 } 290 291 if (m == 5) 292 { 293 for (int n = 0; n < 8; n++) { 294 lc.setRow(1, n, five2[n]); 295 } 296 297 } 298 299 if (m == 6) 300 { 301 for (int n = 0; n < 8; n++) { 302 lc.setRow(1, n, six2[n]); 303 } 304 305 } 306 307 if (m == 7) 308 { 309 for (int n = 0; n < 8; n++) { 310 lc.setRow(1, n, seven2[n]); 311 } 312 313 } 314 315 if (m == 8) 316 { 317 for (int n = 0; n < 8; n++) { 318 lc.setRow(1, n, eight2[n]); 319 } 320 321 } 322 if (m == 9) 323 { 324 for (int n = 0; n < 8; n++) { 325 lc.setRow(1, n, nine2[n]); 326 } 327 328 } 329 330 if (m == 10) 331 { 332 for (int n = 0; n < 8; n++) { 333 lc.setRow(1, n, ten2[n]); 334 } 335 336 } 337 338 if (m == 11) 339 { 340 for (int n = 0; n < 8; n++) { 341 lc.setRow(1, n, eleven2[n]); 342 } 343 344 } 345 346 if (m == 12) 347 { 348 for (int n = 0; n < 8; n++) { 349 lc.setRow(1, n, twelve2[n]); 350 } 351 352 } 353 354 if (m == 13) 355 { 356 for (int n = 0; n < 8; n++) { 357 lc.setRow(1, n, thirteen2[n]); 358 } 359 360 } 361 362 if (m == 14) 363 { 364 for (int n = 0; n < 8; n++) { 365 lc.setRow(1, n, fourteen2[n]); 366 } 367 368 } 369 if (m == 15) 370 { 371 for (int n = 0; n < 8; n++) { 372 lc.setRow(1, n, fifteen2[n]); 373 } 374 375 } 376 if (m == 16) 377 { 378 for (int n = 0; n < 8; n++) { 379 lc.setRow(1, n, sixteen2[n]); 380 } 381 382 } 383 384 if (m == 17) 385 { 386 for (int n = 0; n < 8; n++) { 387 lc.setRow(1, n, seventeen2[n]); 388 } 389 390 } 391 392 if (m == 18) 393 { 394 for (int n = 0; n < 8; n++) { 395 lc.setRow(1, n, eighteen2[n]); 396 } 397 398 } 399 400 if (m == 19) 401 { 402 for (int n = 0; n < 8; n++) { 403 lc.setRow(1, n, nineteen2[n]); 404 } 405 406 } 407 408 if (m == 20) 409 { 410 for (int n = 0; n < 8; n++) { 411 lc.setRow(1, n, twenty2[n]); 412 } 413 414 } 415 416 if (m == 21) 417 { 418 for (int n = 0; n < 8; n++) { 419 lc.setRow(1, n, twentyone2[n]); 420 } 421 422 } 423 424 if (m == 22) 425 { 426 for (int n = 0; n < 8; n++) { 427 lc.setRow(1, n, twentytwo2[n]); 428 } 429 430 } 431 432 if (m == 23) 433 { 434 for (int n = 0; n < 8; n++) { 435 lc.setRow(1, n, twentythree2[n]); 436 } 437 438 } 439 440 if (m == 24) 441 { 442 for (int n = 0; n < 8; n++) { 443 lc.setRow(1, n, twentyfour2[n]); 444 } 445 446 } 447 448 if (m == 25) 449 { 450 for (int n = 0; n < 8; n++) { 451 lc.setRow(1, n, twentyfive2[n]); 452 } 453 } 454 455 if (m == 26) 456 { 457 for (int n = 0; n < 8; n++) { 458 lc.setRow(1, n, twentysix2[n]); 459 } 460 461 } 462 463 if (m == 27) 464 { 465 for (int n = 0; n < 8; n++) { 466 lc.setRow(1, n, twentyseven2[n]); 467 } 468 469 } 470 471 if (m == 28) 472 { 473 for (int n = 0; n < 8; n++) { 474 lc.setRow(1, n, twentyeight2[n]); 475 } 476 477 } 478 479 if (m == 29) 480 { 481 for (int n = 0; n < 8; n++) { 482 lc.setRow(1, n, twentynine2[n]); 483 } 484 485 } 486 487 if (m == 30) 488 { 489 for (int n = 0; n < 8; n++) { 490 lc.setRow(1, n, thirty2[n]); 491 } 492 493 } 494 495 if (m == 31) 496 { 497 for (int n = 0; n < 8; n++) { 498 lc.setRow(1, n, thirtyone2[n]); 499 } 500 501 } 502 503 if (m == 32) 504 { 505 for (int n = 0; n < 8; n++) { 506 lc.setRow(1, n, thirtytwo2[n]); 507 } 508 509 } 510 511 if (m == 33) 512 { 513 for (int n = 0; n < 8; n++) { 514 lc.setRow(1, n, thirtythree2[n]); 515 } 516 517 } 518 519 if (m == 34) 520 { 521 for (int n = 0; n < 8; n++) { 522 lc.setRow(1, n, thirtyfour2[n]); 523 } 524 525 } 526 527 if (m == 35) 528 { 529 for (int n = 0; n < 8; n++) { 530 lc.setRow(1, n, thirtyfive2[n]); 531 } 532 533 } 534 535 if (m == 36) 536 { 537 for (int n = 0; n < 8; n++) { 538 lc.setRow(1, n, thirtysix2[n]); 539 } 540 541 } 542 543 if (m == 37) 544 { 545 for (int n = 0; n < 8; n++) { 546 lc.setRow(1, n, thirtyseven2[n]); 547 } 548 549 } 550 551 if (m == 38) 552 { 553 for (int n = 0; n < 8; n++) { 554 lc.setRow(1, n, thirtyeight2[n]); 555 } 556 557 } 558 559 if (m == 39) 560 { 561 for (int n = 0; n < 8; n++) { 562 lc.setRow(1, n, thirtynine2[n]); 563 } 564 565 } 566 567 if (m == 40) 568 { 569 for (int n = 0; n < 8; n++) { 570 lc.setRow(1, n, forty2[n]); 571 } 572 573 } 574 575 if (m == 41) 576 { 577 for (int n = 0; n < 8; n++) { 578 lc.setRow(1, n, fortyone2[n]); 579 } 580 581 } 582 583 if (m == 42) 584 { 585 for (int n = 0; n < 8; n++) { 586 lc.setRow(1, n, fortytwo2[n]); 587 } 588 589 } 590 591 if (m == 43) 592 { 593 for (int n = 0; n < 8; n++) { 594 lc.setRow(1, n, fortythree2[n]); 595 } 596 597 } 598 599 if (m == 44) 600 { 601 for (int n = 0; n < 8; n++) { 602 lc.setRow(1, n, fortyfour2[n]); 603 } 604 605 } 606 607 if (m == 45) 608 { 609 for (int n = 0; n < 8; n++) { 610 lc.setRow(1, n, fortyfive2[n]); 611 } 612 613 } 614 615 if (m == 46) 616 { 617 for (int n = 0; n < 8; n++) { 618 lc.setRow(1, n, fortysix2[n]); 619 } 620 621 } 622 623 if (m == 47) 624 { 625 for (int n = 0; n < 8; n++) { 626 lc.setRow(1, n, fortyseven2[n]); 627 } 628 629 } 630 631 if (m == 48) 632 { 633 for (int n = 0; n < 8; n++) { 634 lc.setRow(1, n, fortyeight2[n]); 635 } 636 637 } 638 639 if (m == 49) 640 { 641 for (int n = 0; n < 8; n++) { 642 lc.setRow(1, n, fortynine2[n]); 643 } 644 645 } 646 647 if (m == 50) 648 { 649 for (int n = 0; n < 8; n++) { 650 lc.setRow(1, n, fifty2[n]); 651 } 652 653 } 654 655 if (m == 51) 656 { 657 for (int n = 0; n < 8; n++) { 658 lc.setRow(1, n, fiftyone2[n]); 659 } 660 } 661 662 if (m == 52) 663 { 664 for (int n = 0; n < 8; n++) { 665 lc.setRow(1, n, fiftytwo2[n]); 666 } 667 668 } 669 670 if (m == 53) 671 { 672 for (int n = 0; n < 8; n++) { 673 lc.setRow(1, n, fiftythree2[n]); 674 } 675 676 } 677 if (m == 54) 678 { 679 for (int n = 0; n < 8; n++) { 680 lc.setRow(1, n, fiftyfour2[n]); 681 } 682 683 } 684 685 if (m == 55) 686 { 687 for (int n = 0; n < 8; n++) { 688 lc.setRow(1, n, fiftyfive2[n]); 689 } 690 691 } 692 693 if (m == 56) 694 { 695 for (int n = 0; n < 8; n++) { 696 lc.setRow(1, n, fiftysix2[n]); 697 } 698 699 } 700 701 if (m == 57) 702 { 703 for (int n = 0; n < 8; n++) { 704 lc.setRow(1, n, fiftyseven2[n]); 705 } 706 707 } 708 if (m == 58) 709 { 710 for (int n = 0; n < 8; n++) { 711 lc.setRow(1, n, fiftyeight2[n]); 712 } 713 714 } 715 716 if (m == 59) 717 { 718 for (int n = 0; n < 8; n++) { 719 lc.setRow(1, n, fiftynine2[n]); 720 } 721 722 } 723} 724void loop() { 725 726 Display(); 727 delay(1000); 728 729} 730 731 732 733
Untitled file
arduino
1#include <LedControl.h> 2#include <Wire.h> 3#include <Time.h> 4#include 5 <TimeLib.h> 6 7 8/* 9 DIN connects to pin 12 10 CLK connects to pin 10 11 12 CS connects to pin 11 13*/ 14 15LedControl lc = LedControl(12, 10, 11, 2); 16 17byte 18 mm1, mm5, h, m, s; 19byte ultM = 10, ultH = 10; 20byte hPin = 7, mPin = 6; 21boolean 22 ajustaH = true, ajustaM = true; 23 24 25void setup() { 26 lc.shutdown(0, false); 27 // power-saving mode on startup 28 lc.setIntensity(0, 2); // Set the 29 brightness to maximum value 30 lc.clearDisplay(0); // and clear the display 31 32 lc.shutdown(1, false); // power-saving mode on startup 33 lc.setIntensity(1, 34 2); // Set the brightness to maximum value 35 lc.clearDisplay(1); // 36 and clear the display 37 38 39 40 41 Serial.begin(9600); 42 pinMode(hPin, 43 INPUT_PULLUP); 44 pinMode(mPin, INPUT_PULLUP); 45} 46 47void Display() { 48 49 /* here is the data for the characters */ 50 byte one[8] = {0x00, 0x00, 0x00, 51 0x00, 0x00, 0x7C, 0x00, 0x28}; 52 byte two[8] = {0x00, 0x00, 0x00, 0x74, 0x54, 53 0x5C, 0x00, 0x28}; 54 byte three[8] = {0x00, 0x00, 0x00, 0x44, 0x54, 0x7C, 0x00, 55 0x28}; 56 byte four[8] = {0x00, 0x00, 0x00, 0x1C, 0x10, 0x78, 0x00, 0x28}; 57 58 byte five[8] = {0x00, 0x00, 0x00, 0x5C, 0x54, 0x74, 0x00, 0x28}; 59 byte six[8] 60 = {0x00, 0x00, 0x00, 0x7C, 0x54, 0x74, 0x00, 0x28}; 61 byte seven[8] = {0x00, 62 0x00, 0x00, 0x04, 0x04, 0x7C, 0x00, 0x28}; 63 byte eight[8] = {0x00, 0x00, 0x00, 64 0x7C, 0x54, 0x7C, 0x00, 0x28}; 65 byte nine[8] = {0x00, 0x00, 0x00, 0x5C, 0x54, 66 0x7C, 0x00, 0x28}; 67 byte ten[8] = {0x00, 0x7C, 0x00, 0x7C, 0x44, 0x7C, 0x00, 68 0x28}; 69 byte eleven[8] = {0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x28}; 70 71 byte twelve[8] = {0x00, 0x7C, 0x00, 0x74, 0x54, 0x5C, 0x00, 0x28}; 72 73 // 74 0-9 75 byte zero2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x7C, 0x44, 0x7C}; //00 76 77 byte one2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x00, 0x7C, 0x00}; //01 78 byte 79 two2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x74, 0x54, 0x5C}; //02 80 byte three2[8] 81 = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x44, 0x54, 0x7C}; //03 82 byte four2[8] = {0x00, 83 0x7C, 0x44, 0x7C, 0x00, 0x1C, 0x10, 0x78}; //04 84 byte five2[8] = {0x00, 0x7C, 85 0x44, 0x7C, 0x00, 0x5C, 0x54, 0x74}; //05 86 byte six2[8] = {0x00, 0x7C, 0x44, 87 0x7C, 0x00, 0x7C, 0x54, 0x74}; //06 88 byte seven2[8] = {0x00, 0x7C, 0x44, 0x7C, 89 0x00, 0x04, 0x04, 0x7C}; //07 90 byte eight2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 91 0x7C, 0x54, 0x7C}; //08 92 byte nine2[8] = {0x00, 0x7C, 0x44, 0x7C, 0x00, 0x5C, 93 0x54, 0x7C}; //09 94 // 10-19 95 byte ten2[8] = {0x00, 0x7C, 0x00, 0x7C, 0x44, 96 0x7C, 0x00, 0x00}; //10 97 byte eleven2[8] = {0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 98 0x00, 0x00}; //11 99 byte twelve2[8] = {0x00, 0x7C, 0x00, 0x74, 0x54, 0x5C, 0x00, 100 0x00}; //12 101 byte thirteen2[8] = {0x00, 0x7C, 0x00, 0x44, 0x54, 0x7C, 0x00, 102 0x00}; //13 103 byte fourteen2[8] = {0x00, 0x7C, 0x00, 0x1C, 0x10, 0x78, 0x00, 104 0x00}; //14 105 byte fifteen2[8] = {0x00, 0x7C, 0x00, 0x5C, 0x54, 0x74, 0x00, 0x00}; 106 //15 107 byte sixteen2[8] = {0x00, 0x7C, 0x00, 0x7C, 0x54, 0x74, 0x00, 0x00}; //16 108 109 byte seventeen2[8] = {0x00, 0x7C, 0x00, 0x04, 0x04, 0x7C, 0x00, 0x00}; //17 110 111 byte eighteen2[8] = {0x00, 0x7C, 0x00, 0x7C, 0x54, 0x7C, 0x00, 0x00}; //18 112 113 byte nineteen2[8] = {0x00, 0x7C, 0x00, 0x5C, 0x54, 0x7C, 0x00, 0x00}; //19 114 115 116 // 20-29 117 byte twenty2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x7C, 0x44, 0x7C}; 118 //20 119 byte twentyone2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x00, 0x7C, 0x00}; 120 //21 121 byte twentytwo2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x74, 0x54, 0x5C}; 122 //22 123 byte twentythree2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x44, 0x54, 0x7C}; 124 //23 125 byte twentyfour2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x1C, 0x10, 0x78}; 126 //24 127 byte twentyfive2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x5C, 0x54, 0x74}; 128 //25 129 byte twentysix2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x7C, 0x54, 0x74}; 130 //26 131 byte twentyseven2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x7C, 0x54, 0x74}; 132 //27 133 byte twentyeight2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x7C, 0x54, 0x7C}; 134 //28 135 byte twentynine2[8] = {0x00, 0x74, 0x54, 0x5C, 0x00, 0x5C, 0x54, 0x7C}; 136 //29 137 138 // 30-39 139 byte thirty2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x7C, 140 0x44, 0x7C}; //30 141 byte thirtyone2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x00, 142 0x7C, 0x00}; //31 143 byte thirtytwo2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x74, 144 0x54, 0x5C}; //32 145 byte thirtythree2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x44, 146 0x54, 0x7C}; //33 147 byte thirtyfour2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x1C, 148 0x10, 0x78}; //34 149 byte thirtyfive2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x5C, 150 0x54, 0x74}; //35 151 byte thirtysix2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x7C, 152 0x54, 0x74}; //36 153 byte thirtyseven2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x04, 154 0x04, 0x7C}; //37 155 byte thirtyeight2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x7C, 156 0x54, 0x7C}; //38 157 byte thirtynine2[8] = {0x00, 0x44, 0x54, 0x7C, 0x00, 0x5C, 158 0x54, 0x7C}; //39 159 160 161 // 40-49 162 byte forty2[8] = {0x00, 0x1C, 0x10, 163 0x78, 0x00, 0x7C, 0x44, 0x7C}; //40 164 byte fortyone2[8] = {0x00, 0x1C, 0x10, 165 0x78, 0x00, 0x00, 0x7C, 0x00}; //41 166 byte fortytwo2[8] = {0x00, 0x1C, 0x10, 167 0x78, 0x00, 0x74, 0x54, 0x5C}; //42 168 byte fortythree2[8] = {0x00, 0x1C, 0x10, 169 0x78, 0x00, 0x44, 0x54, 0x7C}; //43 170 byte fortyfour2[8] = {0x00, 0x1C, 0x10, 171 0x78, 0x00, 0x1C, 0x10, 0x78}; //44 172 byte fortyfive2[8] = {0x00, 0x1C, 0x10, 173 0x78, 0x00, 0x5C, 0x54, 0x74}; //45 174 byte fortysix2[8] = {0x00, 0x1C, 0x10, 175 0x78, 0x00, 0x7C, 0x54, 0x74}; //46 176 byte fortyseven2[8] = {0x00, 0x1C, 0x10, 177 0x78, 0x00, 0x04, 0x04, 0x7C}; //47 178 byte fortyeight2[8] = {0x00, 0x1C, 0x10, 179 0x78, 0x00, 0x7C, 0x54, 0x7C}; //48 180 byte fortynine2[8] = {0x00, 0x1C, 0x10, 181 0x78, 0x00, 0x5C, 0x54, 0x7C}; //49 182 183 // 50-59 184 byte fifty2[8] = {0x00, 185 0x5C, 0x54, 0x74, 0x00, 0x7C, 0x44, 0x7C}; //50 186 byte fiftyone2[8] = {0x00, 187 0x5C, 0x54, 0x74, 0x00, 0x00, 0x7C, 0x00}; //51 188 byte fiftytwo2[8] = {0x00, 189 0x5C, 0x54, 0x74, 0x00, 0x74, 0x54, 0x5C}; //52 190 byte fiftythree2[8] = {0x00, 191 0x5C, 0x54, 0x74, 0x00, 0x44, 0x54, 0x7C}; //53 192 byte fiftyfour2[8] = {0x00, 193 0x5C, 0x54, 0x74, 0x00, 0x1C, 0x10, 0x78}; //54 194 byte fiftyfive2[8] = {0x00, 195 0x5C, 0x54, 0x74, 0x00, 0x5C, 0x54, 0x74}; //55 196 byte fiftysix2[8] = {0x00, 197 0x5C, 0x54, 0x74, 0x00, 0x7C, 0x54, 0x74}; //56 198 byte fiftyseven2[8] = {0x00, 199 0x5C, 0x54, 0x74, 0x00, 0x04, 0x04, 0x7C}; //57 200 byte fiftyeight2[8] = {0x00, 201 0x5C, 0x54, 0x74, 0x00, 0x7C, 0x54, 0x7C}; //58 202 byte fiftynine2[8] = {0x00, 203 0x5C, 0x54, 0x74, 0x00, 0x5C, 0x54, 0x7C}; //59 204 205 // Setup of Hours & Minutes 206 207 ajustaH = digitalRead(hPin); 208 ajustaM = digitalRead(mPin); 209 210 if (!ajustaH) 211 { 212 adjustTime(3600); 213 } 214 215 if (!ajustaM) { 216 adjustTime(60); 217 218 } 219 220 h = hour(); 221 m = minute(); 222 Serial.print (hour()); 223 Serial.print(":"); 224 225 Serial.print (minute()); 226 Serial.print(":"); 227 Serial.print (second()); 228 229 Serial.println(); 230 231 delay(000); 232 233 if ( h > 12) 234 { 235 h = 236 (h - 12); 237 } 238 239 240 241 242 243 // now set hour 244 if (h == 1) 245 { 246 247 for (int n = 0; n < 8; n++) { 248 lc.setRow(0, n, one[n]); 249 } 250 251 252 } 253 254 if (h == 2) 255 { 256 for (int n = 0; n < 8; n++) { 257 lc.setRow(0, 258 n, two[n]); 259 } 260 } 261 if (h == 3) 262 { 263 for (int n = 0; n < 8; 264 n++) { 265 lc.setRow(0, n, three[n]); 266 } 267 268 } 269 270 if (h == 271 4) 272 { 273 for (int n = 0; n < 8; n++) { 274 lc.setRow(0, n, four[n]); 275 276 } 277 278 } 279 if (h == 5) 280 { 281 for (int n = 0; n < 8; n++) { 282 283 lc.setRow(0, n, five[n]); 284 } 285 286 } 287 288 if (h == 6) 289 { 290 291 for (int n = 0; n < 8; n++) { 292 lc.setRow(0, n, six[n]); 293 } 294 295 296 } 297 298 if (h == 7) 299 { 300 for (int n = 0; n < 8; n++) { 301 lc.setRow(0, 302 n, seven[n]); 303 } 304 305 } 306 307 if (h == 8) 308 { 309 for (int n 310 = 0; n < 8; n++) { 311 lc.setRow(0, n, eight[n]); 312 } 313 314 } 315 if 316 (h == 9) 317 { 318 for (int n = 0; n < 8; n++) { 319 lc.setRow(0, n, nine[n]); 320 321 } 322 323 } 324 325 if (h == 10) 326 { 327 for (int n = 0; n < 8; n++) 328 { 329 lc.setRow(0, n, ten[n]); 330 } 331 332 } 333 334 if (h == 11) 335 336 { 337 for (int n = 0; n < 8; n++) { 338 lc.setRow(0, n, eleven[n]); 339 340 } 341 342 } 343 344 if (h == 12) 345 { 346 for (int n = 0; n < 8; n++) 347 { 348 lc.setRow(0, n, twelve[n]); 349 } 350 351 } 352 353 354 // now set 355 minute 356 if (m == 0) 357 { 358 for (int n = 0; n < 8; n++) { 359 lc.setRow(1, 360 n, zero2[n]); 361 } 362 363 } 364 365 if (m == 1) 366 { 367 for (int n 368 = 0; n < 8; n++) { 369 lc.setRow(1, n, one2[n]); 370 } 371 372 } 373 374 375 if (m == 2) 376 { 377 for (int n = 0; n < 8; n++) { 378 lc.setRow(1, 379 n, two2[n]); 380 } 381 382 } 383 384 if (m == 3) 385 { 386 for (int n = 387 0; n < 8; n++) { 388 lc.setRow(1, n, three2[n]); 389 } 390 391 } 392 393 394 if (m == 4) 395 { 396 for (int n = 0; n < 8; n++) { 397 lc.setRow(1, 398 n, four2[n]); 399 } 400 401 } 402 403 if (m == 5) 404 { 405 for (int n 406 = 0; n < 8; n++) { 407 lc.setRow(1, n, five2[n]); 408 } 409 410 } 411 412 413 if (m == 6) 414 { 415 for (int n = 0; n < 8; n++) { 416 lc.setRow(1, 417 n, six2[n]); 418 } 419 420 } 421 422 if (m == 7) 423 { 424 for (int n = 425 0; n < 8; n++) { 426 lc.setRow(1, n, seven2[n]); 427 } 428 429 } 430 431 432 if (m == 8) 433 { 434 for (int n = 0; n < 8; n++) { 435 lc.setRow(1, 436 n, eight2[n]); 437 } 438 439 } 440 if (m == 9) 441 { 442 for (int n = 0; 443 n < 8; n++) { 444 lc.setRow(1, n, nine2[n]); 445 } 446 447 } 448 449 if 450 (m == 10) 451 { 452 for (int n = 0; n < 8; n++) { 453 lc.setRow(1, n, ten2[n]); 454 455 } 456 457 } 458 459 if (m == 11) 460 { 461 for (int n = 0; n < 8; n++) 462 { 463 lc.setRow(1, n, eleven2[n]); 464 } 465 466 } 467 468 if (m == 12) 469 470 { 471 for (int n = 0; n < 8; n++) { 472 lc.setRow(1, n, twelve2[n]); 473 474 } 475 476 } 477 478 if (m == 13) 479 { 480 for (int n = 0; n < 8; n++) 481 { 482 lc.setRow(1, n, thirteen2[n]); 483 } 484 485 } 486 487 if (m == 488 14) 489 { 490 for (int n = 0; n < 8; n++) { 491 lc.setRow(1, n, fourteen2[n]); 492 493 } 494 495 } 496 if (m == 15) 497 { 498 for (int n = 0; n < 8; n++) { 499 500 lc.setRow(1, n, fifteen2[n]); 501 } 502 503 } 504 if (m == 16) 505 { 506 507 for (int n = 0; n < 8; n++) { 508 lc.setRow(1, n, sixteen2[n]); 509 } 510 511 512 } 513 514 if (m == 17) 515 { 516 for (int n = 0; n < 8; n++) { 517 lc.setRow(1, 518 n, seventeen2[n]); 519 } 520 521 } 522 523 if (m == 18) 524 { 525 for (int 526 n = 0; n < 8; n++) { 527 lc.setRow(1, n, eighteen2[n]); 528 } 529 530 } 531 532 533 if (m == 19) 534 { 535 for (int n = 0; n < 8; n++) { 536 lc.setRow(1, 537 n, nineteen2[n]); 538 } 539 540 } 541 542 if (m == 20) 543 { 544 for (int 545 n = 0; n < 8; n++) { 546 lc.setRow(1, n, twenty2[n]); 547 } 548 549 } 550 551 552 if (m == 21) 553 { 554 for (int n = 0; n < 8; n++) { 555 lc.setRow(1, 556 n, twentyone2[n]); 557 } 558 559 } 560 561 if (m == 22) 562 { 563 for (int 564 n = 0; n < 8; n++) { 565 lc.setRow(1, n, twentytwo2[n]); 566 } 567 568 } 569 570 571 if (m == 23) 572 { 573 for (int n = 0; n < 8; n++) { 574 lc.setRow(1, 575 n, twentythree2[n]); 576 } 577 578 } 579 580 if (m == 24) 581 { 582 for 583 (int n = 0; n < 8; n++) { 584 lc.setRow(1, n, twentyfour2[n]); 585 } 586 587 588 } 589 590 if (m == 25) 591 { 592 for (int n = 0; n < 8; n++) { 593 lc.setRow(1, 594 n, twentyfive2[n]); 595 } 596 } 597 598 if (m == 26) 599 { 600 for (int 601 n = 0; n < 8; n++) { 602 lc.setRow(1, n, twentysix2[n]); 603 } 604 605 } 606 607 608 if (m == 27) 609 { 610 for (int n = 0; n < 8; n++) { 611 lc.setRow(1, 612 n, twentyseven2[n]); 613 } 614 615 } 616 617 if (m == 28) 618 { 619 for 620 (int n = 0; n < 8; n++) { 621 lc.setRow(1, n, twentyeight2[n]); 622 } 623 624 625 } 626 627 if (m == 29) 628 { 629 for (int n = 0; n < 8; n++) { 630 lc.setRow(1, 631 n, twentynine2[n]); 632 } 633 634 } 635 636 if (m == 30) 637 { 638 for 639 (int n = 0; n < 8; n++) { 640 lc.setRow(1, n, thirty2[n]); 641 } 642 643 644 } 645 646 if (m == 31) 647 { 648 for (int n = 0; n < 8; n++) { 649 lc.setRow(1, 650 n, thirtyone2[n]); 651 } 652 653 } 654 655 if (m == 32) 656 { 657 for (int 658 n = 0; n < 8; n++) { 659 lc.setRow(1, n, thirtytwo2[n]); 660 } 661 662 } 663 664 665 if (m == 33) 666 { 667 for (int n = 0; n < 8; n++) { 668 lc.setRow(1, 669 n, thirtythree2[n]); 670 } 671 672 } 673 674 if (m == 34) 675 { 676 for 677 (int n = 0; n < 8; n++) { 678 lc.setRow(1, n, thirtyfour2[n]); 679 } 680 681 682 } 683 684 if (m == 35) 685 { 686 for (int n = 0; n < 8; n++) { 687 lc.setRow(1, 688 n, thirtyfive2[n]); 689 } 690 691 } 692 693 if (m == 36) 694 { 695 for 696 (int n = 0; n < 8; n++) { 697 lc.setRow(1, n, thirtysix2[n]); 698 } 699 700 701 } 702 703 if (m == 37) 704 { 705 for (int n = 0; n < 8; n++) { 706 lc.setRow(1, 707 n, thirtyseven2[n]); 708 } 709 710 } 711 712 if (m == 38) 713 { 714 for 715 (int n = 0; n < 8; n++) { 716 lc.setRow(1, n, thirtyeight2[n]); 717 } 718 719 720 } 721 722 if (m == 39) 723 { 724 for (int n = 0; n < 8; n++) { 725 lc.setRow(1, 726 n, thirtynine2[n]); 727 } 728 729 } 730 731 if (m == 40) 732 { 733 for 734 (int n = 0; n < 8; n++) { 735 lc.setRow(1, n, forty2[n]); 736 } 737 738 739 } 740 741 if (m == 41) 742 { 743 for (int n = 0; n < 8; n++) { 744 lc.setRow(1, 745 n, fortyone2[n]); 746 } 747 748 } 749 750 if (m == 42) 751 { 752 for (int 753 n = 0; n < 8; n++) { 754 lc.setRow(1, n, fortytwo2[n]); 755 } 756 757 } 758 759 760 if (m == 43) 761 { 762 for (int n = 0; n < 8; n++) { 763 lc.setRow(1, 764 n, fortythree2[n]); 765 } 766 767 } 768 769 if (m == 44) 770 { 771 for 772 (int n = 0; n < 8; n++) { 773 lc.setRow(1, n, fortyfour2[n]); 774 } 775 776 777 } 778 779 if (m == 45) 780 { 781 for (int n = 0; n < 8; n++) { 782 lc.setRow(1, 783 n, fortyfive2[n]); 784 } 785 786 } 787 788 if (m == 46) 789 { 790 for (int 791 n = 0; n < 8; n++) { 792 lc.setRow(1, n, fortysix2[n]); 793 } 794 795 } 796 797 798 if (m == 47) 799 { 800 for (int n = 0; n < 8; n++) { 801 lc.setRow(1, 802 n, fortyseven2[n]); 803 } 804 805 } 806 807 if (m == 48) 808 { 809 for 810 (int n = 0; n < 8; n++) { 811 lc.setRow(1, n, fortyeight2[n]); 812 } 813 814 815 } 816 817 if (m == 49) 818 { 819 for (int n = 0; n < 8; n++) { 820 lc.setRow(1, 821 n, fortynine2[n]); 822 } 823 824 } 825 826 if (m == 50) 827 { 828 for (int 829 n = 0; n < 8; n++) { 830 lc.setRow(1, n, fifty2[n]); 831 } 832 833 } 834 835 836 if (m == 51) 837 { 838 for (int n = 0; n < 8; n++) { 839 lc.setRow(1, 840 n, fiftyone2[n]); 841 } 842 } 843 844 if (m == 52) 845 { 846 for (int n 847 = 0; n < 8; n++) { 848 lc.setRow(1, n, fiftytwo2[n]); 849 } 850 851 } 852 853 854 if (m == 53) 855 { 856 for (int n = 0; n < 8; n++) { 857 lc.setRow(1, 858 n, fiftythree2[n]); 859 } 860 861 } 862 if (m == 54) 863 { 864 for (int 865 n = 0; n < 8; n++) { 866 lc.setRow(1, n, fiftyfour2[n]); 867 } 868 869 } 870 871 872 if (m == 55) 873 { 874 for (int n = 0; n < 8; n++) { 875 lc.setRow(1, 876 n, fiftyfive2[n]); 877 } 878 879 } 880 881 if (m == 56) 882 { 883 for (int 884 n = 0; n < 8; n++) { 885 lc.setRow(1, n, fiftysix2[n]); 886 } 887 888 } 889 890 891 if (m == 57) 892 { 893 for (int n = 0; n < 8; n++) { 894 lc.setRow(1, 895 n, fiftyseven2[n]); 896 } 897 898 } 899 if (m == 58) 900 { 901 for (int 902 n = 0; n < 8; n++) { 903 lc.setRow(1, n, fiftyeight2[n]); 904 } 905 906 907 } 908 909 if (m == 59) 910 { 911 for (int n = 0; n < 8; n++) { 912 lc.setRow(1, 913 n, fiftynine2[n]); 914 } 915 916 } 917} 918void loop() { 919 920 Display(); 921 922 delay(1000); 923 924} 925 926 927 928
Downloadable files
new wiring diagram
new wiring diagram
Comments
Only logged in users can leave comments