เซ็นเซอร์แบบโฮมเมดสำหรับ Arduino บ้านอัจฉริยะที่ใช้ Arduino: คำแนะนำการประกอบทีละขั้นตอน Arduino นำเสนอโซลูชั่นอะไรบ้าง?

สวัสดีตอนบ่าย วันนี้ฉันจะแบ่งปันคำแนะนำในการทำนาฬิกาด้วยเทอร์โมมิเตอร์ในห้อง( นาฬิกา Arduino DIY- นาฬิกาทำงานบน Arduino UNO หน้าจอกราฟิก WG12864B ใช้เพื่อแสดงเวลาและอุณหภูมิ เป็นเซ็นเซอร์อุณหภูมิ - ds18b20 ต่างจากนาฬิกาอื่น ๆ ส่วนใหญ่ฉันจะไม่ใช้ RTS (นาฬิกาเรียลไทม์) แต่จะพยายามทำโดยไม่มีโมดูลเพิ่มเติมนี้

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

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

เพื่อสร้างนาฬิกานี้เราจะต้อง:

Arduino UNO (หรืออื่นๆ เข้ากันได้กับ Arduinoจ่าย)
- หน้าจอกราฟิก WG12864B
- เซ็นเซอร์อุณหภูมิ ds18b20
- ตัวต้านทาน 4.7 คอม 0.25 W
- ตัวต้านทาน 100 โอห์ม 0.25 W
- ช่องใส่แบตเตอรี่สำหรับแบตเตอรี่ AA จำนวน 4 ก้อน
- กล่องจับคู่
- ไฟล์ละเอียด
- ยาทาเล็บ (สีดำหรือสีทาตัว)
- พลาสติกหรือกระดาษแข็งบางๆ
- เทปพันสายไฟ
- การต่อสายไฟ
- แผงวงจร
- ปุ่ม
- หัวแร้ง
- บัดกรีขัดสน
- เทปสองหน้า

การเตรียมหน้าจอกราฟิก
เมื่อมองแวบแรก การเชื่อมต่อหน้าจอทำให้เกิดปัญหาและความยากลำบากมากมาย แต่ถ้าคุณเข้าใจประเภทของพวกเขาก่อน มันจะง่ายขึ้นและชัดเจนขึ้นมาก มีหน้าจอหลายประเภทและหลายประเภทบนคอนโทรลเลอร์ ks0107/ks0108 โดยทั่วไปหน้าจอทั้งหมดจะแบ่งออกเป็น 4 ประเภท:
ตัวเลือก A: HDM64GS12L-4, Crystalfontz CFAG12864B, Sparkfun LCD-00710CM, NKC Electronics LCD-0022, WinStar WG12864B-TML-T
ตัวเลือก B: HDM64GS12L-5, Lumex LCM-S12864GSF, Futurlec BLUE128X64LCD, AZ แสดง AGM1264F, Displaytech 64128A BC, Adafruit GLCD, DataVision DG12864-88, Topway LM12864LDW, Digitron SG12864J4, 4F, 2, 12864J-1
ตัวเลือก C: เซินเจิ้น Jinghua Displays Co Ltd. JM12864
ตัวเลือก D: Wintek-Cascades WD-G1906G, Wintek - GEN/WD-G1906G/KS0108B, Wintek/WD-G1906G/S6B0108A, TECDIS/Y19061/HD61202, Varitronix/MGLS19264/HD61202

รายการยังไม่ครบนะครับ มีเยอะมาก สิ่งที่พบได้บ่อยที่สุดและในความคิดของฉันสะดวกคือ WG12864B3 V2.0 จอแสดงผลสามารถเชื่อมต่อกับ Arduino ผ่านทางพอร์ตอนุกรมหรือพอร์ตขนาน เมื่อใช้งานร่วมกับ Arduino UNO ควรเลือกการเชื่อมต่อผ่าน พอร์ตอนุกรม– จากนั้นเราจะต้องมีเอาต์พุตไมโครคอนโทรลเลอร์เพียง 3 ตัว แทนที่จะเป็นอย่างน้อย 13 เส้นเมื่อเชื่อมต่อผ่านพอร์ตขนาน ทุกอย่างเชื่อมต่อกันค่อนข้างง่าย มีความแตกต่างอีกอย่างหนึ่ง: คุณจะพบตัวเลือกการแสดงผลสองตัวเลือกลดราคาโดยมีโพเทนชิออมิเตอร์ในตัว (เพื่อปรับคอนทราสต์) และไม่มี ฉันเลือกแล้วและฉันแนะนำให้คุณทำเช่นเดียวกันกับอันที่มีอยู่แล้วภายใน


ซึ่งจะช่วยลดจำนวนชิ้นส่วนและเวลาในการบัดกรี นอกจากนี้ยังควรติดตั้งตัวต้านทานจำกัดกระแส 100 โอห์มสำหรับไฟแบ็คไลท์ การต่อไฟ 5 โวลต์โดยตรงอาจมีความเสี่ยงที่ไฟแบ็คไลท์จะไหม้ได้
WG12864B – Arduino UNO
1 (GND) - GND
2 (วีซีซี) - +5V
4 (อาร์เอส) – 10
5 (ขวา/ซ้าย) – 11
6 (จ) – 13
15 (PSB) – GND
19 (BLA) – ผ่านตัวต้านทาน - +5V
20 (BLK) – GND

วิธีที่สะดวกที่สุดคือการประกอบทุกอย่างด้านหลังหน้าจอแล้วต่อสายไฟ 5 เส้นจากนั้นเชื่อมต่อกับ Arduino UNO ผลลัพธ์ที่ได้ควรมีลักษณะดังนี้:


สำหรับผู้ที่ยังเลือกการเชื่อมต่อแบบขนานผมจะจัดเตรียมตารางการเชื่อมต่อไว้ให้

และแผนภาพสำหรับหน้าจอตัวเลือก B:



สามารถเชื่อมต่อเซ็นเซอร์หลายตัวเข้ากับสายสื่อสารเส้นเดียวได้ หนึ่งอันก็เพียงพอแล้วสำหรับนาฬิกาของเรา เราเชื่อมต่อสายไฟจากพิน "DQ" ของ ds18b20 กับ "pin 5" ของ Arduino UNO

เตรียมบอร์ดด้วยปุ่มต่างๆ
ในการตั้งเวลาและวันที่บนนาฬิกา เราจะใช้ปุ่มสามปุ่ม เพื่อความสะดวกเราประสานปุ่มสามปุ่มบนแผงวงจรและถอดสายไฟออก


เราเชื่อมต่อดังนี้: เราเชื่อมต่อสายไฟทั่วไปกับปุ่มทั้งสามปุ่มเข้ากับ "GND" ของ Arduino ปุ่มแรกซึ่งใช้เข้าสู่โหมดการตั้งค่าเวลาและสลับตามเวลาและวันที่เชื่อมต่อกับ "พิน 2" ปุ่มที่สองสำหรับเพิ่มค่าคือ "พิน 3" และปุ่มที่สามสำหรับลดค่าคือ "พิน 4"

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


ที่ด้านหน้าของหน้าจอตามขอบเราติดเทปโฟมสองหน้าโดยควรเป็นสีดำ


เชื่อมต่อหน้าจอกับ Arduino:


เราเชื่อมต่อเครื่องหมายบวกจากช่องใส่แบตเตอรี่เข้ากับ "VIN" ของ Arduino เครื่องหมายลบกับ "GND" เราวางไว้ด้านหลัง Arduino ก่อนติดตั้งในกล่องอย่าลืมเชื่อมต่อเซ็นเซอร์อุณหภูมิและบอร์ดด้วยปุ่มต่างๆ


การเตรียมและการกรอกแบบร่าง
เซ็นเซอร์อุณหภูมิต้องใช้ไลบรารี OneWire

เอาต์พุตไปที่หน้าจอดำเนินการผ่านไลบรารี U8glib:

หากต้องการแก้ไขและเติมภาพสเก็ตช์ คุณต้องติดตั้งไลบรารีทั้งสองนี้ มีสองวิธีในการทำเช่นนี้ เพียงคลายซิปไฟล์เก็บถาวรเหล่านี้และวางไฟล์ที่คลายซิปไว้ในโฟลเดอร์ "ไลบรารี" ที่อยู่ในโฟลเดอร์การติดตั้ง Arduino IDE หรือตัวเลือกที่สองคือการติดตั้งไลบรารีโดยตรงในสภาพแวดล้อมการเขียนโปรแกรม โดยไม่ต้องแตกไฟล์เก็บถาวรที่ดาวน์โหลดมาใน Arduino IDE ให้เลือกเมนู Sketch - เชื่อมต่อไลบรารี ที่ด้านบนสุดของรายการแบบเลื่อนลง ให้เลือก “ไลบรารี Add.Zip” ในกล่องโต้ตอบที่ปรากฏขึ้น ให้เลือกไลบรารีที่คุณต้องการเพิ่ม เปิดเมนู Sketch อีกครั้ง - เชื่อมต่อไลบรารี ที่ด้านล่างสุดของรายการแบบเลื่อนลงคุณจะเห็น ห้องสมุดใหม่- ตอนนี้ไลบรารี่สามารถนำไปใช้ในโปรแกรมได้แล้ว อย่าลืมรีสตาร์ท Arduino IDE หลังจากทั้งหมดนี้

เซ็นเซอร์วัดอุณหภูมิทำงานโดยใช้โปรโตคอล One Wire และมีที่อยู่เฉพาะสำหรับแต่ละอุปกรณ์ - รหัส 64 บิต การค้นหารหัสนี้ทุกครั้งไม่เป็นประโยชน์ ดังนั้นก่อนอื่นคุณต้องเชื่อมต่อเซ็นเซอร์เข้ากับ Arduino จากนั้นอัปโหลดภาพร่างที่พบในเมนู ไฟล์ – ตัวอย่าง – อุณหภูมิดัลลัส – OneWireSearch จากนั้นเปิดเครื่องมือ - Port Monitor Arduino จะต้องค้นหาเซ็นเซอร์ของเรา เขียนที่อยู่และการอ่านอุณหภูมิปัจจุบัน เราคัดลอกหรือเพียงจดที่อยู่ของเซ็นเซอร์ของเรา เปิดภาพร่าง Arduino_WG12864B_Term มองหาบรรทัด:

Byte addr=(0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97); // ที่อยู่ของเซ็นเซอร์ของฉัน

เราเขียนที่อยู่ของเซ็นเซอร์ของคุณไว้ระหว่างเครื่องหมายปีกกา เพื่อแทนที่ที่อยู่ของเซ็นเซอร์ของฉัน

คลังสินค้า:

//u8g.setPrintPos(44, 64); u8g.print(วินาที); // ส่งออกวินาทีเพื่อควบคุมความถูกต้องของการเคลื่อนไหว

ทำหน้าที่แสดงวินาทีถัดจากคำจารึก "ข้อมูล" นี่เป็นสิ่งจำเป็นเพื่อกำหนดเวลาที่ผ่านไปอย่างแม่นยำ
หากนาฬิกาเดินเร็วหรือช้ากว่า คุณควรเปลี่ยนค่าในบรรทัด:

ถ้า (micros() - prevmicros >494000) ( // เปลี่ยนเป็นอย่างอื่นเพื่อแก้ไขให้ถูกต้องคือ 500000

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

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

Arduino คืออะไร

Arduino เป็นแบรนด์ที่พวกเขาผลิต ฮาร์ดแวร์และ ซอฟต์แวร์ สำหรับการสร้างระบบอัตโนมัติและระบบควบคุมระยะไกลที่เป็นอิสระ

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

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

โมดูลที่แพร่หลายเช่นนี้อาร์ดูโน่ อูโน่ด้วยไมโครคอนโทรลเลอร์แอตเมก้า328 มีลักษณะดังต่อไปนี้:

  • อินพุต/เอาต์พุตดิจิตอล – 14
  • ในจำนวนนี้มี 6 ตัวเป็น PWM
  • อินพุตแบบอะนาล็อก – 6
  • หน่วยความจำ – 32 กิโลไบต์
  • แหล่งจ่ายไฟ – 7-12 โวลต์
  • ราคา – 950 รูเบิล

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

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

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

ที่สุด บอร์ดทรงพลังและมัลติฟังก์ชั่นของสายนี้คือ Arduino Mega ติดตั้งบนแผงวงจรพิมพ์ ตัวควบคุมที่ เมกะ 2560 , องค์ประกอบแยก, พอร์ต USB สำหรับเชื่อมต่อพลังงาน บอร์ดนี้มีพินสากล 54 พินที่สามารถตั้งโปรแกรมให้ทำหน้าที่ I/O ได้ 14 รายการสามารถควบคุมอุปกรณ์อะนาล็อกโดยใช้การปรับความกว้างพัลส์ อินพุตแบบอะนาล็อก 16 ช่องได้รับการออกแบบเพื่อเชื่อมต่ออุปกรณ์อะนาล็อกใด ๆ

คณะกรรมการควบคุม อาร์ดูโน่ เมก้าราคาประมาณ 1,500 รูเบิล วิธีที่ง่ายที่สุดในการเขียนโปรแกรมก็คือด้วย คอมพิวเตอร์ส่วนบุคคลผ่านพอร์ต USB

โมดูลอุปกรณ์ต่อพ่วงสำหรับ Arduino

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

นี่เป็นเพียงบางส่วนเท่านั้น:

  • เครื่องวิเคราะห์ก๊าซ – MQ-2
  • เซนเซอร์ตรวจจับแสง – 2CH-Light-2
  • เซ็นเซอร์อุณหภูมิภายนอก – DS18B20-PL
  • เซ็นเซอร์อุณหภูมิและความชื้นห้อง – DHT-11
  • ตัวขับมอเตอร์ – L298N, L9110
  • โมดูลรีเลย์ – 1ch5V, 4ch5V
  • โมดูล การควบคุมระยะไกลไอซี2262/2272

เซ็นเซอร์ที่ตรวจจับการรั่วไหลของก๊าซในห้องจะตอบสนองต่อโพรเพนและบิวเทนซึ่งเป็นส่วนประกอบของก๊าซในครัวเรือน โมดูลนี้มีการปรับความไวและเอาต์พุตอนาล็อก/ดิจิตอล เซ็นเซอร์วัดแสงอาจเป็นส่วนหนึ่งของ ระบบอัตโนมัติการควบคุมแสง ประกอบด้วยสองช่องสัญญาณอิสระพร้อมการปรับความไวของแต่ละบุคคล เซ็นเซอร์อุณหภูมิภายนอกได้รับการออกแบบให้ทำงานที่อุณหภูมิตั้งแต่ -55 ถึง +125 องศา เซ็นเซอร์อุณหภูมิและความชื้นห้องได้รับการออกแบบ ช่วงอุณหภูมิตั้งแต่ 0 ถึง +55 0 C และความชื้นตั้งแต่ 20 ถึง 90%

เนื่องจากแรงดันไฟฟ้าของโมดูล Arduino อยู่ระหว่าง 7 ถึง 12 โวลต์ เซ็นเซอร์มาตรฐานใดๆ ที่มีระดับการทำงานเดียวกันจึงสามารถใช้เพื่อจัดระเบียบระบบรักษาความปลอดภัยหรือสัญญาณเตือนไฟไหม้ได้

ไดรเวอร์มอเตอร์ช่วยให้คุณสามารถควบคุมมอเตอร์เฟสเดียว สองเฟส สี่เฟส และสเต็ปเปอร์ได้ ด้วยความช่วยเหลือของอุปกรณ์ดังกล่าวคุณสามารถเปิดและปิดมู่ลี่หรือผ้าม่านได้ เซอร์โวไดรฟ์ที่เชื่อมต่อกับไดรเวอร์ช่วยให้คุณสามารถควบคุมการไหลของสารหล่อเย็นในหม้อน้ำทำความร้อนได้ กุญแจรีเลย์เป็นสิ่งที่ขาดไม่ได้ในระบบสมาร์ทโฮม ควบคุมโดยหน่วยลอจิคัลศักย์ +5 โวลต์ รีเลย์อนุญาตให้สลับโหลดในวงจร AC สูงถึง 10 แอมแปร์ที่แรงดันไฟฟ้าสูงถึง 250 โวลต์

สามารถใช้เพื่อเปิดและปิดเต้ารับไฟฟ้า ปั๊มไฟฟ้า และระบบอื่นๆ

โมดูลรีโมทคอนโทรลประกอบด้วยรีโมทคอนโทรลและอุปกรณ์รับสัญญาณ รีโมทคอนโทรลมีปุ่มสี่ปุ่มและส่งคำสั่งไปยังชุดรับสัญญาณในระยะไกลสูงสุด 100 เมตร โมดูลต่อพ่วงทั้งหมดมีแรงดันไฟฟ้าเท่ากัน และเข้ากันได้กับไมโครคอนโทรลเลอร์ Arduino ทุกรุ่น

การจัดระบบระบบสมาร์ทโฮม

ไม่มีทักษะหรือความรู้บางอย่าง แผนภาพวงจรและพื้นฐานด้านอิเล็กทรอนิกส์ก็อย่าทำระบบ “สมาร์ทโฮม” อย่างเต็มรูปแบบจะดีกว่า

การเขียนโปรแกรม ไมโครคอนโทรลเลอร์ของสาย Arduinoดำเนินการในภาษา C/C++

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

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

สำหรับฟังก์ชันจำนวนเล็กน้อย ไมโครคอนโทรลเลอร์ Arduino Uno และชุดโมดูลต่อพ่วงจะเหมาะสม

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

บทสรุป

คอนโทรลเลอร์ Arduino จะช่วยให้คุณทำโปรเจ็กต์บ้านอัจฉริยะให้เสร็จสิ้นได้ในจำนวนที่ค่อนข้างน้อย หากคุณคำนวณต้นทุนทั้งหมดในการเตรียมอพาร์ทเมนต์สามห้องจำนวนเงินไม่น่าจะเกิน 30-40,000 รูเบิล หากคุณลดจำนวนฟังก์ชันลง งบประมาณก็จะยิ่งน้อยลงไปอีก

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

แต่มาทำสิ่งต่าง ๆ ตามลำดับ

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

เมื่อไม่นานมานี้ บนอินเทอร์เน็ต ฉันได้พบกับระบบอัตโนมัติภายในบ้าน MySensors ระบบไร้สายที่ได้รับการพัฒนา (และพัฒนาอย่างต่อเนื่อง) ที่ใช้ Arduino และ nRF24L01+ อย่างไรก็ตาม มันไม่เกี่ยวกับว่าใครสนใจ - ดูแหล่งที่มาสิ

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

หลังจากเล่นกับบอร์ดพัฒนามามากพอแล้ว ฉันจึงตัดสินใจพัฒนาอุปกรณ์ที่สามารถรวมเข้ากับการตกแต่งภายในบ้านได้อย่างเพียงพอ (ไม่สามารถละเลย WAF ได้) ผลลัพธ์ที่ได้คืออุปกรณ์อื่นๆ ที่สามารถฝังเข้ากับผนังในกล่องขนาดมาตรฐาน 63 มม.

นี่เป็นชุดประกอบชุดแรก ฉันจะพยายามสร้างชุดต่อๆ ไปอย่างระมัดระวังยิ่งขึ้น รูขนาดใหญ่ (สำหรับเซ็นเซอร์วัดแสง) จะถูกปิดด้วยแท่งลูกแก้ว

ในรูปแบบกึ่งประกอบมีลักษณะดังนี้:

มุมมองจากอีกด้านหนึ่ง:

ทั้งหมดประกอบด้วย (จีน) 8MHz/3.3V Arduino Pro Mini, โมดูลวิทยุ nRF24L01+, เซ็นเซอร์ตรวจจับความเคลื่อนไหว HC-SR510, เซ็นเซอร์ DHT22 (อุณหภูมิและความชื้น), เซ็นเซอร์วัดแสง BH1750 และปลั๊ก JUNG มาตรฐาน (คุณอาจใช้อุปกรณ์อื่นได้ เช่น Gira , Berker ฯลฯ ฉันเพิ่งใช้สิ่งที่มีอยู่) ค่าใช้จ่ายทั้งหมดประมาณ $15

PCB ได้รับการออกแบบโดย Eagle แหล่งที่มา สั่งจาก ITEADStudio ก็ทำได้ดี (ยกเว้นผ้าไหม คำจารึกกลับกลายเป็นพอใช้ได้)



อาจเป็นแบบอักษรที่เล็กและบางเกินไป มันดูดีบนเยอบีร่า



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

แนวคิดสำหรับโครงการนี้ปรากฏและทำให้ฉันหลงใหลในช่วงวันหยุดของฉัน

ความคิดเป็นดังนี้: “คงจะเจ๋งมากถ้ามีแขนหุ่นยนต์ที่ฉันควบคุมเองได้!” และหลังจากนั้นไม่นานฉันก็เริ่มพัฒนาและดำเนินโครงการนี้ ฉันหวังว่าคุณจะพบว่ามันน่าสนใจ!

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

การออกแบบด้วยมือนำมาจากโครงการโอเพ่นซอร์ส InMoov บนหน้าโครงการ คุณสามารถดาวน์โหลดโมเดล 3 มิติของโหนดทั้งหมดและพิมพ์บนเครื่องพิมพ์ 3 มิติ

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

วัสดุที่จำเป็น

สำหรับโครงการคุณจะต้อง:

ทั้งหมด! คุณสามารถเริ่มโครงการแขนหุ่นยนต์ของคุณได้!

พิมพ์มือ

มือนี้เป็นส่วนหนึ่งของโครงการโอเพ่นซอร์สที่เรียกว่า InMoov นี่คือหุ่นยนต์ที่พิมพ์บนเครื่องพิมพ์ 3 มิติ มือเป็นเพียงหน่วยแยกของโครงสร้างโดยรวม ดาวน์โหลดจากหน้านี้และพิมพ์รายละเอียดต่อไปนี้:

Auriculaire3.stl

ข้อมือเล็กV3.stl

ในกรณีที่ฉันกำลังแนบรายการชิ้นส่วนที่สามารถคลิกได้ เนื่องจากบางส่วนได้ถูกลบออกจากหน้าโครงการหลักแล้ว

RobCableFrontV1.stl

RobRingV3.stl (ฉันต้องทำรูเพิ่มเติมในส่วนนี้เพื่อให้เซอร์โวของฉันพอดี)

RobCableBackV2.stl

RobServoBedV4.stl

(นี่คือส่วน "ผิวหนัง" สองส่วน - ไม่จำเป็นจากมุมมองของความแข็งแกร่งของโครงสร้างและการทำงานของมัน)


ใช้เวลาพิมพ์ทั้งหมดประมาณ 13-15 ชั่วโมง ขึ้นอยู่กับคุณภาพการพิมพ์ ฉันใช้ MakerBot Replicator 2X ฉันแนะนำให้พิมพ์รายละเอียดลายนิ้วมือบนมาตรฐานหรือ ความละเอียดสูงเพื่อหลีกเลี่ยงการเสียดสีที่ไม่พึงประสงค์ในโครงสร้าง


การเชื่อมต่อเซ็นเซอร์โค้งกับ Arduino

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


ตัวต้านทานในภาพถ่ายมีค่าระบุ 22 kOhm สีของสายไฟตรงกับสีที่แสดงในแผนผังการเชื่อมต่อ

หมุด GND ทั้งหมดจากเซ็นเซอร์เชื่อมต่อกับกราวด์ทั่วไป กราวด์ไปที่พิน GND บน Arduino +5V บน Arduino เชื่อมต่อกับพินแหล่งจ่ายไฟทั่วไปจากเซ็นเซอร์ทั้งหมด ขั้วต่อสัญญาณสีน้ำเงินแต่ละตัวเชื่อมต่อกับอินพุตอะนาล็อกแยกต่างหากบนไมโครคอนโทรลเลอร์




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




การติดตั้งเซ็นเซอร์บนถุงมือ

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






ฉันจะไม่ลงรายละเอียดเกี่ยวกับขั้นตอนนี้ มีรายละเอียดครอบคลุมอยู่ในเว็บไซต์ InMoov (ภายใต้ "Assembly Sketches" และ "Assembly Help"):

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


ไม่ต้องรีบติดตั้งสาย ขั้นแรกให้ตรวจสอบการทำงานของเซอร์โวมอเตอร์

การตรวจสอบเซอร์โวมอเตอร์

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

สำคัญ! อย่าลืมเชื่อมต่อพิน Arduino เข้ากับรางลบ: จำไว้ว่าพินกราวด์ทั้งหมดต้องเชื่อมต่อถึงกัน พิน VCC สามารถเชื่อมต่อกับแหล่งจ่ายไฟที่แตกต่างกันได้ แต่ GND จะต้องเหมือนกัน

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


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

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

เพิ่มสายเบ็ด

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

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


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

โชคดีที่นี่เป็นขั้นตอนสุดท้ายของโครงการ!

คำหลัง


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

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

แสดงความคิดเห็นคำถามและแบ่งปัน ประสบการณ์ส่วนตัวด้านล่าง. แนวคิดและโครงการใหม่ๆ มักเกิดในการสนทนา!

ฉันอยากให้กระบวนการทำให้ห้องน้ำแห้งหลังอาบน้ำเป็นไปโดยอัตโนมัติมานานแล้ว ฉันมีรีวิวมากมายเกี่ยวกับเรื่องความชื้น ฉันตัดสินใจที่จะแนะนำวิธีหนึ่งในการต่อสู้กับชีวิต (เพื่อที่จะพูด) อย่างไรก็ตาม ในฤดูหนาวเราจะตากเสื้อผ้าในห้องน้ำ เปิดพัดลมดูดอากาศก็เพียงพอแล้ว แต่การตรวจสอบพัดลมนั้นไม่สะดวกเสมอไป ดังนั้นฉันจึงตัดสินใจติดตั้งระบบอัตโนมัติในเรื่องนี้ ประสบการณ์การใช้งานครั้งแรกไม่ประสบผลสำเร็จ ก็มีรีวิว. แต่ฉันก็ไม่ยอมแพ้...

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


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


(แรงดันไฟฟ้า: 5V. โหลดสูงสุด: 10A 250V AC และ 10A 30V ดี.ซี- ฉันใช้มันเป็นบล็อกรีเลย์ แค่นี้ก็เพียงพอแล้วสำหรับแฟนตัวยง
ฉันยังวาดไดอะแกรมของโมดูลด้วย จะไม่มีปัญหาการเชื่อมต่อ


ไฟ LED สีแดงแสดงว่ามีแรงดันไฟฟ้าอยู่ สีเขียว - การเปิดใช้งานรีเลย์ ฉันเปลี่ยนเซ็นเซอร์ที่ไม่มีประโยชน์ (เซ็นเซอร์ความชื้น ไม่มีอยู่แล้ว) ด้วยความต้านทาน 10 kOhm และยังเพิ่มความต้านทานอีกด้วย มันจะไปที่บล็อก "อัจฉริยะ" ทั้งสองถูกเน้นด้วยสีแดง ทั้งหมดนี้ควรขจัดความเข้าใจผิดที่อาจเกิดขึ้นได้ ท้ายที่สุดแล้วยูนิตรีเลย์นั้นใช้พลังงานจากแรงดันไฟฟ้า 5V และยูนิต "อัจฉริยะ" อยู่ที่ 3.3V บล็อกรีเลย์ถูกควบคุมโดยระดับต่ำ ระดับสูงจะปิดรีเลย์ (พัดลม) เฟิร์มแวร์คำนึงถึงสิ่งนี้ด้วย
วงจรนี้ใช้ตัวเปรียบเทียบที่ใช้ LM393 เดิมทีตัวต้านทานแบบทริมเมอร์มีจุดประสงค์เพื่อปรับเกณฑ์การทำงานของรีเลย์ความชื้น คุณอาจต้องบิดเล็กน้อย
สามารถนำมาใช้ บล็อกง่ายๆรีเลย์ พวกเขามีไว้สำหรับขาย ฉันจะใช้สิ่งที่เหลืออยู่หลังจากความพยายามครั้งสุดท้ายที่ไม่สำเร็จ
ถึงเวลาดูว่าเซ็นเซอร์ AM2302 (DHT22) เข้ามาในรูปแบบใด ฉันสั่งสามอย่างพร้อมกัน ฉันคิดว่ามันไม่ได้จำกัดแค่ห้องน้ำเท่านั้น มีความคิดมากมายในหัวของฉัน ฉันจะหาเวลาและความปรารถนาที่จะนำไปใช้ได้ที่ไหน?


เซ็นเซอร์ถูกปิดผนึกไว้ในถุงป้องกันไฟฟ้าสถิต ทุกอย่างอยู่ที่ใจ การบัดกรีนั้นเรียบร้อย การเรียกร้องสำหรับ รูปร่างฉันไม่มี. แม้แต่กระดานก็ยังถูกล้าง


นี่คือสิ่งที่กล่าวไว้ในหน้าร้าน:

AM2302 โมดูลอุณหภูมิและความชื้นดิจิตอล Humicap เป็นสัญญาณเอาต์พุตดิจิตอลที่มีเซ็นเซอร์รวมอุณหภูมิและความชื้นที่ปรับเทียบแล้ว ใช้เทคโนโลยีการจับโมดูลดิจิตอลโดยเฉพาะและเทคโนโลยีเซ็นเซอร์อุณหภูมิและความชื้นเพื่อให้แน่ใจว่าผลิตภัณฑ์มีความน่าเชื่อถือสูงและมีเสถียรภาพในระยะยาวที่ยอดเยี่ยม เซ็นเซอร์ประกอบด้วยองค์ประกอบการตรวจจับความชื้นแบบคาปาซิทีฟและอุปกรณ์วัดอุณหภูมิที่มีความแม่นยำสูง และเชื่อมต่อกับไมโครคอนโทรลเลอร์ 8 บิตประสิทธิภาพสูง ดังนั้นผลิตภัณฑ์จึงมีคุณภาพดีเยี่ยม การตอบสนองที่รวดเร็ว ความสามารถในการป้องกันการรบกวน ต้นทุนสูง และข้อดีอื่นๆ ขนาดเล็กพิเศษ ใช้พลังงานต่ำ ระยะการส่งสัญญาณสูงสุด 20 เมตร ทำให้เป็นตัวเลือกที่ดีที่สุดสำหรับการใช้งานทุกประเภทและแม้แต่การใช้งานที่มีความต้องการมากที่สุด
ข้อมูลจำเพาะ:
ขนาด: 40x23มม
น้ำหนัก: 4กรัม
แรงดันไฟฟ้า: 5V
พอร์ต: บัสเดี่ยวสองทางดิจิทัล
ช่วงอุณหภูมิ: -40-80 °C ± 0.5 °C
ความชื้น: 20-90% RH ± 2% RH
แพลตฟอร์ม: Arduino, SCM
ในรายการรวมด้วย:
3 x เซนเซอร์ โมดูล
บนกระดานมีส่วนน้อยที่สุด เซ็นเซอร์แยกจากกันไม่ได้ ดังนั้นฉันจึงไม่ทำให้พวกมันพัง
ถึงเวลาลงธุรกิจแล้ว ฉันได้แสดงสิ่งที่ฉันจะใช้บางส่วนแล้ว ฉันจำเป็นต้องมีแหล่งจ่ายไฟ 5V ด้วย ฉันจะทำมันจากที่ชาร์จโทรศัพท์เก่า (ไม่จำเป็นอีกต่อไป)

ที่ชาร์จนี้ไม่มีขั้วต่อ USB มันเก่ามากแล้ว (ฉันแนะนำให้ใช้อันที่ใหม่กว่าพวกเขามีเอาต์พุต 5V) ดังนั้นเอาต์พุตคือ 7V ฉันต้องประสาน MC ของโคลง KREN5 ไม่มีอะไรซับซ้อนเกี่ยวกับเรื่องนี้ ใครก็ตามที่คุ้นเคยกับหัวแร้งจะรู้ดี และใครก็ตามที่ไม่ใช่เพื่อนก็อ่านหัวข้อนี้ไปโดยเปล่าประโยชน์


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


สายแปลง (USB To RS232 TTL UART) จะมีประโยชน์สำหรับ การเขียนโปรแกรมไร้สายโมดูล


บล็อกไดอะแกรมของความคิดของฉันดูเรียบง่าย


แต่แน่นอนว่ามีความแตกต่าง
สิ่งที่เหลืออยู่คือการสร้างโปรแกรมควบคุมพัดลม
มีเงื่อนไขหลายประการ:
1. พัดลมจะเปิดเมื่อมีความชื้นมากกว่า 68%
2. ระยะเวลาการทำงาน (ตั้งเวลา) 5 นาที
3. ถ่ายโอนข้อมูลอุณหภูมิและความชื้นผ่าน WIFI (เฉพาะกรณี)
4. บ่งชี้โหมด WIFI
หากเรามุ่งเน้นไปที่เงื่อนไขที่ 1 Arduino ที่ง่ายที่สุดก็เพียงพอแล้ว แต่ฉันมีบอร์ด Arduino เพียงอันเดียวและมีโมดูล WIFI สามตัว :)
สำหรับฉันโดยส่วนตัวแล้ว ส่วนที่ยากที่สุดคือการเขียนโปรแกรม ซึ่งไม่ใช่หัวข้อของฉันเล็กน้อย (พูดง่ายๆ นะ) แต่ชีวิตดำเนินไปและบรรทุกผู้คนจำนวนมากขึ้นเรื่อย ๆ ฉันจะสำรวจพื้นที่อันกว้างใหญ่ของ Arduino โดยใช้ตัวอย่างของเซ็นเซอร์ความชื้น DHT22 และโมดูล WIFI แต่ถ้าฉันทำสำเร็จคุณก็ทำได้เช่นกัน
ก่อนอื่น ข้อมูลบางอย่างสำหรับหุ่นจำลองอย่างฉัน
โปรแกรม Arduino IDE มีการตั้งค่าไม่เพียงพอสำหรับบอร์ดที่ฉันจะใช้ เช่น ต้องเพิ่ม ESP8266

การเพิ่มส่วนประกอบโดยใช้ ESP8266 เป็นตัวอย่าง

ก่อนอื่น ฉันดาวน์โหลดและติดตั้ง Arduino IDE บนคอมพิวเตอร์ของฉัน จากนั้นฉันก็เปิดโปรแกรม
ไฟล์ → การตั้งค่า → ใส่ลิงค์ในการเพิ่ม ลิงค์→คลิกตกลง ลิงค์:



จำเป็นต้องมีการเชื่อมต่ออินเทอร์เน็ต จำเป็น!
จากนั้นฉันก็ไปหาผู้จัดการบอร์ด
เครื่องมือ→บอร์ด:…→ผู้จัดการบอร์ด


ฉันพบโมดูลของฉัน ฉันเลือก เวอร์ชันล่าสุด- ฉันคลิกติดตั้ง


โปรแกรม Arduino IDE ที่ดาวน์โหลดมายังขาดไลบรารีเซ็นเซอร์ ตัวอย่างเช่น จะต้องเพิ่มไลบรารี DHT22 ด้วย

การเชื่อมต่อไลบรารีโดยใช้ตัวอย่างเซ็นเซอร์ DHT22

ก่อนอื่น ฉันดาวน์โหลดไฟล์เก็บถาวรเช่น DHT.zip จากอินเทอร์เน็ต การค้นหาก็ไม่ใช่ปัญหา
จากนั้นฉันก็เปิดตัว โปรแกรมอาดูโน่ไอดี
Sketch → รวมไลบรารี → เพิ่มไลบรารี zip


แท็บลักษณะนี้จะปรากฏขึ้น


ฉันระบุสถานที่จัดเก็บ…เปิด
เชื่อมต่อห้องสมุดแล้ว


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

และสุดท้ายก็เติมแบบร่าง

เติมร่าง

ฉันเปิดภาพร่างที่เสร็จแล้ว ในกรณีของฉัน “WiFi-DHT22_AleksPoroshin68.ino.


Arduino IDE เริ่มทำงานโดยอัตโนมัติ
จากนั้นฉันก็เชื่อมต่อโปรแกรมเมอร์ไปที่เครื่องมือและเชื่อมต่อพอร์ต Com สิ่งที่คุณเชื่อมต่อจะถูกไฮไลต์ ฉันจะเปิดใช้งานมัน เน็ตบุ๊กของฉันมีสามอัน: com6, com8 และ com10


ฉันกำลังศึกษาเฟิร์มแวร์ คุณสามารถเปลี่ยนชื่อการเข้าถึงและรหัสผ่านได้

ฉันกดปุ่มเพื่อดาวน์โหลด


ร่างจะถูกรวบรวม นานพอแล้ว.


ในเวลานี้คุณต้องกดรีเซ็ต วงจรประกอบโมดูล

ในกรณีนี้ GPIO 00 จะเป็นศูนย์
นี่คือภาพร่าง:
#รวม #รวม #รวม #รวม #รวม "DHT.h" #กำหนด DHTPIN 4 #กำหนด DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); ลอย dhtTemp = น่าน; ลอย dhtHumidity = NAN; int ledPin = 12; //GPIO 12 /* ตั้งค่าเหล่านี้เป็นข้อมูลประจำตัวที่คุณต้องการ */ const char *ssid = "AleksPoroshin"; const char *รหัสผ่าน = "12345678"; เซิร์ฟเวอร์ ESP8266WebServer (80); /* เป็นเพียงข้อความทดสอบเล็กน้อย ไปที่ http://192.168.4.1 ในเว็บเบราว์เซอร์ * เชื่อมต่อกับจุดเข้าใช้งานนี้เพื่อดู*/ ถือเป็นโมฆะ handleRoot() ( String s = " \ร\nอีเอสพี201 อีเอสพี201 ";s += "

"; //s += "สถานะ - การดำเนินการ - การกำหนดค่า"; s += "

โมดูล ESP201"; s += " "; if (isnan(dhtTemp)) s += " Temperature: Reading error"; else ( s += " Temperature: "; s += dhtTemp; s += " C"; ) if ( isnan (dhtHumidity)) s += "ความชื้น: ข้อผิดพลาดในการอ่าน"; else ( s += "ความชื้น: "; s += dhtHumidity; s += " %"; ) if(digitalRead(ledPin) == HIGH) s + = "ฮูด: ปิด"; else s += "ฮูด: เปิด"; "; server.send(200, "text/html", s); ) การตั้งค่าเป็นโมฆะ() ( ล่าช้า (1,000); Serial.begin(115200); Serial.println(); Serial.print("การกำหนดค่าจุดเชื่อมต่อ .."); /*คุณสามารถ< 68) { digitalWrite(ledPin, HIGH); Serial.println("ledPin HIGH"); } else { digitalWrite(ledPin, LOW); Serial.println("ledPin LOW"); } }
ลบพารามิเตอร์รหัสผ่านหากคุณต้องการให้ AP เปิด */ WiFi.softAP(ssid, รหัสผ่าน);
หลังจากอัพโหลดภาพร่างแล้ว ฉันเชื่อมต่อ GPIO กับ +3.3V เพื่อยืนยันการเขียนโปรแกรม จากนั้นฉันก็ปิดมัน เฟิร์มแวร์ถูกอัพโหลดแล้ว


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


ฉันมีความมั่นใจในตัวคนตัดไม้ชาวเยอรมันมากขึ้น และราคาก็สูงกว่าหลายสิบเท่า และที่สำคัญเขาผ่านการตรวจสอบแล้ว
ฉันได้แก้ไขโปรแกรม (เพิ่ม 5 หน่วย) ฉันยอมรับว่าสิ่งนี้เป็นสิ่งที่ผิด แต่ในช่วง 40-70% จะแสดงได้อย่างแม่นยำ มันจะถูกต้องกว่าถ้าลบคุณสมบัติและแก้ไขไลบรารี ฉันไม่พร้อมสำหรับสิ่งนี้ :) เซ็นเซอร์อื่นๆ ก็โกหกเช่นกัน แม้ว่าทุกคนจะแสดงให้เห็นประมาณเดียวกัน

นี่คือลักษณะของหน้าอินเทอร์เน็ตหากคุณเชื่อมต่อกับโมดูล WIFI ของฉัน:


รหัสผ่านและลักษณะที่ปรากฏจะถูกระบุไว้ในแบบร่าง
การสลับเกิดขึ้นที่ความชื้น 68% ทุกอย่างชัดเจน


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


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


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


ที่จะดำเนินต่อไป…

สินค้าจัดทำไว้เพื่อเขียนรีวิวจากทางร้าน บทวิจารณ์นี้เผยแพร่ตามข้อ 18 ของกฎของไซต์

ฉันกำลังวางแผนที่จะซื้อ +51 เพิ่มในรายการโปรด ฉันชอบรีวิว +26 +65