- ส่วนประกอบที่ต้องการ:
- คำอธิบายการทำงาน:
- แผนภูมิวงจรรวม:
- การถอดรหัสสัญญาณควบคุมระยะไกล IR โดยใช้ Arduino:
- การสร้างแอพ Android สำหรับ IR Blaster:
ฉันเริ่มโครงการนี้เพื่อกำจัดรีโมทต่างๆที่บ้านของฉันและสร้างสิ่งเดียวที่สามารถรวมคุณสมบัติของพวกมันทั้งหมด ฉันได้ความคิดนี้เมื่อฉันเห็นโทรศัพท์มือถือของเพื่อนเครื่องหนึ่งที่มีIR Blasterในตัวในตอนนั้นฉันตัดสินใจที่จะไม่ซื้อโทรศัพท์ที่คล้ายกัน แต่จะสร้างอุปกรณ์ของฉันเองซึ่งน่าจะเข้ากันได้กับโทรศัพท์ที่มีอยู่ของฉัน ดังนั้นที่นี่เราจะแปลงโทรศัพท์ Android เป็น IR Remote โดยใช้ Arduinoเพื่อควบคุมอุปกรณ์ต่างๆที่บ้าน
ส่วนประกอบที่ต้องการ:
- Arduino Uno
- IR LED
- เครื่องรับ TSOP-IR (1838T)
- โมดูลบลูทู ธ (HC05)
- อุปกรณ์ Android (โทรศัพท์แท็บเล็ต ฯลฯ)
คำอธิบายการทำงาน:
โดยทั่วไปเราใช้รีโมทสองตัวเพื่อใช้งานทีวีที่บ้านหนึ่งตัวสำหรับโทรทัศน์และอีกอันสำหรับ Set-Top Box ดังนั้นในโครงการนี้ฉันกำหนดเป้าหมายรีโมทสองตัวนี้และทำให้โทรศัพท์ Android ทำงานเป็น IR Blasterเพื่อให้ทีวีสามารถควบคุมได้ด้วยโทรศัพท์ โดยไม่ต้องสัมผัสรีโมทใด ๆ
การใช้บอร์ด Arduino Unoทำให้ฉันจัดการกับส่วนถอดรหัสและเข้ารหัส IR ได้ง่ายขึ้น เองทำโล่เพียงแค่เพิ่มในส่วนความสะดวกของโครงการนี้ โล่ประกอบด้วยตัวรับ TSOP IR (1838T), IR LED และโมดูลบลูทู ธ (HC-05) ดูภาพด้านล่าง:
คุณสามารถสร้างโล่ที่กำหนดเองหรือสามารถเชื่อมต่อส่วนประกอบกับ Arduino ได้โดยตรงดังแสดงใน 'แผนภาพวงจร' ในส่วนด้านล่าง
ก่อนที่จะก้าวไปข้างหน้าให้เราคุยกันก่อนว่า 'รีโมท IR ทำงานอย่างไร' รีโมท IR ส่วนใหญ่ทำงานได้รอบความถี่ 38 KHz (นี่คือเหตุผลที่ฉันเลือก 18 38 T) ในส่วนที่เกี่ยวข้องเพิ่มเติมในหัวข้อนี้เราจะรับรู้ว่าไม่มีการแทนค่าคงที่สำหรับศูนย์และค่าในวิธีการส่งข้อมูล IR เหล่านี้ รหัสเหล่านี้ใช้ประโยชน์จากเทคนิคการเข้ารหัสต่างๆที่เราศึกษาในหลักสูตรวิศวกรรมของเรา (เนื่องจากฉันเป็นนักศึกษาวิศวกรรมอิเล็กทรอนิกส์) ความสำคัญของ 38 KHz คือความถี่ที่สัญญาณสั่นเมื่อมีตรรกะสูงนั่นคือความถี่พาหะของสัญญาณ ดูภาพด้านล่าง; นี่คือตัวอย่างของพิธีสาร NEC สิ่งนี้จะทำให้แนวคิดของคุณชัดเจนยิ่งขึ้น:
ดังนั้นนี่คือวิธีการทำงานนี้ IR Blaster; โทรศัพท์ Android ที่มีแอพ Android ที่กำหนดเองจะส่งสัญญาณไปยังวงจร Arduino ผ่านบลูทู ธ ต่อไป Arduino จะรับสัญญาณผ่านตัวรับ TSOP-IR (1838T) และวิเคราะห์ จากนั้น Arduino สั่งให้ IR LED กะพริบในรูปแบบเฉพาะซึ่งสอดคล้องกับปุ่มที่กดบนแอพอุปกรณ์ Android นั้น รูปแบบการกะพริบนี้จับภาพโดยตัวรับสัญญาณ IR ของทีวีหรือกล่องรับสัญญาณและทำตามคำสั่งเช่นการเปลี่ยนช่องสัญญาณหรือเพิ่มระดับเสียง
แต่ก่อนที่เราจำเป็นต้องถอดรหัสรีโมทที่มีอยู่ดังที่ได้กล่าวไว้ก่อนหน้านี้ในโปรเจ็กต์นี้ฉันได้ใช้รีโมทสองตัวอันหนึ่งใช้สื่อสารกับทีวีในขณะที่อีกอันใช้สำหรับกล่องรับสัญญาณที่เชื่อมต่อกับทีวี
แผนภูมิวงจรรวม:
การถอดรหัสสัญญาณควบคุมระยะไกล IR โดยใช้ Arduino:
บอร์ด Arduino ที่นี่ทำงานในสองขั้นตอนหนึ่งคือเมื่อคุณใช้เพื่อถอดรหัสรหัส IR จากระยะไกลและอีกขั้นคือเมื่อคุณใช้เป็นอุปกรณ์ IR blaster
ให้เราพูดถึงระยะแรก ตอนนี้เพื่อถอดรหัสรหัสปุ่ม IRฉันได้ใช้ไฟล์ส่วนหัว IRremote ของ Ken Shirriff แล้ว ไฟล์ส่วนหัวนี้มีตัวอย่าง / รหัสที่กำหนดไว้ล่วงหน้ามากมายเพื่อให้เราทำงานกับรหัส IR ได้ง่ายขึ้น:
- ก่อนอื่นคุณต้องดาวน์โหลดและติดตั้งIR remote libraryจากที่นี่
- เปิดเครื่องรูดและวางไว้ในโฟลเดอร์ Arduino 'Libraries' จากนั้นเปลี่ยนชื่อโฟลเดอร์ที่แยกเป็น IRremote
- จากนั้นเบิร์นโค้ดที่ให้ไว้ด้านล่างลงใน Arduino เสียบปลั๊กโล่ที่กำหนดเองดังที่แสดงด้านบนและวางรีโมตที่จะถอดรหัสที่ด้านหน้าของตัวรับ TSOP IR เปิดจอภาพอนุกรมที่ตรงกับ Arduino นี้แล้วกดปุ่มที่ต้องการจากรีโมท คุณจะเห็นข้อมูลบางอย่างปรากฏบนเทอร์มินัลข้อมูลนี้เกี่ยวข้องกับประเภทของรหัสค่าของมันและจำนวนบิตที่เกี่ยวข้องกับมัน นี่คือลักษณะ:
# รวม
เมื่อคุณเสร็จสิ้นในส่วนการถอดรหัสที่ต้องการแล้วให้จดบันทึกค่าถอดรหัสและข้อมูลอื่น ๆ ทั้งหมดโดยกดชื่อปุ่ม ซึ่งจะทำหน้าที่เป็นฐานข้อมูลสำหรับ Arduino ในระยะต่อไป โปรแกรมข้างต้นนำมาจากโฟลเดอร์ 'ตัวอย่าง' ของห้องสมุด IRremote คุณสามารถดูตัวอย่างเพิ่มเติมเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการใช้รีโมท IR นั่นคือวิธีที่เราถอดรหัสเอาต์พุตระยะไกล IR
ตอนนี้เบิร์นรหัสที่ระบุไว้ในส่วนรหัสท้ายลงบนบอร์ดเดียวกัน ขอแสดงความยินดีคุณทำครึ่งแรกของโครงการนี้เสร็จแล้ว
การสร้างแอพ Android สำหรับ IR Blaster:
มาที่นี่ในช่วงครึ่งหลังที่ทำ Android App ฉันชอบใช้APP Inventor-2 ของ MITเพื่อสร้างแอปประเภทนี้มากกว่า หากคุณเป็นมือสมัครเล่นในการเขียนโค้ด Android สิ่งนี้จะช่วยประหยัดเวลาและให้ผลลัพธ์ที่ดี ส่วนประกอบหลักที่ใช้ในการสร้างแอพนี้มีไม่มากเพียงไม่กี่ปุ่มและแพ็คเกจไคลเอนต์บลูทู ธ ในขณะที่เข้ารหัสแอปให้ระบุข้อความที่เกี่ยวข้องที่จะส่งสำหรับแต่ละปุ่มที่กดบนหน้าจอซึ่งจะขอให้ Arduino กะพริบ IR LED ในลักษณะเดียวกับที่รีโมทแต่ละตัวจะทำ ตรวจสอบให้แน่ใจว่าคุณระบุที่อยู่ที่ถูกต้องของโมดูล Bluetooth HC-05 ของคุณ นี่คือลักษณะของแอพสุดท้ายในสมาร์ทโฟน Android ของคุณ:
นี่คือกระบวนการทีละขั้นตอนในการสร้างแอป:
ขั้นตอนที่ 1:
เข้าสู่ลิงค์นี้: ai2.appinventor.mit.edu หรือลองค้นหา MIT appinventor-2 บน Google การลงชื่อเข้าใช้ AI2 ต้องใช้บัญชี Google ดังนั้นหากคุณไม่มีให้สร้างขึ้นมา
ขั้นตอนที่ 2:
เมื่อคุณเข้าสู่ระบบด้วยบัญชี Google ของคุณคุณจะถูกเปลี่ยนเส้นทางไปยังหน้าเว็บที่ใช้งาน AI2 ซึ่งมีลักษณะดังนี้:
เริ่มโครงการใหม่โดยคลิกแท็บ "โครงการ" ที่ด้านบนและเลือก "เริ่มโครงการใหม่" เมื่อคุณเสร็จสิ้นในส่วนการตั้งชื่อและทั้งหมดหน้าจอว่างจะปรากฏขึ้นให้คุณซึ่งคุณสามารถวางปุ่มและข้อความตามที่แสดงด้านบน นี่คือหน้าจอ GUI ซึ่งคุณสามารถตัดสินใจได้ว่าแอปจะเป็นอย่างไรสำหรับผู้ใช้
หากต้องการใช้แพ็กเกจปุ่มให้เลือกแท็บ "ปุ่ม" ทางด้านซ้ายของหน้าจอภายใต้ส่วน "ส่วนติดต่อผู้ใช้" เพียงลากแพ็คเกจใดก็ได้จากเมนูด้านซ้ายและวางลงบนหน้าจอการทำงาน ในทำนองเดียวกันหากต้องการแสดงสิ่งที่เกี่ยวข้องกับข้อความให้ใช้แพ็คเกจ "ป้ายกำกับ"
ขั้นตอนที่ 3:
หลังจากจัดเรียงปุ่มและป้ายกำกับทั้งหมดแล้วก็ถึงเวลาสร้างรหัสสำหรับแอปนี้ แต่ก่อนหน้านั้นเราต้องเลือกแพ็คเกจบลูทู ธ เพื่อสื่อสารกับ Arduino
คุณจะสังเกตเห็นว่าแพ็คเกจนี้ไม่แสดงบนหน้าจอ แต่จะอยู่ภายใต้“ ส่วนประกอบที่มองไม่เห็น” นี่คือส่วนประกอบที่ไม่มีความสำคัญในการแต่งหน้า GUI
ขั้นตอนที่ 4:
ถัดมาเป็นส่วนการเข้ารหัสซึ่งคุณจะกำหนดฟังก์ชันสำหรับส่วนประกอบที่คุณเลือกและคุณต้องการใช้งาน
ที่ด้านซ้ายของหน้าจอคุณจะสังเกตเห็นแพ็คเกจทั้งหมดที่คุณเลือกไว้ในส่วน GUI ภาพด้านบนแสดงส่วนประกอบทั้งหมดที่มีในแพ็คเกจเฉพาะที่คุณสามารถใช้ประโยชน์ได้ โปรดสังเกตด้วยว่าแอดเดรสของโมดูลบลูทู ธ จะต้องระบุในรูปแบบข้อความ
ชุดที่ 5:
เมื่อคุณรู้สึกว่าแอปนั้นพร้อมใช้งานและไม่มีข้อผิดพลาดเช่นกันให้คลิกที่แท็บ“ สร้าง” ตามที่แสดงด้านบนและเลือกตัวเลือกที่สอง การดำเนินการนี้จะดาวน์โหลดแอปที่คุณสร้างขึ้นเองลงในคอมพิวเตอร์ในรูปแบบ“.apk” จากนั้นถ่ายโอนไฟล์. apk นี้ไปยังอุปกรณ์ Android และคลิกเพื่อติดตั้ง
ดังนั้นนี่คือวิธีที่คุณสามารถควบคุมอุปกรณ์ควบคุมระยะไกล IR ด้วยสมาร์ทโฟนของคุณคุณเพียงแค่ต้องถอดรหัสรีโมทของอุปกรณ์ใด ๆ ที่คุณต้องการควบคุมด้วยโทรศัพท์ของคุณและแทนที่รหัส HEX ที่ถอดรหัสของปุ่มรีโมทในรหัส Arduino