บ้านอัจฉริยะที่ใช้ตัวควบคุม Arduino: การออกแบบและการจัดระเบียบพื้นที่ควบคุม

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

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

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

การสร้างระบบบนแพลตฟอร์ม Arduino

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

คลาสสิค «บ้านอัจฉริยะ» ประกอบด้วยบล็อกอัตโนมัติที่ทำหน้าที่ดังต่อไปนี้:

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

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

เราขอแนะนำให้ตรวจสอบสิ่งที่ดีที่สุด อุปกรณ์อัจฉริยะสำหรับบ้าน.

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

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

องค์ประกอบของกระดานหลัก

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

เมนบอร์ดรวมองค์ประกอบต่อไปนี้:

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

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

บอร์ด Arduino ดั้งเดิม
เป็นการดีกว่าที่จะซื้อบอร์ดและโล่ Arduino จากผู้ผลิตเนื่องจากมีคุณภาพดีกว่าอุปกรณ์ที่รองรับที่ผลิตในประเทศจีน

พอร์ตมีสองประเภท:

  • ดิจิทัลซึ่งมีตัวอักษรกำกับไว้บนกระดาน "ด";
  • อนาล็อกซึ่งมีตัวอักษรกำกับไว้ "ก".

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

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

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

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

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

ไมโครโปรเซสเซอร์แต่ละตัวมีหน่วยความจำสามประเภท:

  • หน่วยความจำแฟลช หน่วยความจำหลักที่ใช้จัดเก็บโค้ดโปรแกรมการจัดการระบบ ส่วนเล็ก ๆ (3-12%) ถูกครอบครองโดยโปรแกรม bootloader ในตัว
  • สแรม RAM ซึ่งเก็บข้อมูลชั่วคราวที่จำเป็นสำหรับการรันโปรแกรม มีความเร็วในการทำงานสูง
  • อีพรอม หน่วยความจำช้าลงซึ่งสามารถจัดเก็บข้อมูลได้

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

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

ประเภทของบอร์ดสำหรับประกอบบ้านอัจฉริยะ

มาดูบอร์ดประเภทหลักที่ใช้บ่อยที่สุดเมื่อประกอบระบบสมาร์ทโฮม

มุมมอง #1 - Arduino Uno และอนุพันธ์ของมัน

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

จ่ายไฟให้กับบอร์ด Arduino จากแบตเตอรี่
การมีบอร์ดแบบเต็มความยาวที่จ่ายไฟ 7-12 โวลต์มีข้อดีหลายประการ ประการแรกนี่คือความเป็นไปได้ของการทำงานอัตโนมัติในระยะยาวจากแบตเตอรี่มาตรฐานหรือแบตเตอรี่แบบชาร์จไฟได้

พารามิเตอร์หลักของ Arduino Uno Rev3:

  • หน่วยประมวลผล: ATMega328P (8 บิต, 16 MHz);
  • จำนวนพอร์ตดิจิตอล: 14;
  • ซึ่งมีฟังก์ชั่น PWM: 6;
  • จำนวนพอร์ตอะนาล็อก: 6;
  • หน่วยความจำแฟลช: 32 กิโลไบต์;
  • สแรม: 2 กิโลไบต์;
  • อีพรอม: 1 กิโลไบต์

ไม่นานมานี้ มีการเผยแพร่การแก้ไข - Uno Wi-Fi ซึ่งประกอบด้วยโมดูล ESP8266 ในตัวที่ให้คุณแลกเปลี่ยนข้อมูลกับอุปกรณ์อื่น ๆ ที่ใช้มาตรฐาน 802.11 b/g/n

ความแตกต่างระหว่าง Arduino Nano กับรุ่นที่ใหญ่กว่าคือไม่มีปลั๊กไฟ 12 V ของตัวเอง ซึ่งทำเพื่อให้อุปกรณ์มีขนาดเล็กลงซึ่งช่วยให้ซ่อนได้ง่ายในพื้นที่ขนาดเล็ก เพื่อจุดประสงค์เหล่านี้ การเชื่อมต่อ USB มาตรฐานจะถูกแทนที่ด้วยชิปที่มีสาย mini-USB Arduino Nano มีพอร์ตอะนาล็อกมากกว่า 2 พอร์ตเมื่อเทียบกับ Uno

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

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

มุมมอง #2 - Arduino Leonardo และ Micro

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

ขนาดและน้ำหนักของบอร์ด Arduino
ตารางขนาดและขนาดของ Uno, Leonardo และแอนะล็อกจิ๋ว นักพัฒนาไม่ได้ปฏิบัติตามตรรกะในชื่อ - "นาโน" ควรมีขนาดเล็กที่สุด

พารามิเตอร์หลักของ Arduino Leonardo มีดังนี้:

  • หน่วยประมวลผล: ATMega32u4 (8 บิต, 16 MHz);
  • จำนวนพอร์ตดิจิตอล: 20;
  • ซึ่งมีฟังก์ชั่น PWM: 7;
  • จำนวนพอร์ตอะนาล็อก: 12;
  • หน่วยความจำแฟลช: 32 กิโลไบต์;
  • สแรม: 2.5 กิโลไบต์;
  • อีพรอม: 1 กิโลไบต์

ดังที่เห็นได้จากรายการพารามิเตอร์ Leonardo มีพอร์ตมากขึ้นซึ่งทำให้รุ่นนี้สามารถโหลดเซ็นเซอร์จำนวนมากขึ้นได้

นอกจากนี้สำหรับ Leonardo ยังมีอะนาล็อกขนาดเล็กที่มีลักษณะเหมือนกันทุกประการที่เรียกว่าไมโคร ไม่มีแหล่งจ่ายไฟ 12V และแทนที่จะเป็นอินพุต USB แบบเต็มจะมีชิปสำหรับสาย mini-USB

การดัดแปลงของ Leonardo ที่เรียกว่า Esplora นั้นเป็นโมเดลการเล่นเกมล้วนๆ และไม่เหมาะกับความต้องการของ "บ้านอัจฉริยะ"

มุมมอง #3 - Arduino 101, Arduino Zero และ Arduino MKR1000

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

เพื่อแก้ไขปัญหาเฉพาะดังกล่าว จึงมีการใช้บอร์ดอันทรงพลังที่ทำงานตามแนวคิด Arduino จำนวนพอร์ตที่มีอยู่นั้นใกล้เคียงกับบอร์ด Uno หรือ Leonardo

บอร์ด Arduino 101
Arduino 101 มีขนาดเท่ากับ Uno หรือ Leonardo แต่มีน้ำหนักมากกว่าเกือบสองเท่า เหตุผลก็คือการมีอินพุต USB สองตัวและชิปเพิ่มเติม

หนึ่งในบอร์ดที่ใช้งานง่ายแต่ทรงพลัง Arduino 101 มีลักษณะดังต่อไปนี้:

  • หน่วยประมวลผล: Intel Curie (32 บิต, 32 MHz);
  • หน่วยความจำแฟลช: 196 กิโลไบต์;
  • แรม: 24 กิโลไบต์;
  • อีพรอม: ไม่

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

บอร์ดอื่นที่คล้ายกัน Arduino Zero มีตัวบ่งชี้ดังต่อไปนี้:

  • หน่วยประมวลผล: SAM-D21 (32 บิต, 48 MHz);
  • หน่วยความจำแฟลช: 256 KB;
  • สแรม: 32 กิโลไบต์;
  • อีพรอม: ไม่

คุณสมบัติที่โดดเด่นของรุ่นนี้คือการมีดีบักเกอร์ในตัว (EDBG) ด้วยความช่วยเหลือทำให้ค้นหาข้อผิดพลาดได้ง่ายขึ้นมากเมื่อตั้งโปรแกรมบอร์ด

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

Arduino MKR1000 เป็นอีกรุ่นหนึ่งที่เหมาะสำหรับการประมวลผลพลังงานสูง มีไมโครโปรเซสเซอร์และหน่วยความจำคล้ายกับซีโร่ ความแตกต่างที่สำคัญคือการมีชิป Wi-Fi ในตัวพร้อมโปรโตคอล 802.11 b/g/n และชิปเข้ารหัสที่รองรับอัลกอริธึม SHA-256 เพื่อปกป้องข้อมูลที่ส่ง

ดู #4 - โมเดลตระกูล Mega

บางครั้งจำเป็นต้องใช้เซ็นเซอร์จำนวนมากและควบคุมอุปกรณ์จำนวนมาก ตัวอย่างเช่นนี่เป็นสิ่งจำเป็นสำหรับการทำงานอัตโนมัติของระบบปรับอากาศแบบกระจายซึ่งรักษาอุณหภูมิที่แน่นอนสำหรับแต่ละโซน

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

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

บอร์ด Arduino เมก้า
ขนาดของบอร์ดตระกูล Mega (101.5 x 53.4 ซม.) ใหญ่กว่ารุ่นที่ตรวจสอบก่อนหน้านี้ นี่เป็นความจำเป็นทางเทคนิค - ไม่เช่นนั้นจะไม่สามารถวางพอร์ตจำนวนดังกล่าวได้

บอร์ด Arduino Mega ใช้ไมโครโปรเซสเซอร์ 8 บิต 16 MHz ที่ค่อนข้างเรียบง่าย atMega1280

มีหน่วยความจำจำนวนมาก:

  • หน่วยความจำแฟลช: 128 กิโลไบต์;
  • สแรม: 8 กิโลไบต์;
  • อีพรอม: 4 กิโลไบต์

แต่ข้อได้เปรียบหลักคือการมีพอร์ตมากมาย:

  • จำนวนพอร์ตดิจิตอล: 54;
  • ซึ่งมีฟังก์ชั่น PWM: 15;
  • จำนวนพอร์ตอะนาล็อก: 16

บอร์ดนี้มีสองประเภทที่ทันสมัย:

  • Mega 2560 ใช้ไมโครโปรเซสเซอร์ aTMega2560 ซึ่งมีหน่วยความจำแฟลชจำนวนมาก - 256 KB;
  • Mega ADK นอกเหนือจากไมโครโปรเซสเซอร์ aTMega2560 แล้วยังมีอินเทอร์เฟซ USB ที่สามารถเชื่อมต่อกับอุปกรณ์ที่ใช้ระบบปฏิบัติการ Android

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

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

Due เป็นอีกรุ่นหนึ่งจาก Arduino ที่รวมพลังของไมโครโปรเซสเซอร์เข้ากับพอร์ตจำนวนมาก

ลักษณะของมันมีดังนี้:

  • หน่วยประมวลผล: Atmel SAM3X8E (32 บิต, 84 MHz);
  • จำนวนพอร์ตดิจิตอล: 54;
  • ซึ่งมีฟังก์ชั่น PWM: 12;
  • จำนวนพอร์ตอะนาล็อก: 14;
  • หน่วยความจำแฟลช: 512 กิโลไบต์;
  • แรม: 96 กิโลไบต์;
  • อีพรอม: ไม่

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

คุณสมบัติของการโต้ตอบโมดูลผ่านพอร์ต

โมดูลทั้งหมดที่จะเชื่อมต่อกับบอร์ดจะมีเอาต์พุตอย่างน้อยสามเอาต์พุต สองในนั้นคือสายไฟเช่น "กราวด์" เช่นเดียวกับแรงดันไฟฟ้า 5 หรือ 3.3 V สายที่สามมีเหตุผล มันส่งข้อมูลไปที่พอร์ต ในการเชื่อมต่อโมดูลจะใช้สายไฟพิเศษที่จัดกลุ่มเป็นกลุ่มละ 3 เส้นซึ่งบางครั้งเรียกว่าจัมเปอร์

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

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

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

บางรุ่น (เช่น Arduino Zero และ MKR1000) มีแรงดันไฟฟ้าในการทำงานที่ 3.3 V ดังนั้นหากใช้ค่าที่สูงกว่ากับพอร์ต บอร์ดอาจเสียหายได้ ข้อมูลทั้งหมดเกี่ยวกับแหล่งจ่ายไฟมีอยู่ในเอกสารทางเทคนิคของอุปกรณ์

บอร์ดเสริม (โล่)

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

โล่โปรโตและเซนเซอร์

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

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

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

แต่หากมีอุปกรณ์จำนวนมาก (มากกว่า 10 เครื่อง) ก็ควรใช้แผงสวิตช์ Sensor Shield ที่มีราคาแพงกว่า

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

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

บอร์ดนี้ยังมีขั้วต่อสำหรับเชื่อมต่อโมดูลต่างๆ ได้อย่างง่ายดาย: Bluetoots, การ์ด SD, RS232 (พอร์ต COM), วิทยุ และอัลตราซาวนด์

การเชื่อมต่อฟังก์ชันเสริม

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

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

รีเลย์ชิลด์. โมดูลที่ใช้บ่อยในระบบสมาร์ทโฮม บอร์ดที่มีรีเลย์ระบบเครื่องกลไฟฟ้า 4 ตัว ซึ่งแต่ละตัวสามารถจ่ายกระแสผ่านได้ด้วยแรงสูงสุด 5A ซึ่งเพียงพอที่จะเปิดและปิดอุปกรณ์กิโลวัตต์หรือสายไฟที่ออกแบบมาสำหรับไฟฟ้ากระแสสลับ 220 V โดยอัตโนมัติ

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

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

โล่การบันทึกข้อมูล หน้าที่หลักของโมดูลคือการบันทึกข้อมูลจากเซ็นเซอร์ลงในการ์ด SD แบบเต็มรูปแบบสูงสุด 32 Gb พร้อมรองรับระบบไฟล์ FAT32 หากต้องการบันทึกลงการ์ด micro SD คุณต้องซื้ออะแดปเตอร์โล่นี้สามารถใช้เป็นที่จัดเก็บข้อมูลได้ เช่น เมื่อบันทึกข้อมูลจาก DVR ผลิตโดยบริษัท Adafruit Industries ในอเมริกา

การ์ด SD ชิลด์ โมดูลก่อนหน้าเวอร์ชันที่เรียบง่ายและราคาถูกกว่า ผู้ผลิตหลายรายผลิตส่วนขยายดังกล่าว

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

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

โล่ GPRS. โดยปกติโมดูลนี้ใช้เพื่อสื่อสารระหว่างบ้านอัจฉริยะและเจ้าของผ่านโทรศัพท์มือถือผ่านข้อความ SMS

โมดูลบ้านอัจฉริยะ

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

ช่องทางในการรับข้อมูล

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

สัญญาณอนาล็อกและดิจิตอล
สำหรับโปรแกรมคอมพิวเตอร์ สัญญาณดิจิทัลจะสอดคล้องกับช่วงเวลาด้วย "0" และ "1" และสัญญาณอะนาล็อกจะกำหนดช่วงของค่าตามขนาด

บุคคลที่ใช้สองวิธีในการส่งสัญญาณไปยังไมโครโปรเซสเซอร์สามารถส่งได้:

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

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

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

เซ็นเซอร์ใช้ในการระบุพารามิเตอร์ด้านสิ่งแวดล้อมหรือที่มาของเหตุการณ์โดยอัตโนมัติ

ประเภทต่อไปนี้เป็นที่ต้องการมากที่สุดสำหรับการทำงานในบ้านอัจฉริยะ:

  • เซ็นเซอร์เสียง อุปกรณ์นี้เวอร์ชันดิจิทัลใช้เพื่อเปิดใช้งานกิจกรรมโดยใช้การตบมือหรือเสียง รุ่นอะนาล็อกช่วยให้คุณสามารถจดจำและประมวลผลเสียงได้
  • เซ็นเซอร์วัดแสง อุปกรณ์เหล่านี้สามารถทำงานได้ทั้งในช่วงที่มองเห็นและอินฟราเรด หลังสามารถใช้เป็นระบบเตือนอัคคีภัยได้
  • เซ็นเซอร์อุณหภูมิ. รุ่นต่างๆ ใช้สำหรับภายในและภายนอกอาคาร เนื่องจากรุ่นภายนอกได้รับการปกป้องจากความชื้นได้ดีกว่า นอกจากนี้ยังมีอุปกรณ์ระยะไกลอยู่บนสายด้วย
  • เซ็นเซอร์ความชื้นในอากาศ รุ่น DHT11 เหมาะสำหรับใช้ในอาคาร และรุ่น DHT22 มีราคาแพงกว่าสำหรับกลางแจ้ง อุปกรณ์ทั้งสองยังสามารถอ่านค่าอุณหภูมิได้ เชื่อมต่อกับพอร์ตดิจิตอล
  • เซ็นเซอร์ความดันอากาศ บารอมิเตอร์แบบอะนาล็อกจาก Bosh พิสูจน์แล้วว่าทำงานได้ดีกับบอร์ด Arduino: bmp180, bmp280 พวกเขายังวัดอุณหภูมิรุ่น bme280 สามารถเรียกได้ว่าเป็นสถานีตรวจอากาศเนื่องจากให้ค่าความชื้นเพิ่มเติมด้วย
  • เซ็นเซอร์ตรวจจับความเคลื่อนไหวและการแสดงตน ใช้เพื่อความปลอดภัยหรือเปิดไฟอัตโนมัติ
  • เซ็นเซอร์วัดปริมาณน้ำฝน ทำปฏิกิริยากับน้ำที่เข้าสู่ผิวน้ำ นอกจากนี้ยังสามารถใช้เพื่อส่งสัญญาณเตือนการรั่วไหลในระบบประปาหรือวงจรทำความร้อนได้อีกด้วย
  • เซ็นเซอร์ปัจจุบัน ใช้เพื่อตรวจจับเครื่องใช้ไฟฟ้าที่ไม่ทำงาน (หลอดไฟไหม้) หรือวิเคราะห์แรงดันไฟฟ้าเพื่อป้องกันการโอเวอร์โหลด
  • เซ็นเซอร์ตรวจจับแก๊สรั่ว ใช้เพื่อตรวจจับและตอบสนองต่อความเข้มข้นที่เพิ่มขึ้นของโพรเพน
  • เซ็นเซอร์คาร์บอนไดออกไซด์ ใช้เพื่อกำหนดความเข้มข้นของคาร์บอนไดออกไซด์ในห้องนั่งเล่นและในห้องพิเศษ เช่น ห้องเก็บไวน์ ที่มีการหมักเกิดขึ้น

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

เครื่องวัดความเร็วลม
เซ็นเซอร์บางตัว เช่น เครื่องวัดความเร็วลม ซึ่งใช้วัดความเร็วและทิศทางลม เป็นเครื่องมือระบบเครื่องกลไฟฟ้าที่ซับซ้อน

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

การควบคุมอุปกรณ์และระบบ

นอกจากการรวบรวมและวิเคราะห์ข้อมูลแล้ว “บ้านอัจฉริยะ” ยังต้องตอบสนองต่อเหตุการณ์ที่เกิดขึ้นอีกด้วย การมีอุปกรณ์อิเล็กทรอนิกส์ขั้นสูงในเครื่องใช้ในครัวเรือนสมัยใหม่ช่วยให้คุณสามารถเข้าถึงได้โดยตรงโดยใช้ Wi-Fi, GPRS หรือ EtherNet โดยทั่วไปแล้ว ระบบ Arduino จะใช้การสลับระหว่างไมโครโปรเซสเซอร์และอุปกรณ์ไฮเทคผ่าน Wi-Fi

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

  1. ติดตั้งโมดูล Wi-Fi บนเมนบอร์ด
  2. ค้นหาช่องความถี่ว่างเพื่อหลีกเลี่ยงความขัดแย้งของระบบ
  3. ทำความเข้าใจคำสั่งของอุปกรณ์และการทำงานของโปรแกรม (หรือใช้ไลบรารีสำเร็จรูป)

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

เซอร์โวมอเตอร์ 5 โวลต์
เซอร์โวไดรฟ์ประกอบด้วยมอเตอร์และกระปุกเกียร์หลายตัว ดังนั้นแม้จะมีกระแสไฟฟ้าต่ำ (5 V) แต่ก็สามารถพัฒนาพลังงานที่เหมาะสมได้ซึ่งก็เพียงพอที่จะเปิดหน้าต่างได้

หากจำเป็นต้องเชื่อมต่ออุปกรณ์ที่มีประสิทธิภาพซึ่งทำงานจากแหล่งพลังงานภายนอก จะใช้สองตัวเลือก:

  1. รวมไว้ในวงจรรีเลย์
  2. การเชื่อมต่อสวิตช์ไฟและไตรแอค

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

สำหรับการต่อสวิตช์ไฟ (mosfet) สำหรับกระแสตรงและไทรแอกสำหรับกระแสสลับนั้นจะมีกระแสไฟที่อนุญาตต่ำกว่า (5-15 A) แต่สามารถเพิ่มโหลดได้อย่างราบรื่น เพื่อจุดประสงค์นี้จึงมีการจัดเตรียมพอร์ต PWM ไว้บนบอร์ด คุณสมบัตินี้ใช้ในการควบคุมความสว่างของแสง ความเร็วพัดลม ฯลฯ

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

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

อ่านเพิ่มเติมเกี่ยวกับบ้านอัจฉริยะจาก Xiaomi และ Apple ในบทความต่อไปนี้:

บทสรุปและวิดีโอที่เป็นประโยชน์ในหัวข้อ

ตัวอย่างชิ้นงานระดับเริ่มต้นที่ประกอบเองสำหรับ "บ้านอัจฉริยะ":

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

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

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

เพิ่มความคิดเห็น

เครื่องทำความร้อน

การระบายอากาศ

การไฟฟ้า