Arduino 2-Step Programmable Timer Circuit

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในบทความนี้เราเรียนรู้วิธีการสร้างวงจรจับเวลาแบบตั้งโปรแกรม Arduino แบบ 2 ขั้นตอนแบบง่ายๆซึ่งสามารถใช้เพื่อเปิด / ปิดโหลดไฟฟ้าพร้อมการกำหนดเวลาเปิดและปิดที่ปรับได้อย่างอิสระ

ตัวอย่างเช่นหากคุณต้องการให้ไฟติดค้างไว้เป็นเวลา 24 ชั่วโมงและปิดเป็นเวลา 2 ชั่วโมงคุณสามารถทำได้โดยการแก้ไขอย่างรวดเร็วในโค้ดโปรแกรม ในทำนองเดียวกันคุณสามารถปรับแต่งการกำหนดเวลาเอาต์พุตให้เป็นช่วงเวลาอื่น ๆ ที่ต้องการได้โดยการเปลี่ยนรหัสให้เหมาะสม



คุณเพียงแค่ต้อง รวบรวมและอัปโหลด รหัสต่อไปนี้ไปยังบอร์ด Arduino ของคุณและเริ่มฟังก์ชันจับเวลาตามความต้องการของแอปพลิเคชันเฉพาะของคุณ

รหัสโปรแกรม

void setup(){ pinMode(13, OUTPUT) } void loop(){ digitalWrite(13, HIGH) delay(86400000) digitalWrite(13, LOW) delay(3600000) }

ในโค้ดตัวอย่างด้านบนบรรทัด ล่าช้า (86400000) และ ล่าช้า (3600000) กำหนดช่วงเวลาหน่วงเวลาเปิดและปิดเอาต์พุตตามลำดับเป็นมิลลิวินาที นี่คือรูป 86400000 มิลลิวินาทีตรงกับ 24 ชั่วโมงในขณะที่ 3,600,000 จัดแสดงล่าช้า 1 ชั่วโมง



คุณสามารถปรับแต่งค่าทั้งสองนี้ตามความชอบส่วนบุคคลของคุณเพื่อให้ได้ผลลัพธ์ที่ล่าช้าตามต้องการ

เมื่อตั้งค่าและเปิดเครื่องแล้ว Arduino จะสลับระหว่างลำดับเวลาเปิด / ปิดสองขั้นตอนต่อไป ตราบเท่าที่ยังคงมีการใช้พลังงานกับระบบ

แผนภูมิวงจรรวม

แผนภาพวงจรที่สมบูรณ์พร้อมกับการเชื่อมต่อ Arduino สามารถเห็นได้ในแผนภาพต่อไปนี้:

Arduino One-Shot Timer Circuit

หากคุณไม่ต้องการให้ตัวจับเวลาวนรอบตัวจับเวลาแบบสองขั้นตอน แต่ต้องการให้ตัวจับเวลาเป็นแบบยิงครั้งเดียวแทนซึ่งจะปิดถาวรหลังจากการหน่วงเวลาที่ตั้งไว้คุณสามารถใช้รหัสต่อไปนี้:

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 = 1
  • IC 7809 = 1
  • BC547 = 1
  • 1N4007 ไดโอด = 1
  • ตัวต้านทาน 10k 1/4 w = 1
  • รีเลย์ 12V / 400 โอห์ม / SPDT / 5 แอมป์ = 1
  • อะแดปเตอร์ 12V AC เป็น DC = 1



คู่ของ: วงจรตั้งเวลาดิจิตอลอย่างง่ายพร้อมจอแสดงผล 2 หลัก ถัดไป: วงจรดิจิตอลเทอร์โมมิเตอร์ - ใช้เซลล์แสงอาทิตย์เป็นพลังงาน