DIY及创意
直播中

夏日余晖

5年用户 1831经验值
擅长:嵌入式技术
私信 关注
[创意DIY]

如何使用Arduino制作一个LCD 220V电源操作计时器

  在这篇文章中,我们将使用 Arduino 制作一个 LCD 220 V 电源操作计时器,其倒计时时间可以通过 16 x 2 LCD显示屏见证。

  所提出的LCD定时器电路是通用定时器,带有显示屏和几个用于设置时间的按钮。

  一旦设置了时间,输出就会变高并开始倒计时,当它达到00:00:00(小时:分钟:秒)时,输出变低。您可以根据自己的自定义需求修改此项目。

  现在回到项目。

  我们总是担心我们的电气或电子设备运行太久,只是因为我们忘记了关闭它们。

  时间紧迫的电气和电子设备,如电饭煲、薄型电池充电器、加热器等,需要在适当的时候关闭,否则我们最终可能会缩短小工具的使用寿命,或者加工后的最终产品(如食物)会令人不快。

  薄型电池充电器可能没有计时器或电池监控系统,如果我们长时间充电,可能会损坏电池的使用寿命。

  我们可以说数百个这样的例子,为了摆脱这种糟糕的结果,可以使用计时器套接字。

  定时器插座是连接到交流插座的简单定时器,时间关键设备将在定时器插座的输出端连接。用户必须使用按钮或拨盘输入时间,说明连接的设备应供电多长时间。

  一旦达到预设时间,设备将与电源切断。

  设计:

  拟议的LCD插座定时器项目包括充当项目大脑的Arduino,显示剩余时间的16 x 2LCD显示屏,三个用于设置时间的按钮以及用于连接和断开输出交流电源的继电器。

  电路图:

  

  上述电路是arduino到LCD显示器的连接,提供了一个10K电位器,用于调整显示器的对比度。上述其余连接是不言自明的。

  

  电路需要电源才能工作,因此提供简单的稳压电源;它可以输出恒定的9V到Arduino和继电器。

  S1、S2 和 S3 是按钮,用户可以通过它设置时间。S1 是小时按钮 S2 是分钟按钮,S3 是开始按钮。

  继电器端子上连接一个 1N4007 二极管,以便在开关时吸收来自继电器的高压反电动势。

  使用至少 5A 继电器和 5A 输出插座。在输入电源处连接一个 5A 保险丝。输入端始终使用 3针插头;不要跳过接地线,也不要交换带电线和中性线。

  电路布局:

  

程序代码
程序代码:

//-------Program Developed by R.Girish---------//
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
const int hbtn = A0;
const int mbtn = A1;
const int start = A2;
const int relay = 7;
unsigned int hrs = 0;
unsigned int Min = 0;
unsigned int sec = 60;
boolean Hrs = false;
boolean Minlt = true;
void setup()
{
lcd.begin(16,2);
pinMode(hbtn, INPUT);
pinMode(mbtn, INPUT);
pinMode(start, INPUT);
pinMode(relay, OUTPUT);
digitalWrite(hbtn, HIGH);
digitalWrite(mbtn, HIGH);
digitalWrite(start, HIGH);
digitalWrite(relay, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Please set time:");
lcd.setCursor(0,1);
lcd.print("Hour:00 Min:00");
}
void loop()
{
if(digitalRead(hbtn) == LOW)
{
Hrs = true;
hrs = hrs + 1;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Please set time:");
lcd.setCursor(0,1);
lcd.print("Hour:");
lcd.print(hrs);
lcd.print(" ");
lcd.print("Min:");
lcd.print(Min);
delay(300);
}
if(digitalRead(mbtn) == LOW && Minlt == true)
{
Min = Min + 1;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Please set time:");
lcd.setCursor(0,1);
lcd.print("Hour:");
lcd.print(hrs);
lcd.print(" ");
lcd.print("Min:");
lcd.print(Min);
if(Min == 60)
{
Minlt = false;
}
delay(300);
}
if(digitalRead(start) == LOW)
{
if(hrs != 0 || Min != 0)
{
digitalWrite(relay, HIGH);
if(Min != 0)
{
Min = Min - 1;
}
while(true)
{
lcd.clear();
lcd.setCursor(5,0);
lcd.print(hrs);
lcd.print(":");
lcd.print(Min);
lcd.print(":");
lcd.print(sec);
lcd.setCursor(0,1);
lcd.print(" AC OUTPUT: ON");
sec = sec - 1;
delay(1000);
if(hrs == 0 && Min == 0 && sec == 0)
{
digitalWrite(relay, LOW);
lcd.clear();
lcd.setCursor(5,0);
lcd.print("0:0:0");
lcd.setCursor(0,1);
lcd.print(" AC OUTPUT: OFF");
while(true){}
}
if(sec == 0)
{
sec = 60;
if(Min != 0)
{
Min = Min - 1;
}
}
if(Min == 0 && Hrs == true)
{
hrs = hrs - 1;
Min = 60;
if(hrs == 0)
{
Hrs = false;
}
}
}
}
}
}
//-------Program Developed by R.Girish---------//
  如何操作此液晶插座定时器:

  • 将 LCD 定时器连接到 220 V AC 电源,并在定时器插座的输出端连接您的设备。

  •它将显示“小时:00分钟:00”。按小时 (S1) 或分钟 (S2) 按钮设置时间。

  • 按下按钮将增加计数。

  • 设置时间后,按开始按钮 (S3)。输出打开。

  • 当显示屏显示 0:0:0 时,输出关闭。

  注意:计时器显示“60”而不是“00”表示分钟和秒,这与传统计时器相同,时钟计数为 00 到 59 表示 60 秒。在这里,计时器将 1 数到 60
持续 60 秒。

  如果您对这个项目有任何疑问,请随时在评论部分表达。

更多回帖

发帖
×
20
完善资料,
赚取积分