Introduction: Amazing Simple Arduino Clock

We have seen many projects with arduino. But Now, I am going to show you how to build a watch with arduino and 2 LCDs display. It is simple and totally fun. You can make it at your home no extra things needed. Every one can try it. So, Get Ready!!!

Step 1: Collecting Materials

If you want to make it you will need some items. These items you can easily buy from your nearer retail store.

What you will need:

  1. Arduino UNO R3
  2. NeoPixel Ring 24
  3. Bread Board
  4. LCD 16x2100
  5. Ohm Resistor (2)
  6. 120 Ohm Resistor (2)
  7. 10 K Ohm Resistor (2)
  8. Push Button

Diagram of these things is shown above. You can use any Bread board. You need 6 Resistors their values is written above in list. You will also need wires for connection. These LCDs you will for display. The method of wiring circuit you can see in next step.

Step 2: Wiring All Components

The things you will need. I have shown in previous step so take your bread board wire circuit along with me.

Wiring Steps:

  1. Place 100 Ohm resistor on upper side of bread board on Negative Line.
  2. Place 120 Ohm resistor on upper side of bread board on Positive Line.
  3. Place Push Button (The diagram is shown above)
  4. Place 10 K Ohm resistor under Push Button
  5. Connect 100 Ohm resistors (both) to LCD display with 'LED Cathode'
  6. Connect 120 Ohm resistors (both) to LCD display with 'LED Anode'
  7. Connect negative terminal of bread board from upper line to 'Read/Write'.
  8. Connect negative terminal of bread board from upper line to 'Contrast'.
  9. Connect Positive terminal of bread board from lower line to 'Vcc'.
  10. Connect another negative terminal of bread board from upper line of bread board to 'GND".
  11. Do same on 2nd LCD connect all these like previous.
  12. Connect remaining resistors to negative line of bread board.
  13. Connect push buttons to positive line.
  14. Connect Positive & Negative terminal of bread board to "Neo Pixel Ring 24".

Now, you have connected all components.Diagram of this shown above. But arduino is still remaining. Steps of wiring arduino I have shown in next step.

Step 3: Wiring Steps of Arduino to All Components:

Steps are given below:

  1. Connect push buttons (Terminal22) to A0 & A1 of arduino.
  2. Connect GND to negative terminal of bread board.
  3. Connect 5V to positive terminal of bread board.
  4. Connect D13 of arduino to "Power of " "Neo Pixel Ring 24"
  5. Connect D7 of arduino to "Register Select" of LCD1.
  6. Connect D8 of arduino to "Enable" of LCD 2.
  7. Connect D9 of arduino to "DB4" of LCD 2.
  8. Connect D10 of arduino to "DB5" of LCD 2.
  9. Connect D11 of arduino to "DB6" of LCD 2.
  10. Connect D12 of arduino to "DB7" of LCD 2.
  11. Connect D1 of arduino to "Register Select" of LCD 1.
  12. Connect D2 of arduino to "Enable" of LCD 1.
  13. Connect D3 of arduino to "DB4" of LCD 2.
  14. Connect D4 of arduino to "DB5" of LCD 2.
  15. Connect D5 of arduino to "DB6" of LCD 2.
  16. Connect D6 of arduino to "DB7" of LCD 2.

Diagram of all components after wiring is shown above.

Step 4: Programming

You have made the circuit complete. But it does not work until you will program it for this project. If you are expert and you have experience you will program it easily. I hope you will know the software which is used for this purpose. Program it accordingly if you want to create change in programming you can but remember it must be correct. Otherwise it will not work. If you cannot program it you can copy from here or take it from other source.

#include 

// Left LCD LiquidCrystal lcd1(7, 8, 9, 10, 11, 12);// Right LCD LiquidCrystal lcd2(1, 2, 3, 4, 5, 6);#include #ifdef __AVR__ #include #endif// NeoPixel Ring 24 #define PIN 13#define NUMPIXELS 24Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);int delayval = 50;long previousMillis = 0; long interval = 950; int seconds = 0; int hour = 0;int hourButtonState = 0; int minButtonState = 0;byte full[8] = { B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111, };byte halfL[8] = { B11111, B11111, B11111, B11111, B00000, B00000, B00000, B00000, };byte halfR[8] = { B00000, B00000, B00000, B00000, B11111, B11111, B11111, B11111, };// the setup routine runs once when you press reset: void setup() { // set button pins pinMode(14, INPUT); // set minute pinMode(15, INPUT); // set hour // make custom characters lcd1.createChar(0, halfR); lcd1.createChar(1, halfL); lcd1.createChar(2, full); lcd2.createChar(0, halfR); lcd2.createChar(1, halfL); lcd2.createChar(2, full); // set LCD1 size lcd1.begin(16,2); // set LCD2 size lcd2.begin(16, 2); // pixel ring pixels.begin(); // initial setup lcd1.clear(); num0lcd1(); lcd2.clear(); num0lcd2(); //pixels.setPixelColor(17, pixels.Color(0,150,0)); //pixels.setPixelColor(18, pixels.Color(0,150,0)); pixels.show(); }// the loop routine runs over and over again forever: void loop() { hourButtonState = digitalRead(15); minButtonState = digitalRead(14); if (hourButtonState == HIGH) { hour++; runClock (); } if (minButtonState == HIGH) { seconds++; runClock (); } unsigned long currentMillis = millis(); if (currentMillis - previousMillis > interval) { if (seconds == 59) { seconds = 0; if (hour == 11) { hour = 0; } else { hour ++; } } else { seconds ++; } previousMillis = currentMillis; runClock (); } delay(10); }void runClock () { if (seconds == 0) { lcd1.clear(); num0lcd1(); lcd2.clear(); num0lcd2(); } if (seconds == 1 || seconds == 11 || seconds == 21 || seconds == 31 || seconds == 41 || seconds == 51) { lcd1.clear(); num1lcd1(); } if (seconds == 2 || seconds == 12 || seconds == 22 || seconds == 32 || seconds == 42 || seconds == 52) { lcd1.clear(); num2lcd1(); } if (seconds == 3 || seconds == 13 || seconds == 23 || seconds == 33 || seconds == 43 || seconds == 53) { lcd1.clear(); num3lcd1(); } if (seconds == 4 || seconds == 14 || seconds == 24 || seconds == 34 || seconds == 44 || seconds == 54) { lcd1.clear(); num4lcd1(); } if (seconds == 5 || seconds == 15 || seconds == 25 || seconds == 35 || seconds == 45 || seconds == 55) { lcd1.clear(); num5lcd1(); } if (seconds == 6 || seconds == 16 || seconds == 26 || seconds == 36 || seconds == 46 || seconds == 56) { lcd1.clear(); num6lcd1(); } if (seconds == 7 || seconds == 17 || seconds == 27 || seconds == 37 || seconds == 47 || seconds == 57) { lcd1.clear(); num7lcd1(); } if (seconds == 8 || seconds == 18 || seconds == 28 || seconds == 38 || seconds == 48 || seconds == 58) { lcd1.clear(); num8lcd1(); } if (seconds == 9 || seconds == 19 || seconds == 29 || seconds == 39 || seconds == 49 || seconds == 59) { lcd1.clear(); num9lcd1(); } if (seconds == 10) { lcd1.clear(); num0lcd1(); lcd2.clear(); num1lcd2(); } if (seconds == 20) { lcd1.clear(); num0lcd1(); lcd2.clear(); num2lcd2(); } if (seconds == 30) { lcd1.clear(); num0lcd1(); lcd2.clear(); num3lcd2(); } if (seconds == 40) { lcd1.clear(); num0lcd1(); lcd2.clear(); num4lcd2(); } if (seconds == 50) { lcd1.clear(); num0lcd1(); lcd2.clear(); num5lcd2(); } if (hour == 0) { pixels.setPixelColor(15, pixels.Color(0,0,0)); pixels.setPixelColor(16, pixels.Color(0,0,0)); pixels.setPixelColor(17, pixels.Color(0,150,0)); pixels.setPixelColor(18, pixels.Color(0,150,0)); pixels.show(); } if (hour == 1) { pixels.setPixelColor(17, pixels.Color(0,0,0)); pixels.setPixelColor(18, pixels.Color(0,0,0)); pixels.setPixelColor(19, pixels.Color(0,150,0)); pixels.setPixelColor(20, pixels.Color(0,150,0)); pixels.show(); } if (hour == 2) { pixels.setPixelColor(19, pixels.Color(0,0,0)); pixels.setPixelColor(20, pixels.Color(0,0,0)); pixels.setPixelColor(21, pixels.Color(0,150,0)); pixels.setPixelColor(22, pixels.Color(0,150,0)); pixels.show(); } if (hour == 3) { pixels.setPixelColor(21, pixels.Color(0,0,0)); pixels.setPixelColor(22, pixels.Color(0,0,0)); pixels.setPixelColor(23, pixels.Color(0,150,0)); pixels.setPixelColor(0, pixels.Color(0,150,0)); pixels.show(); } if (hour == 4) { pixels.setPixelColor(23, pixels.Color(0,0,0)); pixels.setPixelColor(0, pixels.Color(0,0,0)); pixels.setPixelColor(1, pixels.Color(0,150,0)); pixels.setPixelColor(2, pixels.Color(0,150,0)); pixels.show(); } if (hour == 5) { pixels.setPixelColor(1, pixels.Color(0,0,0)); pixels.setPixelColor(2, pixels.Color(0,0,0)); pixels.setPixelColor(3, pixels.Color(0,150,0)); pixels.setPixelColor(4, pixels.Color(0,150,0)); pixels.show(); } if (hour == 6) { pixels.setPixelColor(3, pixels.Color(0,0,0)); pixels.setPixelColor(4, pixels.Color(0,0,0)); pixels.setPixelColor(5, pixels.Color(0,150,0)); pixels.setPixelColor(6, pixels.Color(0,150,0)); pixels.show(); } if (hour == 7) { pixels.setPixelColor(5, pixels.Color(0,0,0)); pixels.setPixelColor(6, pixels.Color(0,0,0)); pixels.setPixelColor(7, pixels.Color(0,150,0)); pixels.setPixelColor(8, pixels.Color(0,150,0)); pixels.show(); } if (hour == 8) { pixels.setPixelColor(7, pixels.Color(0,0,0)); pixels.setPixelColor(8, pixels.Color(0,0,0)); pixels.setPixelColor(9, pixels.Color(0,150,0)); pixels.setPixelColor(10, pixels.Color(0,150,0)); pixels.show(); } if (hour == 9) { pixels.setPixelColor(9, pixels.Color(0,0,0)); pixels.setPixelColor(10, pixels.Color(0,0,0)); pixels.setPixelColor(11, pixels.Color(0,150,0)); pixels.setPixelColor(12, pixels.Color(0,150,0)); pixels.show(); } if (hour == 10) { pixels.setPixelColor(11, pixels.Color(0,0,0)); pixels.setPixelColor(12, pixels.Color(0,0,0)); pixels.setPixelColor(13, pixels.Color(0,150,0)); pixels.setPixelColor(14, pixels.Color(0,150,0)); pixels.show(); } if (hour == 11) { pixels.setPixelColor(13, pixels.Color(0,0,0)); pixels.setPixelColor(14, pixels.Color(0,0,0)); pixels.setPixelColor(15, pixels.Color(0,150,0)); pixels.setPixelColor(16, pixels.Color(0,150,0)); pixels.show(); } }void num0lcd1 () { lcd1.setCursor(0,0); lcd1.write(byte(2)); // full lcd1.setCursor(0, 1); lcd1.write(byte(2)); lcd1.setCursor(1, 1); lcd1.write(byte(0)); // half right lcd1.setCursor(1, 0); lcd1.write(byte(1)); // half left lcd1.setCursor(2, 1); lcd1.write(byte(0)); lcd1.setCursor(2, 0); lcd1.write(byte(1)); lcd1.setCursor(3, 1); lcd1.write(byte(0)); lcd1.setCursor(3, 0); lcd1.write(byte(1)); lcd1.setCursor(4, 1); lcd1.write(byte(0)); lcd1.setCursor(4, 0); lcd1.write(byte(1)); lcd1.setCursor(5, 1); lcd1.write(byte(0)); lcd1.setCursor(5, 0); lcd1.write(byte(1)); lcd1.setCursor(6, 1); lcd1.write(byte(0)); lcd1.setCursor(6, 0); lcd1.write(byte(1)); lcd1.setCursor(7, 1); lcd1.write(byte(0)); lcd1.setCursor(7, 0); lcd1.write(byte(1)); lcd1.setCursor(8, 1); lcd1.write(byte(0)); lcd1.setCursor(8, 0); lcd1.write(byte(1)); lcd1.setCursor(9, 1); lcd1.write(byte(0)); lcd1.setCursor(9, 0); lcd1.write(byte(1)); lcd1.setCursor(10, 1); lcd1.write(byte(0)); lcd1.setCursor(10, 0); lcd1.write(byte(1)); lcd1.setCursor(11, 1); lcd1.write(byte(0)); lcd1.setCursor(11, 0); lcd1.write(byte(1)); lcd1.setCursor(12, 1); lcd1.write(byte(0)); lcd1.setCursor(12, 0); lcd1.write(byte(1)); lcd1.setCursor(13, 1); lcd1.write(byte(0)); lcd1.setCursor(13, 0); lcd1.write(byte(1)); lcd1.setCursor(14, 1); lcd1.write(byte(0)); lcd1.setCursor(14, 0); lcd1.write(byte(1)); lcd1.setCursor(15, 1); lcd1.write(byte(2)); lcd1.setCursor(15, 0); lcd1.write(byte(2)); }void num1lcd1 () { lcd1.setCursor(0,1); lcd1.write(byte(0)); lcd1.setCursor(1,1); lcd1.write(byte(0)); lcd1.setCursor(2,1); lcd1.write(byte(0)); lcd1.setCursor(3,1); lcd1.write(byte(0)); lcd1.setCursor(4,1); lcd1.write(byte(0)); lcd1.setCursor(5,1); lcd1.write(byte(0)); lcd1.setCursor(6,1); lcd1.write(byte(0)); lcd1.setCursor(7,1); lcd1.write(byte(0)); lcd1.setCursor(8,1); lcd1.write(byte(0)); lcd1.setCursor(9,1); lcd1.write(byte(0)); lcd1.setCursor(10,1); lcd1.write(byte(0)); lcd1.setCursor(11,1); lcd1.write(byte(0)); lcd1.setCursor(12,1); lcd1.write(byte(0)); lcd1.setCursor(13,1); lcd1.write(byte(0)); lcd1.setCursor(14,1); lcd1.write(byte(0)); lcd1.setCursor(15,1); lcd1.write(byte(0)); }void num2lcd1 () { lcd1.setCursor(0,0); lcd1.write(byte(2)); // full lcd1.setCursor(0, 1); lcd1.write(byte(2)); lcd1.setCursor(1, 0); lcd1.write(byte(1)); // half left lcd1.setCursor(2, 0); lcd1.write(byte(1)); lcd1.setCursor(3, 0); lcd1.write(byte(1)); lcd1.setCursor(4, 0); lcd1.write(byte(1)); lcd1.setCursor(5, 0); lcd1.write(byte(1)); lcd1.setCursor(6, 0); lcd1.write(byte(1)); lcd1.setCursor(7, 1); lcd1.write(byte(2)); lcd1.setCursor(7, 0); lcd1.write(byte(2)); lcd1.setCursor(8, 1); lcd1.write(byte(0)); lcd1.setCursor(9, 1); lcd1.write(byte(0)); lcd1.setCursor(10, 1); lcd1.write(byte(0)); lcd1.setCursor(11, 1); lcd1.write(byte(0)); lcd1.setCursor(12, 1); lcd1.write(byte(0)); lcd1.setCursor(13, 1); lcd1.write(byte(0)); lcd1.setCursor(14, 1); lcd1.write(byte(0)); lcd1.setCursor(15, 1); lcd1.write(byte(2)); lcd1.setCursor(15, 0); lcd1.write(byte(2)); }void num3lcd1 () { lcd1.setCursor(0,0); lcd1.write(byte(2)); // full lcd1.setCursor(0, 1); lcd1.write(byte(2)); lcd1.setCursor(1, 1); lcd1.write(byte(0)); // half right lcd1.setCursor(2, 1); lcd1.write(byte(0)); lcd1.setCursor(3, 1); lcd1.write(byte(0)); lcd1.setCursor(4, 1); lcd1.write(byte(0)); lcd1.setCursor(5, 1); lcd1.write(byte(0)); lcd1.setCursor(6, 1); lcd1.write(byte(0)); lcd1.setCursor(7, 1); lcd1.write(byte(2)); lcd1.setCursor(7, 0); lcd1.write(byte(2)); lcd1.setCursor(8, 1); lcd1.write(byte(0)); lcd1.setCursor(9, 1); lcd1.write(byte(0)); lcd1.setCursor(10, 1); lcd1.write(byte(0)); lcd1.setCursor(11, 1); lcd1.write(byte(0)); lcd1.setCursor(12, 1); lcd1.write(byte(0)); lcd1.setCursor(13, 1); lcd1.write(byte(0)); lcd1.setCursor(14, 1); lcd1.write(byte(0)); lcd1.setCursor(15, 1); lcd1.write(byte(2)); lcd1.setCursor(15, 0); lcd1.write(byte(2)); }void num4lcd1 () { lcd1.setCursor(0, 1); lcd1.write(byte(0)); lcd1.setCursor(1, 1); lcd1.write(byte(0)); lcd1.setCursor(2, 1); lcd1.write(byte(0)); lcd1.setCursor(3, 1); lcd1.write(byte(0)); lcd1.setCursor(4, 1); lcd1.write(byte(0)); lcd1.setCursor(5, 1); lcd1.write(byte(0)); lcd1.setCursor(6, 1); lcd1.write(byte(0)); lcd1.setCursor(7, 1); lcd1.write(byte(2)); lcd1.setCursor(7, 0); lcd1.write(byte(2)); lcd1.setCursor(8, 0); lcd1.write(byte(1)); lcd1.setCursor(8, 1); lcd1.write(byte(0)); lcd1.setCursor(9, 0); lcd1.write(byte(1)); lcd1.setCursor(9, 1); lcd1.write(byte(0)); lcd1.setCursor(10, 0); lcd1.write(byte(1)); lcd1.setCursor(10, 1); lcd1.write(byte(0)); lcd1.setCursor(11, 0); lcd1.write(byte(1)); lcd1.setCursor(11, 1); lcd1.write(byte(0)); lcd1.setCursor(12, 0); lcd1.write(byte(1)); lcd1.setCursor(12, 1); lcd1.write(byte(0)); lcd1.setCursor(13, 0); lcd1.write(byte(1)); lcd1.setCursor(13, 1); lcd1.write(byte(0)); lcd1.setCursor(14, 0); lcd1.write(byte(1)); lcd1.setCursor(14, 1); lcd1.write(byte(0)); lcd1.setCursor(15, 0); lcd1.write(byte(1)); lcd1.setCursor(15, 1); lcd1.write(byte(0)); }void num5lcd1 () { lcd1.setCursor(0,0); lcd1.write(byte(2)); // full lcd1.setCursor(0, 1); lcd1.write(byte(2)); lcd1.setCursor(1, 1); lcd1.write(byte(0)); // half right lcd1.setCursor(2, 1); lcd1.write(byte(0)); lcd1.setCursor(3, 1); lcd1.write(byte(0)); lcd1.setCursor(4, 1); lcd1.write(byte(0)); lcd1.setCursor(5, 1); lcd1.write(byte(0)); lcd1.setCursor(6, 1); lcd1.write(byte(0)); lcd1.setCursor(7, 1); lcd1.write(byte(2)); lcd1.setCursor(7, 0); lcd1.write(byte(2)); lcd1.setCursor(8, 0); lcd1.write(byte(1)); lcd1.setCursor(9, 0); lcd1.write(byte(1)); lcd1.setCursor(10, 0); lcd1.write(byte(1)); lcd1.setCursor(11, 0); lcd1.write(byte(1)); lcd1.setCursor(12, 0); lcd1.write(byte(1)); lcd1.setCursor(13, 0); lcd1.write(byte(1)); lcd1.setCursor(14, 0); lcd1.write(byte(1)); lcd1.setCursor(15, 1); lcd1.write(byte(2)); lcd1.setCursor(15, 0); lcd1.write(byte(2)); }void num6lcd1 () { lcd1.setCursor(0,0); lcd1.write(byte(2)); // full lcd1.setCursor(0, 1); lcd1.write(byte(2)); lcd1.setCursor(1, 1); lcd1.write(byte(0)); // half right lcd1.setCursor(1, 0); lcd1.write(byte(1)); // half left lcd1.setCursor(2, 1); lcd1.write(byte(0)); lcd1.setCursor(2, 0); lcd1.write(byte(1)); lcd1.setCursor(3, 1); lcd1.write(byte(0)); lcd1.setCursor(3, 0); lcd1.write(byte(1)); lcd1.setCursor(4, 1); lcd1.write(byte(0)); lcd1.setCursor(4, 0); lcd1.write(byte(1)); lcd1.setCursor(5, 1); lcd1.write(byte(0)); lcd1.setCursor(5, 0); lcd1.write(byte(1)); lcd1.setCursor(6, 1); lcd1.write(byte(0)); lcd1.setCursor(6, 0); lcd1.write(byte(1)); lcd1.setCursor(7, 1); lcd1.write(byte(2)); lcd1.setCursor(7, 0); lcd1.write(byte(2)); lcd1.setCursor(8, 0); lcd1.write(byte(1)); lcd1.setCursor(9, 0); lcd1.write(byte(1)); lcd1.setCursor(10, 0); lcd1.write(byte(1)); lcd1.setCursor(11, 0); lcd1.write(byte(1)); lcd1.setCursor(12, 0); lcd1.write(byte(1)); lcd1.setCursor(13, 0); lcd1.write(byte(1)); lcd1.setCursor(14, 0); lcd1.write(byte(1)); lcd1.setCursor(15, 1); lcd1.write(byte(2)); lcd1.setCursor(15, 0); lcd1.write(byte(2)); }void num7lcd1 () { lcd1.setCursor(0,1); lcd1.write(byte(0)); lcd1.setCursor(1,1); lcd1.write(byte(0)); lcd1.setCursor(2,1); lcd1.write(byte(0)); lcd1.setCursor(3,1); lcd1.write(byte(0)); lcd1.setCursor(4,1); lcd1.write(byte(0)); lcd1.setCursor(5,1); lcd1.write(byte(0)); lcd1.setCursor(6,1); lcd1.write(byte(0)); lcd1.setCursor(7,1); lcd1.write(byte(0)); lcd1.setCursor(8,1); lcd1.write(byte(0)); lcd1.setCursor(9,1); lcd1.write(byte(0)); lcd1.setCursor(10,1); lcd1.write(byte(0)); lcd1.setCursor(11,1); lcd1.write(byte(0)); lcd1.setCursor(12,1); lcd1.write(byte(0)); lcd1.setCursor(13,1); lcd1.write(byte(0)); lcd1.setCursor(14,1); lcd1.write(byte(0)); lcd1.setCursor(15,1); lcd1.write(byte(2)); lcd1.setCursor(15,0); lcd1.write(byte(2)); }void num8lcd1 () { lcd1.setCursor(0,0); lcd1.write(byte(2)); // full lcd1.setCursor(0, 1); lcd1.write(byte(2)); lcd1.setCursor(1, 1); lcd1.write(byte(0)); // half right lcd1.setCursor(1, 0); lcd1.write(byte(1)); // half left lcd1.setCursor(2, 1); lcd1.write(byte(0)); lcd1.setCursor(2, 0); lcd1.write(byte(1)); lcd1.setCursor(3, 1); lcd1.write(byte(0)); lcd1.setCursor(3, 0); lcd1.write(byte(1)); lcd1.setCursor(4, 1); lcd1.write(byte(0)); lcd1.setCursor(4, 0); lcd1.write(byte(1)); lcd1.setCursor(5, 1); lcd1.write(byte(0)); lcd1.setCursor(5, 0); lcd1.write(byte(1)); lcd1.setCursor(6, 1); lcd1.write(byte(0)); lcd1.setCursor(6, 0); lcd1.write(byte(1)); lcd1.setCursor(7, 1); lcd1.write(byte(2)); lcd1.setCursor(7, 0); lcd1.write(byte(2)); lcd1.setCursor(8, 1); lcd1.write(byte(0)); lcd1.setCursor(8, 0); lcd1.write(byte(1)); lcd1.setCursor(9, 1); lcd1.write(byte(0)); lcd1.setCursor(9, 0); lcd1.write(byte(1)); lcd1.setCursor(10, 1); lcd1.write(byte(0)); lcd1.setCursor(10, 0); lcd1.write(byte(1)); lcd1.setCursor(11, 1); lcd1.write(byte(0)); lcd1.setCursor(11, 0); lcd1.write(byte(1)); lcd1.setCursor(12, 1); lcd1.write(byte(0)); lcd1.setCursor(12, 0); lcd1.write(byte(1)); lcd1.setCursor(13, 1); lcd1.write(byte(0)); lcd1.setCursor(13, 0); lcd1.write(byte(1)); lcd1.setCursor(14, 1); lcd1.write(byte(0)); lcd1.setCursor(14, 0); lcd1.write(byte(1)); lcd1.setCursor(15, 1); lcd1.write(byte(2)); lcd1.setCursor(15, 0); lcd1.write(byte(2)); }void num9lcd1 () { lcd1.setCursor(0, 0); lcd1.write(byte(2)); lcd1.setCursor(0, 1); lcd1.write(byte(2)); lcd1.setCursor(1, 1); lcd1.write(byte(0)); lcd1.setCursor(2, 1); lcd1.write(byte(0)); lcd1.setCursor(3, 1); lcd1.write(byte(0)); lcd1.setCursor(4, 1); lcd1.write(byte(0)); lcd1.setCursor(5, 1); lcd1.write(byte(0)); lcd1.setCursor(6, 1); lcd1.write(byte(0)); lcd1.setCursor(7, 1); lcd1.write(byte(2)); lcd1.setCursor(7, 0); lcd1.write(byte(2)); lcd1.setCursor(8, 0); lcd1.write(byte(1)); lcd1.setCursor(8, 1); lcd1.write(byte(0)); lcd1.setCursor(9, 0); lcd1.write(byte(1)); lcd1.setCursor(9, 1); lcd1.write(byte(0)); lcd1.setCursor(10, 0); lcd1.write(byte(1)); lcd1.setCursor(10, 1); lcd1.write(byte(0)); lcd1.setCursor(11, 0); lcd1.write(byte(1)); lcd1.setCursor(11, 1); lcd1.write(byte(0)); lcd1.setCursor(12, 0); lcd1.write(byte(1)); lcd1.setCursor(12, 1); lcd1.write(byte(0)); lcd1.setCursor(13, 0); lcd1.write(byte(1)); lcd1.setCursor(13, 1); lcd1.write(byte(0)); lcd1.setCursor(14, 0); lcd1.write(byte(1)); lcd1.setCursor(14, 1); lcd1.write(byte(0)); lcd1.setCursor(15, 0); lcd1.write(byte(2)); lcd1.setCursor(15, 1); lcd1.write(byte(2)); }void num0lcd2 () { lcd2.setCursor(0,0); lcd2.write(byte(2)); // full lcd2.setCursor(0, 1); lcd2.write(byte(2)); lcd2.setCursor(1, 1); lcd2.write(byte(0)); // half right lcd2.setCursor(1, 0); lcd2.write(byte(1)); // half left lcd2.setCursor(2, 1); lcd2.write(byte(0)); lcd2.setCursor(2, 0); lcd2.write(byte(1)); lcd2.setCursor(3, 1); lcd2.write(byte(0)); lcd2.setCursor(3, 0); lcd2.write(byte(1)); lcd2.setCursor(4, 1); lcd2.write(byte(0)); lcd2.setCursor(4, 0); lcd2.write(byte(1)); lcd2.setCursor(5, 1); lcd2.write(byte(0)); lcd2.setCursor(5, 0); lcd2.write(byte(1)); lcd2.setCursor(6, 1); lcd2.write(byte(0)); lcd2.setCursor(6, 0); lcd2.write(byte(1)); lcd2.setCursor(7, 1); lcd2.write(byte(0)); lcd2.setCursor(7, 0); lcd2.write(byte(1)); lcd2.setCursor(8, 1); lcd2.write(byte(0)); lcd2.setCursor(8, 0); lcd2.write(byte(1)); lcd2.setCursor(9, 1); lcd2.write(byte(0)); lcd2.setCursor(9, 0); lcd2.write(byte(1)); lcd2.setCursor(10, 1); lcd2.write(byte(0)); lcd2.setCursor(10, 0); lcd2.write(byte(1)); lcd2.setCursor(11, 1); lcd2.write(byte(0)); lcd2.setCursor(11, 0); lcd2.write(byte(1)); lcd2.setCursor(12, 1); lcd2.write(byte(0)); lcd2.setCursor(12, 0); lcd2.write(byte(1)); lcd2.setCursor(13, 1); lcd2.write(byte(0)); lcd2.setCursor(13, 0); lcd2.write(byte(1)); lcd2.setCursor(14, 1); lcd2.write(byte(0)); lcd2.setCursor(14, 0); lcd2.write(byte(1)); lcd2.setCursor(15, 1); lcd2.write(byte(2)); lcd2.setCursor(15, 0); lcd2.write(byte(2)); }void num1lcd2 () { lcd2.setCursor(0,1); lcd2.write(byte(0)); lcd2.setCursor(1,1); lcd2.write(byte(0)); lcd2.setCursor(2,1); lcd2.write(byte(0)); lcd2.setCursor(3,1); lcd2.write(byte(0)); lcd2.setCursor(4,1); lcd2.write(byte(0)); lcd2.setCursor(5,1); lcd2.write(byte(0)); lcd2.setCursor(6,1); lcd2.write(byte(0)); lcd2.setCursor(7,1); lcd2.write(byte(0)); lcd2.setCursor(8,1); lcd2.write(byte(0)); lcd2.setCursor(9,1); lcd2.write(byte(0)); lcd2.setCursor(10,1); lcd2.write(byte(0)); lcd2.setCursor(11,1); lcd2.write(byte(0)); lcd2.setCursor(12,1); lcd2.write(byte(0)); lcd2.setCursor(13,1); lcd2.write(byte(0)); lcd2.setCursor(14,1); lcd2.write(byte(0)); lcd2.setCursor(15,1); lcd2.write(byte(0)); }void num2lcd2 () { lcd2.setCursor(0,0); lcd2.write(byte(2)); // full lcd2.setCursor(0, 1); lcd2.write(byte(2)); lcd2.setCursor(1, 0); lcd2.write(byte(1)); // half left lcd2.setCursor(2, 0); lcd2.write(byte(1)); lcd2.setCursor(3, 0); lcd2.write(byte(1)); lcd2.setCursor(4, 0); lcd2.write(byte(1)); lcd2.setCursor(5, 0); lcd2.write(byte(1)); lcd2.setCursor(6, 0); lcd2.write(byte(1)); lcd2.setCursor(7, 1); lcd2.write(byte(2)); lcd2.setCursor(7, 0); lcd2.write(byte(2)); lcd2.setCursor(8, 1); lcd2.write(byte(0)); lcd2.setCursor(9, 1); lcd2.write(byte(0)); lcd2.setCursor(10, 1); lcd2.write(byte(0)); lcd2.setCursor(11, 1); lcd2.write(byte(0)); lcd2.setCursor(12, 1); lcd2.write(byte(0)); lcd2.setCursor(13, 1); lcd2.write(byte(0)); lcd2.setCursor(14, 1); lcd2.write(byte(0)); lcd2.setCursor(15, 1); lcd2.write(byte(2)); lcd2.setCursor(15, 0); lcd2.write(byte(2)); }void num3lcd2 () { lcd2.setCursor(0,0); lcd2.write(byte(2)); // full lcd2.setCursor(0, 1); lcd2.write(byte(2)); lcd2.setCursor(1, 1); lcd2.write(byte(0)); // half right lcd2.setCursor(2, 1); lcd2.write(byte(0)); lcd2.setCursor(3, 1); lcd2.write(byte(0)); lcd2.setCursor(4, 1); lcd2.write(byte(0)); lcd2.setCursor(5, 1); lcd2.write(byte(0)); lcd2.setCursor(6, 1); lcd2.write(byte(0)); lcd2.setCursor(7, 1); lcd2.write(byte(2)); lcd2.setCursor(7, 0); lcd2.write(byte(2)); lcd2.setCursor(8, 1); lcd2.write(byte(0)); lcd2.setCursor(9, 1); lcd2.write(byte(0)); lcd2.setCursor(10, 1); lcd2.write(byte(0)); lcd2.setCursor(11, 1); lcd2.write(byte(0)); lcd2.setCursor(12, 1); lcd2.write(byte(0)); lcd2.setCursor(13, 1); lcd2.write(byte(0)); lcd2.setCursor(14, 1); lcd2.write(byte(0)); lcd2.setCursor(15, 1); lcd2.write(byte(2)); lcd2.setCursor(15, 0); lcd2.write(byte(2)); }void num4lcd2 () { lcd2.setCursor(0, 1); lcd2.write(byte(0)); lcd2.setCursor(1, 1); lcd2.write(byte(0)); lcd2.setCursor(2, 1); lcd2.write(byte(0)); lcd2.setCursor(3, 1); lcd2.write(byte(0)); lcd2.setCursor(4, 1); lcd2.write(byte(0)); lcd2.setCursor(5, 1); lcd2.write(byte(0)); lcd2.setCursor(6, 1); lcd2.write(byte(0)); lcd2.setCursor(7, 1); lcd2.write(byte(2)); lcd2.setCursor(7, 0); lcd2.write(byte(2)); lcd2.setCursor(8, 0); lcd2.write(byte(1)); lcd2.setCursor(8, 1); lcd2.write(byte(0)); lcd2.setCursor(9, 0); lcd2.write(byte(1)); lcd2.setCursor(9, 1); lcd2.write(byte(0)); lcd2.setCursor(10, 0); lcd2.write(byte(1)); lcd2.setCursor(10, 1); lcd2.write(byte(0)); lcd2.setCursor(11, 0); lcd2.write(byte(1)); lcd2.setCursor(11, 1); lcd2.write(byte(0)); lcd2.setCursor(12, 0); lcd2.write(byte(1)); lcd2.setCursor(12, 1); lcd2.write(byte(0)); lcd2.setCursor(13, 0); lcd2.write(byte(1)); lcd2.setCursor(13, 1); lcd2.write(byte(0)); lcd2.setCursor(14, 0); lcd2.write(byte(1)); lcd2.setCursor(14, 1); lcd2.write(byte(0)); lcd2.setCursor(15, 0); lcd2.write(byte(1)); lcd2.setCursor(15, 1); lcd2.write(byte(0)); }void num5lcd2 () { lcd2.setCursor(0,0); lcd2.write(byte(2)); // full lcd2.setCursor(0, 1); lcd2.write(byte(2)); lcd2.setCursor(1, 1); lcd2.write(byte(0)); // half right lcd2.setCursor(2, 1); lcd2.write(byte(0)); lcd2.setCursor(3, 1); lcd2.write(byte(0)); lcd2.setCursor(4, 1); lcd2.write(byte(0)); lcd2.setCursor(5, 1); lcd2.write(byte(0)); lcd2.setCursor(6, 1); lcd2.write(byte(0)); lcd2.setCursor(7, 1); lcd2.write(byte(2)); lcd2.setCursor(7, 0); lcd2.write(byte(2)); lcd2.setCursor(8, 0); lcd2.write(byte(1)); lcd2.setCursor(9, 0); lcd2.write(byte(1)); lcd2.setCursor(10, 0); lcd2.write(byte(1)); lcd2.setCursor(11, 0); lcd2.write(byte(1)); lcd2.setCursor(12, 0); lcd2.write(byte(1)); lcd2.setCursor(13, 0); lcd2.write(byte(1)); lcd2.setCursor(14, 0); lcd2.write(byte(1)); lcd2.setCursor(15, 1); lcd2.write(byte(2)); lcd2.setCursor(15, 0); lcd2.write(byte(2)); }

Step 5: Working and Finishing Touch

Connect your arduino to computer and let it work. I hope your clock will work. It is working but it looks so messy. So many resistor & wires it is not good. So, Place all components in box and cut one hole for LCD paint the box and give look of Digital Clock.

I have not created it in real but I have designed it in AUTODESK CIRCUITS. I shall design it in real and post the video of working. I have updated this instructable. I am not a native speaker. If have done any mistake inform me in private messages. And I am sorry about that mistake. I have also taken some idea from "Dan's arduino Clock". Meet you with another instructable.

Arduino Contest 2016

Participated in the
Arduino Contest 2016