在本文中,我们将学习如何制作一个简单的 2 步 Arduino 可编程定时器电路,该电路可用于通过独立可调的 ON 和 OFF
时序来切换电气负载的开/关。
例如,如果您希望灯保持 ON 24 小时和 OFF 2
小时,您可以通过快速修改程序代码来执行此操作。同样,您可以通过适当地更改代码,将输出时序自定义为任何其他所需的时间间隔集。
void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
delay(86400000);
digitalWrite(13, LOW);
delay(3600000);
}
您只需编译以下代码并将其上传到Arduino板,然后根据您的特定应用需求启动定时器功能。
在上面的示例代码中,行延迟(86400000);和延迟(3600000);分别确定输出ON和OFF延迟时间间隔,以毫秒为单位。在这里,数字
86400000 毫秒对应于 24 小时,而 3600000 表示 1 小时延迟。
您可以根据个人喜好自定义这两个值,以获得所需的输出延迟。
设置并通电后,Arduino将继续在两步ON/OFF定时序列之间切换。只要系统仍然通电。
电路图
完整的电路图以及Arduino连接可以在下图中看到:
Arduino 单脉冲定时器电路
如果您不希望计时器循环遍历两步计时器,而是希望计时器是一次性类型,这将在设置的延迟后永久关闭,则可以应用以下代码:
int led = 13; // Pin 13 has an LED connected on most Arduino boards.
unsigned long DELAY_TIME = 10000; // 10 sec
unsigned long delayStart = 0; // the time the delay started
bool delayRunning = false; // true if still waiting for delay to finish
void setup() {
pinMode(led, OUTPUT); // initialize the digital pin as an output.
digitalWrite(led, HIGH); // turn led on
// start delay
delayStart = millis();
delayRunning = true;
}
void loop() {
// check if delay has timed out
if (delayRunning && ((millis() - delayStart) >= DELAY_TIME)) {
delayRunning = false; // finished delay -- single shot, once only
digitalWrite(led, LOW); // turn led off
}
}
Arduino可编程定时器电路所需的部件
Arduino UNO Board = 1
IC 7809 = 1
BC547 = 1
1N4007 二极管 = 1
10K 1/4 W 电阻 = 1
继电器 12V/400 欧姆/单刀双掷/5 安培 = 1
12V 交流转直流适配器 = 1
全部0条评论
快来发表一下你的评论吧 !