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

Amir Gumarov
ตรวจสอบโดยผู้เชี่ยวชาญ: Amir Gumarov
โพสต์โดย มิคาอิลยาซิน
อัพเดทล่าสุด: พฤษภาคม 2019

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • ดิจิตอลที่มีการทำเครื่องหมายบนกระดานด้วยตัวอักษร "D";
  • อนาล็อกทำเครื่องหมายด้วยตัวอักษร "A".

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

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

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

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

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

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

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

ความแตกต่างที่สำคัญระหว่างประเภทของหน่วยความจำสำหรับจัดเก็บข้อมูลคือเมื่อปิดเครื่องข้อมูลที่บันทึกใน 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 KB;
  • SRAM: 2 KB;
  • EEPROM: 1 KB

เมื่อไม่นานมานี้มีการดัดแปลง - 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 ประการที่สองบอร์ดนี้พิถีพิถันมากขึ้นในแง่ของพลังงาน - มันเป็นสิ่งจำเป็นเพื่อให้ช่วงแรงดันไฟฟ้าอินพุตของ 7-9 V

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

ดู # 2 - Arduino Leonardo and Micro

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

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

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

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

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

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

การดัดแปลงของ Leonardo เรียกว่า Esplora เป็นรูปแบบเกมล้วนๆและไม่สอดคล้องกับความต้องการของ "สมาร์ทโฮม"

ดู # 3 - Arduino 101, Arduino Zero และ Arduino MKR1000

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

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

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

หนึ่งในบอร์ดที่ใช้งานง่ายที่สุด แต่มีประสิทธิภาพ - Arduino 101 มีคุณสมบัติดังต่อไปนี้:

  • หน่วยประมวลผล: Intel Curie (32 บิต, 32 MHz);
  • หน่วยความจำแฟลช: 196 KB;
  • SRAM: 24 KB;
  • EEPROM: ไม่

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

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

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

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

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

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

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

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

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

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

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

Arduino Mega ขึ้นอยู่กับไมโครโปรเซสเซอร์ aTMega1280 16-bit ที่เรียบง่าย

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

  • หน่วยความจำแฟลช: 128 KB;
  • SRAM: 8 KB;
  • EEPROM: 4 KB

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

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

บอร์ดนี้มีสองแบบที่ทันสมัย:

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

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

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

เนื่องจากเป็น Arduino รุ่นอื่นที่รวมพลังของไมโครโปรเซสเซอร์และพอร์ตจำนวนมาก

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

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

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

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

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

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

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

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

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

การ์ดเพิ่มเติม (โล่)

เพื่อเพิ่มความสามารถของเมนบอร์ดให้ใช้ shields (Shields) - ขยายการทำงานของอุปกรณ์เพิ่มเติม พวกเขาถูกสร้างขึ้นมาสำหรับ form factor เฉพาะซึ่งแยกพวกเขาจากโมดูลที่เชื่อมต่อกับพอร์ต โล่มีราคาแพงกว่าโมดูล แต่การทำงานกับมันง่ายกว่า พวกเขายังติดตั้งไลบรารี่สำเร็จรูปที่มีรหัสซึ่งช่วยเร่งการพัฒนาโปรแกรมควบคุมของตนเองสำหรับ“ สมาร์ทโฮม”

Shields Proto และ Sensor

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

วิธีรับข้อมูล

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

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

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

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

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

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

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

ความหลากหลายต่อไปนี้เป็นที่ต้องการมากที่สุดสำหรับการทำงานของ“ บ้านอัจฉริยะ”:

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

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

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

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

การจัดการเครื่องมือและระบบ

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

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

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

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

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

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

  1. รวมอยู่ในวงจรรีเลย์
  2. การเชื่อมต่อปุ่มเปิด / ปิดและ triac

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

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

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

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

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

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

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

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

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

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

บทความนี้มีประโยชน์ไหม
ขอบคุณสำหรับความคิดเห็นของคุณ!
ไม่ (5)
ขอบคุณสำหรับความคิดเห็นของคุณ!
ใช่ (31)

สระว่ายน้ำ

เครื่องปั๊มน้ำ

ภาวะโลกร้อน