สารบัญ:

ไฟ LED อัตโนมัติสำหรับตู้ปลาที่ปลูกโดยใช้ RTC: 5 ขั้นตอน (พร้อมรูปภาพ)
ไฟ LED อัตโนมัติสำหรับตู้ปลาที่ปลูกโดยใช้ RTC: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไฟ LED อัตโนมัติสำหรับตู้ปลาที่ปลูกโดยใช้ RTC: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไฟ LED อัตโนมัติสำหรับตู้ปลาที่ปลูกโดยใช้ RTC: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: การตั้งเวลา Arduino โดยไม่ใช้ RTC Module 2024, พฤศจิกายน
Anonim
Image
Image
RTC - นาฬิกาเรียลไทม์
RTC - นาฬิกาเรียลไทม์

สองสามปีที่แล้วฉันตัดสินใจตั้งพิพิธภัณฑ์สัตว์น้ำที่ปลูกไว้ ฉันรู้สึกทึ่งกับความงามของพิพิธภัณฑ์สัตว์น้ำเหล่านั้น ฉันทำทุกอย่างที่ควรทำขณะตั้งค่าพิพิธภัณฑ์สัตว์น้ำ แต่ละเลยสิ่งสำคัญที่สุดอย่างหนึ่ง สิ่งนั้นคือแสงสว่าง ทุกอย่างดูดีในสองสามวัน แต่แล้วสาหร่ายก็เริ่มเติบโตทุกที่ในถังและพืชก็ไม่ค่อยดีนัก มันเป็นงานที่ยากลำบากที่จะทำให้ทุกอย่างกลับคืนสู่สภาพปกติ

หลังจากผ่านไปหลายปี ฉันต้องการสร้างพิพิธภัณฑ์สัตว์น้ำอีกครั้งโดยให้ความสำคัญกับการจัดแสง ฉันค้นคว้าข้อมูลทางอินเทอร์เน็ตและพบว่าพืชต้องการแสงอย่างต่อเนื่องประมาณ 10-12 ชั่วโมงต่อวัน ฉันรู้ด้วยว่าพืชตอบสนองต่อสเปกตรัมแสงสีแดงและสีน้ำเงินมากกว่า

เคล็ดลับคือการจำลองธรรมชาติให้ใกล้เคียงที่สุดในพิพิธภัณฑ์สัตว์น้ำ ฉันสามารถเปิดหรือปิดไฟด้วยตนเองได้ แต่ทำไมไม่ทำให้เป็นอัตโนมัติ ซึ่งจะช่วยลดความผิดพลาดของมนุษย์ ดังนั้นฉันจึงตัดสินใจสร้างระบบไฟ LED ซึ่งจะเปิดและปิดโดยอัตโนมัติโดยใช้ Arduino ทำให้ระยะเวลาแสงสว่างสม่ำเสมอซึ่งเป็นสิ่งที่พืชต้องการ

รถถังของฉันจะมีฝาปิดอยู่ด้านบน ดังนั้นฉันจึงตัดสินใจติดตั้งบอร์ดควบคุมนอกถังเนื่องจากความชื้นเป็นศัตรูตัวฉกาจที่ใหญ่ที่สุดของอุปกรณ์อิเล็กทรอนิกส์

มาเริ่มกันเลย!

ขั้นตอนที่ 1: RTC - นาฬิกาแบบเรียลไทม์

แผนคือการเปิดและปิดไฟ LED ในเวลาที่กำหนดของวัน ไฟ LED จะไม่เปิดเป็นความสว่างเต็มที่ในทันที แต่จะเข้าถึงจากความสว่างเป็นศูนย์เป็นความสว่างเต็มที่ในหนึ่งชั่วโมงแทน นี่คือการจำลองพระอาทิตย์ขึ้น เช่นเดียวกับการปิดไฟ LED

งานระบุเวลาที่แน่นอนนั้นทำโดย Real Time Clock หรือ RTC ข้อดีของการใช้ RTC มากกว่ามิลลิวินาที () คือสามารถรับเวลาที่แม่นยำได้โดยตรง นอกจากนี้ โมดูล RTC ยังมีแบตเตอรี่สำรองของตัวเองอีกด้วย ดังนั้นแม้ว่า Arduino จะปิดหรือรีเซ็ตเวลาก็ไม่สูญหาย ทำให้เหมาะสำหรับการใช้งานของเรา

โมดูลที่ฉันจะใช้คือ DS3231 IIC Real Time Clock ใช้อินเทอร์เฟซ I2C เพื่อสื่อสารกับ Arduino ฉันได้ของฉันจากที่นี่

ขอบคุณ Rinky-Dinky Electronics ที่ทำงานหนัก ดาวน์โหลดไลบรารีสำหรับ DS3231 ที่นี่

ขั้นตอนที่ 2: ไฟ LED และไดรเวอร์

ไฟ LED และไดรเวอร์
ไฟ LED และไดรเวอร์
ไฟ LED และไดรเวอร์
ไฟ LED และไดรเวอร์

สำหรับตู้ปลาที่ปลูก หลักการคือ 2 วัตต์ต่อแกลลอน ของฉันเป็นถังขนาด 20 แกลลอนและฉันจะใช้ไฟ LED 10 วัตต์สองดวง ฉันรู้ว่านั่นเป็นครึ่งหนึ่งของวัตต์ที่แนะนำ แต่รถถังของฉันนั่งอยู่ข้างหน้าต่างและมีแสงส่องเข้ามามากมาย ฉันจะทดสอบการตั้งค่าเป็นเวลาสองสามสัปดาห์ ตรวจสอบการเจริญเติบโตของพืช และเพิ่มไฟ LED หากจำเป็น

ฉันใช้ไฟ LED ที่ซื้อมาจากอีเบย์ด้วยอุณหภูมิสี 6500K ซึ่งเหมาะสำหรับการเจริญเติบโตของพืช ตามรายการ แรงดันไปข้างหน้าควรเป็น 9-11V และไปข้างหน้าสูงสุดประมาณ 900mA ฉันสั่งไดรเวอร์ LED ตามลำดับ

ทำไมต้องใช้ไดรเวอร์?

เราไม่ได้อยู่ในโลกที่สมบูรณ์แบบ ดังนั้นเอาต์พุตจะน้อยกว่าอินพุตเสมอ แล้วพลังหายไปไหน? จะถูกเปลี่ยนเป็นความร้อน เช่นเดียวกันกับ LED เซมิคอนดักเตอร์มีค่าสัมประสิทธิ์อุณหภูมิเชิงลบ (NTC) หมายความว่าเมื่ออุณหภูมิเพิ่มขึ้นความต้านทานจะลดลง LED ก็เป็นสารกึ่งตัวนำเช่นกัน เมื่ออุณหภูมิเพิ่มขึ้น ความต้านทานก็เริ่มลดลงเนื่องจากกระแสที่ไหลผ่านจะเพิ่มขึ้น นี้จะเพิ่มความร้อนมากยิ่งขึ้น สิ่งนี้จะดำเนินต่อไปจนกว่า LED จะเสียหาย ดังนั้น เราจำเป็นต้องจำกัดกระแสเพื่อไม่ให้เพิ่มขึ้นเกินขีดจำกัดที่ตั้งไว้ งานนี้ทำโดยไดรเวอร์ LED

ในการทดสอบฉันพบว่าที่ 11V LED กำลังวาดประมาณ 350mA เท่านั้น มันแปลก!

การตั้งค่าไดรเวอร์ LED

โดยทั่วไปแล้วไดรเวอร์คืออุปกรณ์ที่ให้แรงดันเอาต์พุตคงที่พร้อมความสามารถในการจำกัดกระแส มีไดรเวอร์ LED หลายตัวในตลาดที่ให้กระแสไฟคงที่ หากคุณซื้อแบบเดียวกับที่ฉันซื้อ มันจะมี 3 หม้อสำหรับการปรับ เรากังวลเพียงสองคนเท่านั้น อันแรกใช้สำหรับปรับแรงดันไฟ และอันสุดท้ายใช้สำหรับตั้งค่าขีดจำกัดกระแสไฟ ทำตามขั้นตอนเพื่อตั้งค่า:

  1. เชื่อมต่อแหล่งจ่ายไฟ DC 12V กับพินที่มีเครื่องหมาย IN+ และ IN- กรุณาตรวจสอบขั้ว
  2. เชื่อมต่อมัลติมิเตอร์กับพินที่มีเครื่องหมาย OUT+ และ OUT- และตั้งค่ามัลติมิเตอร์ให้อ่านค่าแรงดันไฟ
  3. หมุนหม้อปรับแรงดันไฟจนกระทั่งมัลติมิเตอร์อ่านค่าแรงดันไปข้างหน้าของ LED ในกรณีของฉันคือ 9-11V ฉันเลือก 10.7V (น้อยไปก็ไม่เสียหาย)
  4. ตอนนี้ใส่มัลติมิเตอร์ในโหมดการอ่านปัจจุบัน กระแสจะเริ่มไหลผ่านมัน หมุนหม้อปรับกระแสจนกระทั่งกระแสไฟ LED ที่กำหนดเริ่มไหล
  5. แค่นั้นแหละ! ตอนนี้คุณสามารถเชื่อมต่อ LED ของคุณกับมันได้แล้ว

ขั้นตอนที่ 3: การสร้างแผงไฟ LED

การทำแผงไฟ LED
การทำแผงไฟ LED
การทำแผงไฟ LED
การทำแผงไฟ LED
การทำแผงไฟ LED
การทำแผงไฟ LED

ดังที่ได้กล่าวไว้ก่อนหน้านี้ ฉันตัดสินใจใช้หลอด LED 10 วัตต์ 2 ดวงและแถบ LED RGB LED สี่แถบที่ฉันวางไว้ ฉันจะใช้แถบสำหรับสีแดงและสีน้ำเงิน ฉันใช้โครงอลูมิเนียม (ซึ่งส่วนใหญ่ใช้ทำกรอบหน้าต่างและประตู) เกือบเท่ากับความยาวของตู้ปลาของฉัน ฉันเลือกใช้โครงอลูมิเนียมเนื่องจากทำหน้าที่เป็นฮีทซิงค์สำหรับไฟ LED ฮีทซิงค์มีความสำคัญสำหรับ LED กำลังสูงเช่นนี้ เนื่องจากจะระบายความร้อนได้มาก อายุการใช้งานของ LED จะลดลงหากไม่มีอยู่ เนื่องจากเป็นช่องกลวง สายไฟทั้งหมดจึงซ่อนอยู่ภายในได้อย่างปลอดภัย

ฉันขยายการเชื่อมต่อ LED ทั้งหมดไปยังขั้วต่อ 6 ขั้วตามที่แสดงในภาพ สิ่งนี้กลายเป็นเรื่องง่ายในการเชื่อมต่อแผงควบคุมกับคอนโทรลเลอร์ซึ่งเราจะทำต่อไป

ขั้นตอนที่ 4: การสร้างคอนโทรลเลอร์

การทำคอนโทรลเลอร์
การทำคอนโทรลเลอร์
การทำคอนโทรลเลอร์
การทำคอนโทรลเลอร์
การทำคอนโทรลเลอร์
การทำคอนโทรลเลอร์

จุดมุ่งหมายหลักคือการเปิดและปิดไฟ LED ตามเวลาที่กำหนดโดยผู้ใช้ สมองของคอนโทรลเลอร์คือ Arduino Nano ทำไมเพียงแค่ควบคุมแสง? เนื่องจากฉันมีรีเลย์อยู่บ้าง ฉันจะใช้มันเพื่อเปิดหรือปิดอุปกรณ์บางอย่าง เช่น ตัวกรอง ปั๊มลม เครื่องทำความร้อน ฯลฯ เช่นกันหากจำเป็น ฉันเพิ่มพัดลมคอมพิวเตอร์ DC 12V เพื่อให้ระบายอากาศ

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

ฉันใช้ ULN2803 Darlington Transistor Array IC เพื่อควบคุมรีเลย์และพัดลม IC นี้เป็นที่รู้จักกันทั่วไปว่าเป็นไดรเวอร์รีเลย์

มีการแนบแผนผังสำหรับบิลด์ไว้ที่นี่ PCB แบบกำหนดเองจะทำให้ดูเรียบร้อยและเป็นมืออาชีพ

ฉันเลือกใช้กล่องสวิตช์บอร์ดเป็นโครงสำหรับคอนโทรลเลอร์ เนื่องจากมีรูเจาะล่วงหน้าสำหรับการติดตั้งและแผ่นปิด ฉันติดน็อตในแต่ละช่องโดยใช้กาวอีพ็อกซี่ ฉันทำเช่นเดียวกันกับฝั่งตรงข้าม เพื่อให้แน่ใจว่า PCB ยึดแน่นด้วยสกรู ฉันทำช่องเล็ก ๆ ที่ด้านล่างของกล่องตามที่แสดงในรูปภาพสำหรับสายไฟและสายไฟไปที่แผง LED

ขั้นตอนที่ 5: เวลาสำหรับรหัสบางอย่าง

เวลาสำหรับบางรหัส!
เวลาสำหรับบางรหัส!
เวลาสำหรับบางรหัส!
เวลาสำหรับบางรหัส!
เวลาสำหรับบางรหัส!
เวลาสำหรับบางรหัส!

หลังจากสร้างบอร์ดควบคุมก็ถึงเวลาทำให้มันใช้งานได้! ดาวน์โหลดสเก็ตช์ที่แนบมาที่นี่และเปิดใน Arduino IDE ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลดและติดตั้งไลบรารี่สำหรับ DS3231 ที่แนบมาที่นี่

การตั้งค่า RTC

  1. ใส่แบตเตอรี่เซลล์แบบเหรียญชนิด 2032
  2. เปิด DS3231_Serial_Easy จากตัวอย่างตามที่แสดง
  3. ยกเลิกการใส่เครื่องหมาย 3 บรรทัด แล้วป้อนเวลาและวันที่ตามภาพ
  4. อัปโหลดภาพร่างไปยัง Arduino และเปิดจอภาพแบบอนุกรม ตั้งค่าอัตราบอดเป็น 115200 คุณควรจะเห็นเวลาที่รีเฟรชทุกๆ 1 วินาที
  5. ตอนนี้ ถอดปลั๊ก Arduino แล้วเสียบใหม่อีกครั้งหลังจากผ่านไปไม่กี่วินาที ดูจอภาพแบบอนุกรม ควรแสดงตามเวลาจริง

เสร็จแล้ว! RTC ได้รับการจัดตั้งขึ้น ขั้นตอนนี้ต้องทำเพียงครั้งเดียวเพื่อตั้งวันที่และเวลา

ก่อนที่คุณจะอัปโหลด

  • ตั้งเวลาเริ่มต้นสำหรับ LED
  • ตั้งเวลาหยุดสำหรับ LED
  • ตั้งเวลาเริ่มต้นสำหรับพัดลม
  • ตั้งเวลาหยุดสำหรับพัดลม

หมายเหตุ: เวลาอยู่ในรูปแบบ 24 ชั่วโมง ตั้งเวลาให้เหมาะสม

ดังที่ได้กล่าวไว้ก่อนหน้านี้ ไฟ LED จะไม่เปิดเพื่อความสว่างเต็มที่ ตัวอย่างเช่น หากคุณตั้งเวลาเริ่มต้น LED เป็น 10:00 น. ไฟ LED จะค่อยๆ เปิดขึ้นและสว่างเต็มที่จนถึงเวลา 11:00 น. และจะคงที่จนกว่าจะถึงเวลาหยุด นี่คือการจำลองพระอาทิตย์ขึ้นและพระอาทิตย์ตก ไฟ LED สีแดงและสีน้ำเงินมีค่าคงที่ โดยจะยังคงเปิดอยู่โดยสมบูรณ์ตลอดเวลา

นั่นคือทั้งหมดที่คุณต้องตั้งค่า อัปโหลดรหัสไปยัง Arduino ตอนนี้ ไม่จำเป็นต้องจำการเปิดและปิดไฟตู้ปลาของคุณอีกต่อไป!

ฉันไม่สามารถถ่ายภาพจากตู้ปลาจริงที่จะติดตั้งได้ เนื่องจากฉันยังไม่ได้ตั้งค่า ฉันจะอัปเดตคำแนะนำทันทีที่ฉันตั้งค่าทั้งหมด!

หวังว่าคุณจะสนุกกับการสร้าง ทำมันเองและสนุก! มีพื้นที่สำหรับการปรับปรุงอยู่เสมอและยังต้องเรียนรู้อีกมาก มากับความคิดของคุณเอง

ฉันจะเริ่มต้นอีกครั้งกับพิพิธภัณฑ์สัตว์น้ำที่ปลูกหลังจากผ่านไปหลายปี ฉันไม่ใช่ผู้เชี่ยวชาญในสาขานี้ อย่าลังเลที่จะแสดงความคิดเห็นข้อเสนอแนะใด ๆ เกี่ยวกับงานสร้าง ขอบคุณที่อยู่เคียงข้างกันจนจบ

แนะนำ: