自动数字计时器是如何工作的?

电子说

1.3w人已加入

描述

硬件部件:

Arduino Nano R3× 1个

LDR,5兆欧 × 1个

DFRobot I2C 16x2 Arduino LCD显示模块× 1个

电阻1k欧姆 × 3

跳线(通用) × 1个

面包板(通用) × 1个

该项目提出了一种自动数字计时器,该计时器基本上以毫秒为单位测量时间。

这个项目的需要:在电力系统保护实验室中,我们使用一个模拟故障的实验室面板,并使用各种类型的继电器进行保护,并为每个继电器使用TMS(时间倍增器设置)的多个选项,并测量以下时间:我们设置的每个选项。因此,使用自动计时器将使实验的执行变得更加容易。此外,该面板还配有老式机械计时器,并带有模拟大型显示屏,上述计时器在维修后已停止工作。

因此,我们需要一个工作效率更高,显示效果更好的计时器。

它是如何工作的 :

为了寻求自动化,计时器的输入和输出应在面板内。

旧计时器有四个端子,两个用于启动然后暂停,另外两个用于复位,因此应使用这四个端子来定制新计时器。

启动/暂停端子的启动电压差约为230 V AC,暂停时的电压差约为0 V AC。

将该面板输出转换为合适的Arduino输入具有挑战性。

为了寻求准确性,需要一个非凡的解决方案,最合适的解决方案是Arduino方面的LDR(光敏电阻),而面板方面的低功耗光源。

原理图:

源码:

#include “timer.h”

#include 《Wire.h》

#include 《LiquidCrystal_I2C.h》

LiquidCrystal_I2C lcd(0x27,16,2);

int x = 0;

Timer timer;

void setup()

{

lcd.init();

lcd.backlight();

lcd.print(“Dr-Ayman Quraan”);

delay(250);

lcd.setCursor(0,1);

lcd.print(“Eng.Moh Alawneh”);

delay(1100);

lcd.clear();

lcd.begin(16,2);

lcd.print(“Eng. ”);

lcd.setCursor(0,1);

lcd.print(“Ahmad AbuMurad”);

delay(1100);

lcd.clear();

lcd.setCursor(0,0);

lcd.print(“Press Test Start ”);

// timer.start();

}

void loop()

{

if (analogRead(A0)》20){

//start the timer

if (x == 0) {

lcd.clear();

lcd.print(“Delay Time Is ”);

timer.start();

x++;

}
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分