โปรเจกต์ การควบคุม Home Appliance โดยใช้ Android Phone
เราใช้การสื่อสารแบบ Bluetooth ระหว่าง Android phone และ receiver (control unit) ที่เชื่อมต่อกับ appliances
เราใช้การสื่อสารแบบ Bluetooth ระหว่าง Android phone และ receiver (control unit) ที่เชื่อมต่อกับ appliances
▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์
ด้วยความก้าวหน้าทางเทคโนโลยี ระบบอัตโนมัติได้กลายเป็นสิ่งที่จำเป็นไม่ว่าจะเป็นที่บ้าน สำนักงาน หรือสถานที่อื่นๆ ในบ้านเราต้องพบเจอกับเครื่องใช้ไฟฟ้ามากมาย ไม่ว่าจะเป็น พัดลม, แอร์, ทีวี, ไฟส่องสว่าง และอื่นๆ จะดีแค่ไหนถ้าคุณสามารถควบคุมอุปกรณ์ทั้งหมดนั้นได้ด้วย Android Phone ที่คุณถืออยู่ในมือ..!!
โปรเจกต์นี้มีวัตถุประสงค์เพื่อนำ Android Phone มาใช้ควบคุมเครื่องใช้ไฟฟ้า โดยเราจะใช้การสื่อสารผ่าน Bluetooth ระหว่าง Android Phone และตัวรับสัญญาณ (หน่วยควบคุม) ที่เชื่อมต่อกับเครื่องใช้ไฟฟ้า
Bluetooth เป็นมาตรฐานเทคโนโลยีไร้สายสำหรับการแลกเปลี่ยนข้อมูลในระยะใกล้ (โดยใช้คลื่นวิทยุ UHF ความยาวคลื่นสั้นในช่วงแถบความถี่ ISM ตั้งแต่ 2.4 ถึง 2.485 GHz) จากอุปกรณ์แบบติดตั้งอยู่กับที่และอุปกรณ์เคลื่อนที่ รวมถึงการสร้างเครือข่ายส่วนบุคคล (PANs) บลูทูธถูกคิดค้นโดย Ericsson ซึ่งเป็นผู้จำหน่ายอุปกรณ์โทรคมนาคมในปี 1994 โดยเดิมทีตั้งใจให้เป็นทางเลือกไร้สายแทนสายข้อมูล RS-232 มันสามารถเชื่อมต่ออุปกรณ์ได้หลายเครื่องและช่วยแก้ปัญหาเรื่องการประสานเวลา (synchronization)
HC-05 module เป็น Bluetooth Module แบบ SPP (Serial Port Protocol) ที่ใช้งานง่าย ออกแบบมาสำหรับการตั้งค่าการเชื่อมต่ออนุกรมไร้สายแบบโปร่งใส (transparent wireless serial connection) มันมี 6 Pins ที่มีชื่อระบุไว้ด้านหลัง แต่ Module ส่วนใหญ่จะมี Pogo Pins ติดตั้งมาให้เพียง 4 Pins เท่านั้น ส่วน KEY และ STATE ไม่จำเป็นต้องใช้ เนื่องจาก KEY ใช้สำหรับการแฟลชอุปกรณ์ และ STATE ใช้เพียงเพื่อระบุว่าอุปกรณ์ทำงานอยู่หรือไม่ ดังนั้นจึงเหลือเพียง GND, VCC, TXD, RXD
สำหรับการเชื่อมต่อ Module เข้ากับ Arduino เราจำเป็นต้องใช้ Serial (Tx และ Rx) Pins ที่มีอยู่บน Board
Making Connections with HC-05:
Module บางรุ่นมีป้ายระบุ VCC ว่ารองรับแรงดันไฟฟ้าทำงานได้ถึงประมาณ 6 โวลต์ แต่ Module เหล่านี้ไม่รองรับแรงดันอื่นนอกจาก 3.3 โวลต์บนสาย VCC เราควรใช้ Level Converter เพื่อแปลงสัญญาณเป็น 3.3V บนสาย RXD โดยใช้ตัวต้านทานสองตัวทำเป็น simple voltage divider เพื่อแปลงระดับสัญญาณ TTL ต่อตัวต้านทานขนาด 2.2k ohm ตัวหนึ่งลง GND และต่อตัวต้านทานขนาด 1k ohm อีกตัวเข้ากับสาย TXD บน MCU จากนั้นเชื่อมต่อ Pin RXD ระหว่างตัวต้านทานทั้งสองตัวเพื่อให้ได้เอาต์พุตประมาณ 3.4 โวลต์
เชื่อมต่อ Pin RXD ของ Module เข้ากับ TXD ของ Arduino (Digital Pin 1) ผ่านการจัดวงจรแบ่งแรงดันตามที่แสดงด้านล่าง:
จากนั้นเชื่อมต่อ TXD ของ Module เข้ากับ RXD ของ Arduino (Digital Pin 0)
ในการสั่งงานเครื่องใช้ไฟฟ้า เราไม่สามารถเชื่อมต่อพวกมันเข้ากับ Arduino โดยตรงได้ เราจำเป็นต้องมีอุปกรณ์ที่เรียกว่า RELAY ซึ่งขับเคลื่อนด้วยวงจร Driver แบบ Transistor
'Input' มาจาก Arduino I/O Pin โดยมี RB เป็นตัวต้านทานจำกัดกระแสที่ขา Base ของ Transistor ซึ่งปกติจะมีค่า 10K Ohm ส่วน 'VS' คือแรงดันไฟเลี้ยงที่จำเป็นในการกระตุ้นคอยล์ของ Relay (ขึ้นอยู่กับพิกัดของ Relay นั้นๆ) และมีการต่อ Diode แบบขนานย้อนกลับกับ Relay เพื่อป้องกัน back e.m.f. ที่เกิดจากคอยล์ซึ่งอาจทำให้ Transistor หรือ Arduino เสียหายได้
Block diagram อย่างง่ายของระบบทั้งหมดแสดงอยู่ด้านล่าง:
หลังจากเชื่อมต่อตามด้านบนแล้ว คุณจะเห็น LED กะพริบบน Module ซึ่งเป็นการยืนยันว่าอุปกรณ์ของคุณได้รับไฟเลี้ยงอย่างถูกต้อง หลังจากนั้นให้หยิบ Android Phone ของคุณขึ้นมา แล้วโหลด App "Arduino Bluetooth Terminal" จาก Google Play Store แอพนี้ใช้งานได้ฟรีและใช้งานง่าย
หลังจากการติดตั้ง ให้เปิด Bluetooth ของโทรศัพท์ จากนั้นค้นหาอุปกรณ์จนกว่าจะพบ HC-05 แล้วเริ่มจับคู่ (Pairing) โดยใส่รหัสผ่าน 1234 เมื่อถูกถาม
หากจับคู่ถูกต้อง LED ที่กะพริบบน Bluetooth module จะหยุดกะพริบ หากไม่สำเร็จให้ตรวจสอบการเชื่อมต่ออีกครั้ง จากนั้นกลับไปที่แอพที่คุณเพิ่งดาวน์โหลดมา มันจะค้นหาอุปกรณ์โดยอัตโนมัติ จับคู่รหัสที่แสดง และเริ่มการสื่อสาร ตรวจสอบให้แน่ใจว่า Bluetooth ของโทรศัพท์ยังคงเปิดอยู่
System Operation:
เมื่อเราส่ง '1' ไปยัง Arduino เครื่องใช้ไฟฟ้าชิ้นที่ 1 ที่เชื่อมต่อกับ Arduino จะเปิดทำงาน (Turn ON) และเมื่อส่ง '2' เครื่องใช้ไฟฟ้าชิ้นที่ 2 จะเปิดทำงาน ข้อมูลอนุกรมจะถูกอ่านโดย Arduino ผ่านฟังก์ชัน Serial.read () และถูกเก็บไว้ใน Variable ชนิด integer ชื่อ state ที่ประกาศไว้ในโปรแกรม หลังจากนั้นใน loop() เราจะทำการเปรียบเทียบค่าใน state กับ 1, 2, 3 ไปจนถึง 8 เพื่อตรวจสอบเงื่อนไขการเปิด (ON) ของเครื่องใช้ไฟฟ้าทั้ง 8 ชิ้น จากนั้นเราจะเปรียบเทียบค่า state กับ a, b, c ไปจนถึง h เพื่อตรวจสอบเงื่อนไขการปิด (OFF) ของเครื่องใช้ไฟฟ้าและดำเนินการตามนั้น
นอกจากนี้ เรายังสามารถตรวจสอบสถานะทางกายภาพ เช่น อุณหภูมิ, ความดัน และอื่นๆ ผ่าน Android Phone ได้ด้วย สมมติว่าเราต้องการตรวจสอบอุณหภูมิของห้อง เราจะเชื่อมต่อ LM35 Temperature sensor เข้ากับ Arduino จากนั้นอ่านค่าจาก Sensor และส่งไปยังโทรศัพท์ผ่านลิงก์ Serial ที่สร้างขึ้นผ่าน Bluetooth ระหว่างโทรศัพท์และ Arduino
.
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้
ประเมินราคาอัตโนมัติ + Reference Code
กรอกข้อมูลให้ครบ ระบบจะสร้างรหัสอ้างอิงและประเมินราคา/ระยะเวลาคร่าว ๆ จากรายละเอียดงาน แล้วให้กด Add LINE พร้อมพิมพ์รหัสนี้เพื่อคุยต่อ
ส่งข้อมูลเรียบร้อย
ขั้นตอนต่อไป: กดปุ่มด้านล่าง ระบบจะคัดลอกข้อความพร้อม Reference Code ให้ แล้วพาไปหน้า LINE ทันที เอาข้อความนั้นส่งใน LINE เพื่อให้ทีมงานดึงข้อมูลจากฟอร์มนี้มาต่อได้เลย
Reference Code
รีวิวจากคนใช้งานจริง
ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย
ยังไม่มีรีวิวบนหน้านี้ ถ้าเคยใช้งานหรือมีข้อเสนอแนะ เขียนเป็นคนแรกได้เลย