How to make Stopwatch with Arduino and LCD


 Components required:-

1.Arduino Uno:-

 


2.16x2 LCD display:-

 

3. 2 x Toggle  switches

4. 2 x 10K resistor

16x2 LCD display

The name "16x2 LCD display" came from this fact that is has 16 columns and 2 rows , that means we can display 32 characters on this LCD display screen. Characters could  be either alphabets, numbers or custom made characters. Each column is made from 5 x 8 matrix of pixels which means 40 pixels per column .


                

Features:-

  • Operating voltage is  4.7V to 5.3V
  • Current consumption is 1mA without backlight
  • Alphanumeric LCD display module, meaning can display alphabets and numbers
  • Can work on both 8-bit and 4-bit mode
  • Available in Green and Blue Backlight
Pinouts:-
1. Vss:-  Connect GND here
2. Vdd:- Powers the LCD with +5V (4.7V – 5.3V)
3.VEE:-To set contrast of display
4.Register Select:-command/data register
5.Read/Write:-Used to read or write data. Normally grounded to write data to LCD
6.Enable:- To enable Read/Write on LCD
7. Data bit 0:- To microcontroller to send 8 bit data
8. Data bit 1:- To microcontroller to send 8 bit data
9.Data bit 2:- To microcontroller to send 8 bit data
10.Data bit 3:- To microcontroller to send 8 bit data
11.Data bit 4:- To microcontroller to send 4/8 bit data
12.Data bit 5:- To microcontroller to send 4/8 bit data
13.Data bit 6:- To microcontroller to send 4/8 bit data
14.Data bit 7:- To microcontroller to send 4/8 bit data
15.LED+ :- To set backlight
16.LED-  :- To set backlight

LCD DISPLAY INTERFACING WITH ARDUINO

  1. VSS and LED-  pin of LCD are combined together and are grounded.

  2. VCC and LED+ pin of LCD are combined together and is connected to 5v pin of Arduino.

  3. Then connect a potentiometer to VEE to adjust the contrast of LCD by varying the knob of potentiometer.

  4. Then connect RS pin of LCD to 6th pin of Arduino and R/W pin of LCD to 7th pin of Arduino.

  5. Then connect E pin of LCD to 8th pin of Arduino.

  6. Then connect DB4 pin of LCD to 9th pin of Arduino, DB5 pin to 10th pin , DB6 pin to 11th pin and DB7 to 12th pin of Arduino.

  7. Connect 1 terminal of toggle switch to 5 V and it's other terminal to A0 pin.

  8. Connect 1 terminal of resistor to GND and other to A0 pin of Arduino.

  9. Similarly, connect 1 terminal of toggle switch to 5 V and it's other terminal to A1 pin and 1 terminal of resistor to GND and other to A1 pin of Arduino.






ARDUINO CODE

____________________



#include <LiquidCrystal.h> LiquidCrystal lcd(6, 7, 8, 9, 10, 11, 12); unsigned long currentTime = 0, previousTime = 0; int centiseconds = 0, seconds = 0, minuites = 0, hours = 0, button = A0; void setup() { pinMode(button, INPUT); lcd.begin(16, 2); } void loop() { if (digitalRead(button) == HIGH) { lcd.setCursor(0, 0); lcd.print("time stopped"); delay(1000); while (digitalRead(button) == LOW); delay(1000); } if (centiseconds == 0) { lcd.clear(); } currentTime = millis(); centiseconds = currentTime / 10; seconds = currentTime / 1000; minuites = seconds / 60; hours = minuites / 24; centiseconds = centiseconds - seconds * 100; seconds = seconds - minuites * 60; minuites = minuites - hours * 60; lcd.setCursor(0, 0); lcd.print("Time elasped"); lcd.setCursor(0, 1); lcd.print(hours); lcd.print(":"); lcd.print(minuites); lcd.print(":"); lcd.print(seconds); lcd.print(":"); lcd.print(centiseconds); }

____________________
To understand this project in more detail, then click here or on this image to watch on YouTube.



Comments