สวัสดีทุกคนที่รักไมโครคอนโทรลเลอร์ DIY. หากคุณเป็นเจ้าของสุขพิพิธภัณฑ์สัตว์น้ำบ้านบทความนี้อาจเป็นที่สนใจของคุณ ในนั้นฉันจะอธิบายในรายละเอียดกระบวนการทั้งหมดของการสร้างที่เรียบง่าย แต่มีประโยชน์มากทำที่บ้าน - aquacontroller ออกแบบมาเพื่ออำนวยความสะดวกในการดำรงชีวิตของเจ้าของโลกใต้ทะเลขนาดเล็ก
ดังที่คุณทราบโครงการที่ประสบความสำเร็จใด ๆ เริ่มต้นด้วยการเตรียมข้อกำหนดทางเทคนิค ต่อไปนี้เป็นข้อกำหนดและฟังก์ชั่นพื้นฐานที่ฉันต้องการได้จากนักเพาะเลี้ยงสัตว์น้ำ:
- ต้นทุนต่ำและความพร้อมของส่วนประกอบ
- เวลาที่ปรับแต่งได้สำหรับการเปิดและปิดไฟในพิพิธภัณฑ์สัตว์น้ำ;
- โหมดการให้อาหาร (ตัวกรองปิดและเริ่มต้นโดยอัตโนมัติหลังจาก 15 นาที);
- การรวมตารางการให้อาหาร;
- การวัดอุณหภูมิและความชื้นของอากาศโดยรอบ (เป็นการเพิ่มเติม)
- การแสดงวันที่เวลาปัจจุบันและพารามิเตอร์อื่น ๆ บนหน้าจอ LCD;
- การจัดการและการตั้งค่าพารามิเตอร์ผ่านเมนูโดยใช้ 4 ปุ่ม (ขึ้น, ลง, ตกลง, ยกเลิก);
- เวลาที่ปรับแต่งได้สำหรับการเปิดและปิดไฟในพิพิธภัณฑ์สัตว์น้ำ;
- โหมดการให้อาหาร (ตัวกรองปิดและเริ่มต้นโดยอัตโนมัติหลังจาก 15 นาที);
- การรวมตารางการให้อาหาร;
- การวัดอุณหภูมิและความชื้นของอากาศโดยรอบ (เป็นการเพิ่มเติม)
- การแสดงวันที่เวลาปัจจุบันและพารามิเตอร์อื่น ๆ บนหน้าจอ LCD;
- การจัดการและการตั้งค่าพารามิเตอร์ผ่านเมนูโดยใช้ 4 ปุ่ม (ขึ้น, ลง, ตกลง, ยกเลิก);
วงจรที่แสดงในรูปที่ 1 เกิดจากวงจรข้างต้น
องค์ประกอบหลักคือคณะกรรมการ Arduino ProMiniได้มาในประเทศจีน เมื่อมันปรากฏออกมาในภายหลังมีการติดตั้งคอนโทรลเลอร์ ATmega168 แทน ATmega328. นี่ทำให้ฉันคนจรจัดด้วยการเพิ่มประสิทธิภาพของโปรแกรมเนื่องจากมันกลายเป็นเหลือทนสำหรับคอนโทรลเลอร์นี้เนื่องจากขนาดครึ่งหนึ่งของหน่วยความจำแฟลช
หน้าจอ LCD 16 บรรทัดที่เป็นที่รู้จักกันดีถูกเลือกสำหรับการแสดงข้อมูล ในโครงการมันเชื่อมต่อกับ Arduino บนบัสข้อมูล 4 สาย
เซ็นเซอร์ดิจิตอลมีหน้าที่ในการวัดอุณหภูมิและความชื้น DTH11. สำหรับความต้องการภายในประเทศก็เพียงพอแล้ว ในความเป็นจริงมันไม่ได้มีวัตถุประสงค์ที่เฉพาะเจาะจงและมีการเพิ่มอย่างหมดจดเป็นนอกเหนือจากภาพรวม
ในการควบคุมหลอดฟลูออเรสเซนต์และฟิลเตอร์ฉันใช้สองช่องสัญญาณซิมเตอร์เพื่อสร้างออปโตซิม MOC3063 และเพาเวอร์ซิสเตอร์ BT137-600E. สิ่งนี้ทำให้เราสามารถกำจัดวงจรของรีเลย์เชิงกลด้วยเหตุผลบางอย่างที่ฉันไม่รู้สึกเห็นใจ
ปุ่มการจัดการ - นาฬิกาปกติโดยไม่ต้องแก้ไข
เนื่องจากการตั้งค่าทั้งหมดเชื่อมโยงกับช่วงเวลาที่ระบุอุปกรณ์ต้องมีนาฬิกาแบบเรียลไทม์ในกรณีนี้ฉันใช้โมดูล TinyRTC ขึ้นอยู่กับ microcircuit DS1703. โมดูลถูกควบคุมโดยโปรโตคอล I2C และมีตัวเชื่อมต่อสำหรับการติดตั้งแบตเตอรี่ซึ่งช่วยให้คุณประหยัดวันที่และเวลาเมื่อปิดเครื่อง ฟีดโมดูลภายนอกจะแสดงในรูปถ่ายหมายเลข 2
ภาพถ่ายหมายเลข 2 - โมดูลนาฬิกาเรียลไทม์
ดังนั้นความต้องการจะถูกกำหนดแบบแผนจึงถูกวาดขึ้น - คุณสามารถไปที่ขั้นตอนการออกแบบของแผงวงจรพิมพ์ บริการออนไลน์ของ EasyEda ช่วยให้ฉันรับมือกับงานนี้ได้สำเร็จ เพื่อไม่ให้รำคาญกับรูเจาะฉันตัดสินใจที่จะวางรางและส่วนประกอบทั้งหมดที่ถือกระแสอยู่ในชั้นบน เมื่อบิดรายละเอียดเล็กน้อยในตัวแก้ไขฉันได้รับการออกแบบ PCB พร้อมจัมเปอร์เพียงสามตัว การปรากฏตัวของคณะกรรมการสามารถดูได้ในรูปที่ 3
รูปที่ 3 - การปรากฏตัวของแผงวงจร aquacontrol
ผู้ที่ต้องการทำซ้ำโครงการสามารถดาวน์โหลดไฟล์ PCB ได้จากลิงค์นี้:
ดูไฟล์ออนไลน์:
ดูไฟล์ออนไลน์:
ดังนั้นสิ่งที่คุณควรให้ความสนใจ ความต้านทาน R4 และ R8 - แฝดทั้งหมดที่เหลือทำใน SMD การเคหะ 1206. ปุ่มนาฬิกามีขนาด 12x12. บอร์ดยังมีตัวแปลงแรงดันไฟฟ้าจีน 220V / 5Vลักษณะที่ปรากฏในภาพถ่ายหมายเลข 4
รูปถ่ายหมายเลข 4 - ตัวแปลงแรงดันไฟฟ้า 220V / 5V
หน้าจอ LCD และโมดูลนาฬิกาแบบเรียลไทม์ได้รับการวางแผนให้ติดตั้งบนชั้นวางแบบ to-board ซึ่งบทบาทที่ฉันทำสำเร็จด้วยการตัดเดือยพลาสติก
เกี่ยวกับเรื่องนี้คุณสมบัติทั้งหมดของการติดตั้งถูกกำหนดและมันยังคงเป็นเพียงการโอนบอร์ดจากหน้าจอมอนิเตอร์ไปยังโลกทางกายภาพ เลือกวิธีที่รู้จักกันดีสำหรับสิ่งนี้ LUTหมายถึงการมีเครื่องพิมพ์เลเซอร์และเหล็ก สำหรับผู้ที่ไม่คุ้นเคยกับเทคโนโลยีแห่งอนาคตกระบวนการสร้างแผงวงจรในห้องน้ำของฉันจะอธิบายไว้ด้านล่าง
ดังนั้นสำหรับผู้เริ่มมองหานิตยสารที่มีหน้ามันหรือกระดาษภาพถ่าย เราพิมพ์ลวดลายบอร์ดบนเครื่องพิมพ์เลเซอร์โดยไม่ลืมที่จะพลิกมัน เราเตรียมชิ้นส่วนของแก้ว - เท็กซัลเคลือบผิวด้วยกระดาษฟอยล์ตามขนาดของช่องว่างและบดผิวทองแดงด้วยกระดาษทรายละเอียดเพื่อให้เปล่งประกาย มันควรเป็นแบบนี้ (ภาพถ่ายหมายเลข 5)
ต่อไปเราจะทำการพิมพ์ไปที่ฟอยล์และนำไปใช้กับ PCB หลังจากนั้นเราก็ขับกระดาษร้อนด้วยเหล็กร้อนประมาณ 3 นาที เวลาอุ่นเครื่องที่นี่อาจแตกต่างกันไปขึ้นอยู่กับอุณหภูมิของเหล็กและประสบการณ์ของนักแสดงของพิธีกรรมลับนี้ สิ่งนี้จะมีลักษณะคล้ายกับภาพ (รูปที่ 6):
หลังจากที่กระดาษติดเข้ากับ PCB อย่างแน่นหนาให้ปิดเตารีดแล้วปล่อยให้แผงวงจรเย็นลง ตอนนี้คุณต้องเอาเลเยอร์กระดาษออกอย่างระมัดระวังและในเวลาเดียวกันก็ไม่ทำให้ผงหมึกเหนียว เพื่อให้กรณีประสบความสำเร็จกระดาษจะต้องชุบและลบออกด้วยการกลิ้งด้วยปลายนิ้ว กระบวนการนี้แสดงให้เห็นชัดเจนยิ่งขึ้นในรูปภาพหมายเลข 7
บางครั้งมันเกิดขึ้นที่ในบางสถานที่หมึกก็ไม่ติด ในกรณีนี้พื้นที่เหล่านี้สามารถทำได้โดยมีเครื่องหมายถาวร รูปที่ 8 แสดงบอร์ดหลังจากนำกระดาษออก โปรดทราบว่าในส่วนด้านซ้ายไม่มีส่วนใดของรูปซึ่งจะถูกกู้คืนโดยวิธีการข้างต้น
เมื่อกำจัดช่วงเวลาที่ไม่พึงประสงค์ออกไปแล้วคุณสามารถเริ่มแกะสลักได้ สำหรับเรื่องนี้ฉันใช้วิธีการแก้ปัญหาของเฟอร์ริกคลอไรด์เป็นหนึ่งในตัวเลือกที่เหมาะสมและปลอดภัยที่สุด หลังจากแกะสลักบอร์ดให้ทั่วล้างด้วยตัวทำละลายเพื่อกำจัดผงหมึกออกจากแทร็ค จากนั้นเราทำความสะอาดอีกครั้งด้วยกระดาษทรายคุณภาพดีขจัดคราบและดีบุก ผลลัพธ์จะแสดงในรูปที่ 9
หนึ่งในขั้นตอนหลักเสร็จสมบูรณ์ ขั้นตอนต่อไปคือการติดตั้งและบัดกรีส่วนประกอบวิทยุ นี่เป็นกระบวนการที่สร้างสรรค์และเป็นรายบุคคล หากคุณมีคำถามใด ๆ ฉันพร้อมที่จะตอบคำถามเหล่านี้ในความคิดเห็น แต่ตอนนี้ฉันจะแสดงให้คุณเห็นสิ่งที่ฉันได้รับ (รูปที่ 10):
ดังที่ฉันได้เขียนไว้ด้านบนจอแสดงผลและโมดูลนาฬิกาถูกยกขึ้นเหนือบอร์ดโดยใช้ชั้นวางพลาสติกที่ทำจาก dowels เพื่อการติดตั้งที่รวดเร็วเซ็นเซอร์อุณหภูมิและความชื้นจะแสดงแยกต่างหากที่ด้านบนของอุปกรณ์ ในความเห็นของฉันด้วยข้อตกลงนี้การอ่านจะมีความแม่นยำมากขึ้น สำหรับช่องแสงและฟิลเตอร์จะมีช่องจ่ายไฟภายนอกสองช่องที่ด้านล่างของบอร์ด นอกจากนี้ความสูงของปุ่มยังไม่เพียงพอดังนั้นฉันจึงวางแผนที่จะเพิ่มด้วยบุชพลาสติก อุปกรณ์บางอย่างมีลักษณะเกือบเสร็จแล้วแสดงในรูปที่ 11
ก่อนที่คุณจะประทับตราส่วนบนของเคสคุณต้องเขียนเฟิร์มแวร์ก่อน Arduino ProMini. เมื่อต้องการทำเช่นนี้ฉันใส่พินบนกระดานที่เชื่อมต่อกับผู้ติดต่อ VCC, GND, RX และ เท็กซัส. ในการเขียนโปรแกรม Arduino ProMini ใช้ง่ายที่สุด โปรแกรมเมอร์ USBแต่ไม่สามารถใช้งานได้ บทบาทของเขาสำเร็จได้โดยคณะกรรมการอื่น Arduino uno เมื่อถอดคอนโทรลเลอร์ออกแล้ว ฉันจะไม่เข้าไปดูรายละเอียดของกระบวนการนี้เนื่องจากมีบทความมากมายในเรื่องนี้บนอินเทอร์เน็ต ฉันจะให้รูปที่ 12 เท่านั้นเพื่อความชัดเจน
ทีนี้มาพูดถึงโปรแกรมกัน เมื่อคุณเปิดเครื่องหน้าจอหลักจะปรากฏขึ้น จะแสดงข้อมูลเกี่ยวกับวันที่เวลาอุณหภูมิและความชื้นปัจจุบัน นอกจากนี้ยังมีตัวอักษรพิเศษหลายตัวที่แสดงขึ้นอยู่กับสถานะปัจจุบันของระบบ ได้แก่ : ไฟสว่าง - ไอคอนดวงอาทิตย์; ไฟดับ - ไอคอนพระจันทร์ ตัวกรองเปิด - ไอคอนตัวกรอง กำลังดำเนินการให้อาหาร - ไอคอนปลา เมื่อคุณคลิกตกลงผู้ใช้จะเข้าสู่เมนูที่สามารถกำหนดค่าพารามิเตอร์เช่น:
- โหมดควบคุมแสง ในส่วนนี้คุณสามารถเปิดและปิดไฟได้ด้วยตนเองโดยเลือกรายการเมนูที่เกี่ยวข้องและตั้งเวลาเปิดและปิดตามตาราง
- โหมดควบคุมตัวกรอง ให้คุณเปิดและปิดตัวกรองด้วยตนเองเลือกฟังก์ชั่น“ การให้อาหาร” (fedding) และกำหนดตารางการให้อาหาร ในโหมดการให้อาหารตัวกรองจะหยุดและเรียกคืนโดยอัตโนมัติหลังจาก 15 นาที
- ตั้งค่าวันที่ปัจจุบัน
- การตั้งค่าเวลาปัจจุบัน ข้อมูลวันที่และเวลาจะถูกบันทึกไว้ในโมดูลนาฬิกาและเมื่อปิดเครื่องข้อมูลจะไม่ถูกรีเซ็ตหากติดตั้งแบตเตอรี่ไว้
เพื่อความเข้าใจที่ดีขึ้นรูปที่ 13 แสดงโครงสร้างเมนู
- โหมดควบคุมแสง ในส่วนนี้คุณสามารถเปิดและปิดไฟได้ด้วยตนเองโดยเลือกรายการเมนูที่เกี่ยวข้องและตั้งเวลาเปิดและปิดตามตาราง
- โหมดควบคุมตัวกรอง ให้คุณเปิดและปิดตัวกรองด้วยตนเองเลือกฟังก์ชั่น“ การให้อาหาร” (fedding) และกำหนดตารางการให้อาหาร ในโหมดการให้อาหารตัวกรองจะหยุดและเรียกคืนโดยอัตโนมัติหลังจาก 15 นาที
- ตั้งค่าวันที่ปัจจุบัน
- การตั้งค่าเวลาปัจจุบัน ข้อมูลวันที่และเวลาจะถูกบันทึกไว้ในโมดูลนาฬิกาและเมื่อปิดเครื่องข้อมูลจะไม่ถูกรีเซ็ตหากติดตั้งแบตเตอรี่ไว้
เพื่อความเข้าใจที่ดีขึ้นรูปที่ 13 แสดงโครงสร้างเมนู
ดาวน์โหลดเฟิร์มแวร์สำหรับ Arduino Pro Mini และห้องสมุดที่จำเป็นทั้งหมดสามารถ ลิงค์นี้
หลังจากเขียนโปรแกรมไปยังไมโครคอนโทรลเลอร์คุณสามารถปิดเคสและดำเนินการทดสอบในสภาพจริงได้ ผ่านไปประมาณหนึ่งสัปดาห์ก่อนที่จะเขียนบทความนี้ นักเพาะเลี้ยงสัตว์น้ำทำงานได้อย่างสมบูรณ์แบบโดยไม่เกิดความผิดพลาดใด ๆ ช่วยฉันจากการดึงส้อมอย่างต่อเนื่องหากจำเป็นเพื่อให้อาหารปลาหรือปิดไฟ ผลลัพธ์ของความพยายามของฉันแสดงในรูปที่ 16