สารบัญ:

DIY Aquarium Controller: 6 ขั้นตอน (พร้อมรูปภาพ)
DIY Aquarium Controller: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: DIY Aquarium Controller: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: DIY Aquarium Controller: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: DIY Arduino Aquarium Controller Part1: Introduction and design 2024, กรกฎาคม
Anonim
ตัวควบคุมพิพิธภัณฑ์สัตว์น้ำ DIY
ตัวควบคุมพิพิธภัณฑ์สัตว์น้ำ DIY

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

เอาล่ะ แต่ทำไมฉันถึงต้องการมัน?

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

ตกลง คุณรู้แล้วว่าทำไมคุณถึงต้องการมัน ตอนนี้เรามาดูวิธีทำกัน

หมายเหตุ: คำแนะนำนี้เกี่ยวกับการสร้างตัวควบคุมตู้ปลาเท่านั้น ไม่เกี่ยวกับการสร้างตู้ปลาเอง ฉันคิดว่าคุณมีตู้ปลาที่ "ใช้งานได้" พร้อมปลาและพืชอยู่แล้ว หรือคุณต้องการสร้างตู้ปลาใหม่

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

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

ชิ้นส่วนอิเล็กทรอนิกส์:

  • Arduino (ฉันใช้ Nano 3.0) - คุณสามารถใช้ Arduino ใดก็ได้ แต่ควรมีหน่วยความจำอย่างน้อย 30 kB
  • แถบ LED (เพิ่มเติมเกี่ยวกับ LED ในขั้นตอนที่ 2)
  • เซ็นเซอร์อุณหภูมิกันน้ำ (ฉันใช้ DS18B20) - ฉันใช้เซ็นเซอร์ 2 ตัว แต่อันเดียวก็เพียงพอแล้ว
  • จอ LCD (ฉันใช้ 1602 I2C)
  • นาฬิกาแบบเรียลไทม์ (ฉันใช้ DS3231)
  • เซ็นเซอร์สัมผัสดิจิตอล 4 ช่อง (ฉันใช้อันนี้)
  • เซ็นเซอร์ระดับน้ำ (ไม่ได้ใช้)
  • ทรานซิสเตอร์เพื่อควบคุม LED (ฉันใช้ IRF840 แต่คุณสามารถใช้ MOSFET อื่นได้)
  • ตัวควบคุมแรงดันไฟฟ้า 5V
  • ออด (ตัวเลือกสำหรับการปลุก)
  • ตัวต้านทาน 10k, 4.7k และ 1k ohm
  • ปลั๊กไฟ DC ตัวเมีย 5.5*2.1 mm
  • แหล่งจ่ายไฟ DC 12V (ขึ้นอยู่กับปริมาณพลังงานที่ใช้แถบไฟ LED ของคุณเลือกแหล่งจ่ายไฟที่มีกำลังไฟเพียงพอ)

ส่วนอื่นๆ:

  • บอร์ด PCB สากล
  • ส่วนหัวของหมุดตัวผู้
  • ลวดจำนวนมาก (ตัวเมียกับตัวผู้, ตัวเมียกับตัวเมีย และสายแกนแข็ง)
  • บัดกรีจำนวนมาก
  • เนคไทซิป
  • ท่อหดความร้อน
  • แท่งกาวร้อน
  • ขั้วต่อสายไฟ

เครื่องมือ:

  • หัวแร้ง
  • เครื่องตัดลวด
  • ปืนความร้อน
  • ปืนกาวร้อน
  • กรรไกร
  • เครื่องพิมพ์ 3D (เพื่อพิมพ์เมาท์สำหรับ LCD)
  • สายวัด
  • เครื่องเจาะ (ไม่จำเป็น)
  • ไขควง

ทักษะ:

  • การเขียนโปรแกรม Arduino (ลองดูคลาสนี้)
  • การบัดกรี (ดูบทช่วยสอนนี้)
  • การพิมพ์ 3 มิติและการวาดภาพ 3 มิติ (ดูคลาสนี้)

อย่างที่ฉันพูดไปก่อนหน้านี้ ชิ้นส่วนทั้งหมด (ยกเว้นแถบ LED) มีราคาประมาณ 15 เหรียญ

ขั้นตอนที่ 2: เบา

แสงสว่าง
แสงสว่าง

ฉันไม่ใช่ผู้เชี่ยวชาญ จึงมีลิงก์ที่อธิบายทุกอย่างเกี่ยวกับแสง:

  • ทั้งหมดเกี่ยวกับแหล่งกำเนิดแสงในพิพิธภัณฑ์สัตว์น้ำ
  • เกี่ยวกับสเปกตรัมแสง
  • ใช้ LED เป็นแหล่งกำเนิดแสงในตู้ปลา
  • คู่มือผู้ซื้อ LED

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

กันน้ำหรือไม่?

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

RGB แถบสีต่างกันหรือแถบสีเดียว?

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

ไฟ LED จำนวนมากที่ปล่อยแสงน้อยลงหรือไฟ LED ที่มีพลังน้อยมาก?

มันไม่สำคัญจริงๆ ในความคิดของฉัน ไฟ LED หลายดวงที่ปล่อยแสงน้อยกว่าจะดีกว่าเพราะดูเหมือนมีแหล่งกำเนิดแสงขนาดใหญ่เพียงแห่งเดียว แต่มันเป็นเพียงความคิดเห็นของฉัน

ขั้นตอนที่ 3: บอร์ดควบคุมพิพิธภัณฑ์สัตว์น้ำ

คณะกรรมการควบคุมพิพิธภัณฑ์สัตว์น้ำ
คณะกรรมการควบคุมพิพิธภัณฑ์สัตว์น้ำ
คณะกรรมการควบคุมพิพิธภัณฑ์สัตว์น้ำ
คณะกรรมการควบคุมพิพิธภัณฑ์สัตว์น้ำ
คณะกรรมการควบคุมพิพิธภัณฑ์สัตว์น้ำ
คณะกรรมการควบคุมพิพิธภัณฑ์สัตว์น้ำ

ตอนนี้เรามาทำบอร์ดที่จะควบคุมตู้ปลากันเถอะ

ไฟ LED

คุณต้องสร้างตัวเชื่อมต่อที่คุณสามารถเชื่อมต่อแถบ LED ได้อย่างง่ายดาย ในการทำเช่นนี้คุณต้องมีหมุดและขั้วต่อสายไฟ 2 เส้นเหมือนภาพที่ 3 ขันสกรูส่วนที่ยาวกว่าของพินเข้ากับขั้วต่อแต่ละตัว สร้างตัวเชื่อมต่อได้มากเท่าที่คุณต้องการเพื่อเชื่อมต่อแถบ LED ของคุณ ฉันต้องการ 3 - หนึ่งอันสำหรับแต่ละแถบ

ชิ้นส่วนบัดกรี

วางแผนว่าคุณจะประสานชิ้นส่วนที่ไหน (คุณสามารถดูภาพที่ 4) ฉันใช้ออดเพื่อเตือนเมื่ออุณหภูมิลดลงต่ำเกินไปหรือสูงเกินไป แต่คุณไม่จำเป็นต้องใช้ โปรดจำไว้ว่าตัวต้านทาน 10k ohm อยู่ระหว่างพอร์ต GND และ Arduino PWM ซึ่งควบคุม MOSFET ตัวต้านทาน 1k ohm อยู่ระหว่างพอร์ต Arduino PWM ซึ่งควบคุมเกต MOSFET และ MOSFET และตัวต้านทาน 4.7k ohm อยู่ระหว่างพอร์ต Arduino ซึ่งอ่านอุณหภูมิจากเซ็นเซอร์ และ +5V พยายามวางพินให้ใกล้กับพอร์ต Arduino ที่เหมาะสมที่สุด

ตอนนี้คุณสามารถประสานชิ้นส่วนเข้ากับบอร์ด PCB ได้ หากคุณบัดกรีทุกส่วนเข้ากับบอร์ด คุณสามารถต่อสายได้ ข้อควรจำ - จาก LEDs ไปยังแหล่งสัญญาณใน MOSFET และระบายจาก MOSFET เป็น GND และอย่าลืมเชื่อมต่อ LED โดยตรงกับ 12V จากแหล่งจ่ายไฟ DC ไม่ใช่กับตัวควบคุมแรงดันไฟฟ้า คุณสามารถเพิ่มป้ายกำกับให้กับหมุดเพื่อดูว่าขาใดเป็นหมุด

ฉันไม่ได้ใช้เซ็นเซอร์ระดับน้ำ แต่ถ้าคุณต้องการ คุณสามารถใช้ได้

โปรแกรม Arduino

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

  • LiquidCrystal_I2C
  • DS3231
  • OneWire
  • ดัลลาสอุณหภูมิ
  • ลวด (ไลบรารีมาตรฐาน)
  • EEPROM (ไลบรารีมาตรฐาน)

หากคุณดาวน์โหลดไลบรารี่ทั้งหมด คุณสามารถอัปโหลดโปรแกรมไปยัง Arduino ได้ คุณจะพบรหัสที่ด้านล่างของเว็บไซต์นี้ (หรือดาวน์โหลดได้ที่นี่)

ขั้นตอนที่ 4: ติดตั้งทุกสิ่ง

ติดตั้งทุกสิ่ง
ติดตั้งทุกสิ่ง
ติดตั้งทุกสิ่ง
ติดตั้งทุกสิ่ง
ติดตั้งทุกสิ่ง
ติดตั้งทุกสิ่ง

แถบ LED

ขั้นแรก คุณต้องรู้ว่าคุณต้องการแถบกี่เส้นและยาวแค่ไหน หากคุณใช้ฮูดที่ไม่ได้ออกแบบมาสำหรับ LED (เหมือนของฉัน) ให้ตรวจสอบว่าคุณสามารถติดแถบได้ที่ไหน

ตัดแถบและสายบัดกรีไปที่ + และ - บนแถบ หากไฟ LED ไม่มีฝาครอบใด ๆ คุณต้องแยกสายไฟออก ใช้ท่อหดความร้อนและเทปฉนวนและกาวร้อนจำนวนมาก ตอนนี้ติดแถบ LED เข้ากับฝากระโปรงหน้า คุณสามารถใช้อะซิโตนเพื่อขจัดคราบไขมันบนพื้นผิว และใช้กาวร้อนจำนวนมากติดแถบไว้กับฮู้ดเพื่อไม่ให้หล่นลงมา หากติดแถบ ให้เดินสายไฟไปยังตำแหน่งที่จะติดตั้งแผงควบคุม

ทดสอบ

ตอนนี้ก็ถึงเวลาสำหรับการทดสอบ เชื่อมต่อจอแสดงผล RTC เซ็นเซอร์สัมผัสดิจิตอล 4 ช่อง เซ็นเซอร์อุณหภูมิ เซ็นเซอร์ระดับน้ำ (ถ้ามี) ไฟ LED และเชื่อมต่อไฟ

หากทุกอย่างเปิดขึ้นและ LCD แสดงเวลาและอุณหภูมิ ทุกอย่างทำงานได้ดี

ตอนนี้ฉันจะบอกวิธีควบคุมมัน ฟังก์ชั่นของแต่ละปุ่ม: 1 (ดูรูปที่ 5) - เมนูตกลงยอมรับ; 2 - ยกเลิก, ย้อนกลับ; 3 - ลง, ซ้าย; 4 - ขึ้นขวา

หากต้องการเปลี่ยนเวลาคุณต้องคลิก 1 จากนั้น 2 คูณ 4 และ 1 (เพื่อเข้าสู่นาฬิกา) คลิก 1 เพื่อตั้งเวลา เมื่อคลิก 3 และ 4 เลือกชั่วโมง จากนั้นคลิก 1 เพื่อยอมรับชั่วโมง จากนั้นเลือกนาที แล้วคลิก 1 จากนั้นเลือกวินาที การเปลี่ยนแปลงจะถูกบันทึกเมื่อคุณคลิก 1 หลังจากเลือกวินาที หากคุณทำผิดพลาดและต้องการยกเลิก คลิก 2

จากนั้นย้ายไปที่ Set Date และตั้งวันที่ตามที่คุณตั้งเวลา ตั้งค่าถัดไปหากเวลาฤดูร้อนเปิดหรือปิด (ค่าเริ่มต้นคือปิด) สุดท้าย กำหนดวันในสัปดาห์

ตอนนี้คุณต้องตั้งค่าเวลาที่คุณต้องการให้ไฟเปิดและปิด คลิก 2 เพื่อกลับไปยังเมนูหลัก คลิก 3 สองครั้ง คลิก 1 เพื่อไปที่การตั้งค่าแสง หากคุณต้องการปิดไฟโดยสมบูรณ์ ให้ไปที่โหมดและตั้งค่าจากอัตโนมัติเป็นปิด แต่ตอนนี้คุณต้องทดสอบ LED ดังนั้นอย่าทำอย่างนั้น คลิก Dawn Start เพื่อตั้งค่าเมื่อคุณต้องการเปิดไฟ จากนั้นตั้งค่าระยะเวลารุ่งอรุณ (ควรเปิดไฟ LED นานแค่ไหน) คลิก Dusk Start เพื่อตั้งค่าเมื่อคุณต้องการปิดไฟ และหลังจากนั้นให้ตั้งระยะเวลาพลบค่ำ (นานแค่ไหนที่ไฟ LED จะดับ) หากเวลาอยู่ระหว่าง Dawn Start และ Dusk Start ไฟ LED ควรเปิดอย่างช้าๆ หากไม่เป็นเช่นนั้น ให้เปลี่ยน Dusk Start ที่จะเริ่มทำงานในภายหลัง หากไฟ LED เปิดขึ้นทุกอย่างก็ยอดเยี่ยม หากคุณจะตัดการเชื่อมต่อพลังงาน การตั้งค่าทั้งหมดจะถูกบันทึกไว้ใน EEPROM

ตอนนี้คุณสามารถติดตั้ง LCD เข้ากับฝากระโปรงตู้ปลาได้

ที่จับ LCD

ก่อนอื่น ดาวน์โหลดและพิมพ์ส่วน STL ซึ่งคุณจะพบได้ที่ด้านล่างของเว็บไซต์ (คุณสามารถดาวน์โหลดได้ที่นี่) คุณจะต้องมีเดือยอิเล็กทรอนิกส์ 6 อันและเดือยเมานต์ 6 อัน

ติดเซ็นเซอร์สัมผัสดิจิตอล 4 แชนเนลเข้ากับฝาครอบแผงสัมผัสโดยใช้เดือยอิเล็กทรอนิกส์ 2 อัน จากนั้นติดฝาครอบแผงสัมผัสที่มีเซ็นเซอร์สัมผัสดิจิตอล 4 ช่องเข้ากับจอ LCD ที่ติดตั้งโดยใช้เดือยยึด 2 อัน (ภาพที่ 5)

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

ติด LCD เข้ากับฮูดและต่อสายไฟที่เหลือ

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

ขั้นตอนที่ 5: จุดจบ

ตอนจบ
ตอนจบ

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

ดังนั้นอัปเกรดและแบ่งปันรูปภาพ หวังว่าคุณจะชอบสิ่งนี้

ขอบคุณสำหรับการอ่านและพบกันเร็ว ๆ นี้

Simonexc

ขั้นตอนที่ 6: การแก้ไขปัญหา

ข้อผิดพลาด:

LiquidCrystal_I2C\I2CIO.cpp:35:26: ข้อผิดพลาดร้ายแรง:../Wire/Wire.h: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

สารละลาย:

ในไลบรารี LiquidCrystal_I2C ในไฟล์ I2CIO.cpp เปลี่ยนบรรทัดที่ 35 จาก #include เป็น #include

ข้อผิดพลาด:

ไม่มีข้อความบนหน้าจอหรือมีสัญลักษณ์แปลกๆ

สารละลาย:

สายไฟเชื่อมต่อไม่ถูกต้อง ขยับสายไฟเล็กน้อยหรือบัดกรีให้เรียบร้อย

แนะนำ: