16×2LCDディスプレイを使用したデジタル時計回路

問題を排除するために楽器を試してください





投稿では、Arduinoと16 x 2LCDディスプレイを使用して簡単なデジタル時計を作成する方法について説明しています。

前書き

ある段階でのエレクトロニクス愛好家として、特にデジタルエレクトロニクスの分野に興味を持っている人は、デジタル時計の作り方を考えていたでしょう。この記事では、デジタル時計の作り方を見ていきます。デザインは非常にシンプルなので、Arduinoの初心者は頭を悩ませることなくプロジェクトを遂行できます。



このデジタル時計には、ArduinoとArduinoの2つの主要コンポーネントがあります。 LCDディスプレイ 。 Arduinoは時計の頭脳であり、数学的および論理的な機能を実行して、毎秒時計を更新します。

プロトタイプ画像:

LCDとArduino間の配線接続

LCD画面は、標準の16ピンインターフェイスディスプレイです。 16行2列です。つまり、1行に16個のASCII文字を表示でき、2列あるため、16x2ディスプレイと呼ばれます。



LCDとArduinoの間の配線接続は標準であり、他のほとんどのArduino-LCDベースのプロジェクトでも同様の種類の接続を見つけることができます。

ポテンショメータは、ディスプレイのコントラストを調整するために使用されます。

ユーザーはこれを最適に設定して、すべての明るい状況で表示された数字/文字を正しく表示できるようにする必要があります。

暗い状況でユーザーがディスプレイを見ることができるバックライトがあります。 arduinoは、7ボルトから12ボルトのDCジャックから外部から電力を供給できます。

回路図:

ポテンショメータは、ディスプレイのコントラストを調整するために使用されます。

ARDUINOプログラムコード:

// -------- R.GIRISHによって開発されたプログラム------- //
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int h=12
int m
int s
int flag
int TIME
const int hs=8
const int ms=9
int state1
int state2
void setup()
{
lcd.begin(16,2)
}
void loop()
{
lcd.setCursor(0,0)
s=s+1
lcd.print('TIME:' )
lcd.print(h)
lcd.print(':')
lcd.print(m)
lcd.print(':')
lcd.print(s)
if(flag<12) lcd.print(' AM')
if(flag==12) lcd.print(' PM')
if(flag>12) lcd.print(' PM')
if(flag==24) flag=0
delay(1000)
lcd.clear()
if(s==60) {
s=0
m=m+1
}
if(m==60)
{
m=0
h=h+1
flag=flag+1
}
if(h==13)
{
h=1
}
lcd.setCursor(0,1)
lcd.print('HAVE A NICE DAY')
//-----------Time setting----------//
state1=digitalRead(hs)
if(state1==1)
{
h=h+1
flag=flag+1
if(flag<12) lcd.print(' AM')
if(flag==12) lcd.print(' PM')
if(flag>12) lcd.print(' PM')
if(flag==24) flag=0
if(h==13) h=1
}
state2=digitalRead(ms)
if(state2==1) {
s=0
m=m+1
}
}
//-------- Program developed by R.GIRISH-------//

注:上記のプログラムは検証済みで、エラーはありません。警告やエラーが発生した場合は、LiquidCrystalライブラリを手動で追加してください。

時間設定:

時間設定用と分設定用の2つのプッシュボタンがあります。いずれかを押すと、対応する桁がインクリメントされます。時間を設定するには、同じように分単位で正しい時刻が表示されるまで、hrsボタンを押します。

注意:

・時間を設定している間、希望の時間になるまでボタンを押し続けます。ボタンを一瞬押しても時間が変わらない場合があります。

・各桁は1秒ごとに増分されます。これは、プログラムのループ全体が1秒間遅延したためです。

・秒の桁は01から60になり、再びループして、従来のデジタル時計のように「00」を表示しません。




前:1.5トンエアコン用ソーラーインバーター 次へ:単純な垂直軸風力タービン発電機回路