在本文中,我們將學(xué)習(xí)如何制作一個(gè)簡(jiǎn)單的2 步 Arduino 可編程定時(shí)器電路,該電路可用于通過(guò)獨(dú)立可調(diào)的 ON 和 OFF 時(shí)序來(lái)切換電氣負(fù)載的開(kāi)/關(guān)。
例如,如果您希望燈保持 ON 24 小時(shí)和 OFF 2小時(shí),您可以通過(guò)快速修改程序代碼來(lái)執(zhí)行此操作。同樣,您可以通過(guò)適當(dāng)?shù)馗拇a,將輸出時(shí)序自定義為任何其他所需的時(shí)間間隔集。
程序代碼
void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
delay(86400000);
digitalWrite(13, LOW);
delay(3600000);
}
在上面的示例代碼中,行延遲(86400000);和 延遲(3600000); 分別確定輸出ON和OFF延遲時(shí)間間隔,以毫秒為單位。在這里,數(shù)字 86400000 毫秒對(duì)應(yīng)于 24 小時(shí),而 3600000 表示 1 小時(shí)延遲。
您可以根據(jù)個(gè)人喜好自定義這兩個(gè)值,以獲得所需的輸出延遲。
設(shè)置并通電后,Arduino將繼續(xù)在兩步ON/OFF定時(shí)序列之間切換。只要系統(tǒng)仍然通電。
電路圖
完整的電路圖以及Arduino連接可以在下圖中看到:
Arduino 單脈沖定時(shí)器電路
如果您不希望計(jì)時(shí)器循環(huán)遍歷兩步計(jì)時(shí)器,而是希望計(jì)時(shí)器是一次性類(lèi)型,這將在設(shè)置的延遲后永久關(guān)閉,則可以應(yīng)用以下代碼:
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
}
}
如果您想要相同可編程定時(shí)器電路的離散設(shè)計(jì)版本,則可以選擇此電路
Arduino可編程定時(shí)器電路所需的部件
-
定時(shí)器電路
+關(guān)注
關(guān)注
1文章
31瀏覽量
13144 -
Arduino
+關(guān)注
關(guān)注
190文章
6498瀏覽量
192119 -
可編程定時(shí)器
+關(guān)注
關(guān)注
0文章
9瀏覽量
1918
發(fā)布評(píng)論請(qǐng)先 登錄
可編程計(jì)數(shù)器/定時(shí)器的相關(guān)資料分享
可編程定時(shí)器繼電器3-7信道
可編程定時(shí)器計(jì)數(shù)器8253

可編程控制器實(shí)驗(yàn)教程之定時(shí)器指令實(shí)驗(yàn)
8253可編程計(jì)數(shù)器和定時(shí)器芯片的仿真資料免費(fèi)下載

MC14541B可編程定時(shí)器芯片數(shù)據(jù)手冊(cè)
微機(jī)原理—可編程計(jì)數(shù)器/定時(shí)器8253概念詳解

CC2530定時(shí)器1使能

通用可編程定時(shí)器開(kāi)源設(shè)計(jì)

評(píng)論