สารบัญ:

วิธีเลียนแบบรีโมททีวีหรืออย่างอื่นด้วย Arduino Irlib: 3 ขั้นตอน (พร้อมรูปภาพ)
วิธีเลียนแบบรีโมททีวีหรืออย่างอื่นด้วย Arduino Irlib: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีเลียนแบบรีโมททีวีหรืออย่างอื่นด้วย Arduino Irlib: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีเลียนแบบรีโมททีวีหรืออย่างอื่นด้วย Arduino Irlib: 3 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: รีโมททีวีเสีย ใช้มือถือแทนได้ อัพเดท 2021 | Easy Android 2024, พฤศจิกายน
Anonim
วิธีเลียนแบบรีโมททีวีหรืออย่างอื่นด้วย Arduino Irlib
วิธีเลียนแบบรีโมททีวีหรืออย่างอื่นด้วย Arduino Irlib

บทนำ

สวัสดีทุกคนและยินดีต้อนรับสู่ Instructable แรกของฉัน

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

ปัญหาคือ ฉันจะส่งรหัสไปยังวัตถุได้อย่างไรหากฉันไม่รู้รหัส

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

ในบทช่วยสอนนี้ ฉันจะแสดงวิธีดำเนินการดังกล่าว

ป.ล.:

ก่อนที่เราจะเริ่มต้น ฉันจะบอกคุณว่าการสื่อสาร Ir นั้นซับซ้อนมากและต้องการความรู้เล็กน้อยก่อน

ขั้นตอนที่ 1: วัสดุ

วัสดุ
วัสดุ

คุณต้องการส่วนประกอบน้อยกว่าที่คุณคิด:

-Arduino (ฉันใช้ Leonardo)

-470ohm หรือตัวต้านทานที่คล้ายกัน !ATTENTION!: ค่าตัวต้านทานอาจเปลี่ยนแปลงได้ขึ้นอยู่กับ IR LED. ของคุณ

-IR led (ฉันใช้ SFH4546)

- จัมเปอร์บางตัว

-ตัวรับสัญญาณ IR (ฉันใช้ TSOP38238)

-เขียงหั่นขนม

นี่คือสิ่งที่ฉันใช้สำหรับวงจรที่เรียบง่ายแต่จำเป็นนี้

แก้ไข: หากคุณใช้ไฟ LED แบบเดียวกัน อย่าใช้ตัวต้านทานใดๆ ระหว่างขา Arduino กับ LED เพราะจะลดระยะห่างจากคุณใช้รีโมทได้มาก

หากคุณไม่ได้ใช้ ir led แบบเดียวกันฉันแนะนำให้ใส่ที่กันจอนและปรับตามที่คุณต้องการ

ขั้นตอนที่ 2: วงจรและการเข้ารหัส

ทีนี้มาดูวงจรกัน

เราจำเป็นต้องสร้าง 2 วงจร:

-วงจรแรกจำเป็นต้องจับสัญญาณจากรีโมทคอนโทรล

- อันที่สองส่งสัญญาณที่เราจับมาก่อน

ลองใช้ Arduino, breadboard, wires และ receiver แล้วเริ่มงานกันเลย

ก่อนอื่นให้เชื่อมต่อ 5v และ GND กับเครื่องรับของคุณ (ของฉันมีตามลำดับ OUT, GND, 5V)

ต้องต่อขา OUT เข้ากับขา Arduino 2 (หน้าตาของวงจร)

เมื่อคุณทำเสร็จแล้วเราจำเป็นต้องเชื่อมต่อแอโนดของตัวนำของเรากับตัวต้านทานและแคโทดกับกราวด์

จากตัวต้านทานเราจะเชื่อมต่อกับพินซึ่งกำหนดโดยไลบรารี Ir ในภายหลัง (วงจรมีลักษณะอย่างไร)

รหัสนั้นง่ายมาก:

ก่อนอื่นเราต้องติดตั้งไลบรารี่:

- ห้องสมุด IrLib2 สำหรับทางเดินที่ได้รับ

จากนั้นคุณต้องเปิดไฟล์ zip และคัดลอกโฟลเดอร์ภายในไฟล์นั้นไปยังโฟลเดอร์ไลบรารีของคุณ

- ห้องสมุด IrRemote สำหรับส่ง

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

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

ตอนต่อไปคือการส่งรหัสที่เราได้รับ

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

นี่คือตารางที่มีการตั้งค่าพินของบอร์ด Arduino บางตัว

นี่คือภาพร่างของฉัน มันส่งคำสั่ง channel_up ไปยังทีวี Samsung เครื่องเก่า:

#รวม

IRsend ส่ง irsend; #define RAW_DATA_LEN 68 //เอาต์พุตของ RawRecv uint16_t rawData[RAW_DATA_LEN]={ 4458, 4482, 546, 1698, 550, 1690, 554, 1690, 546, 606, 518, 610, 526, 602, 522, 606, 526, 602, 522, 1694, 554, 1686, 550, 1694, 550, 602, 522, 606, 530, 598, 526, 602, 522, 606, 526, 602, 522, 1694, 554, 598, 522, 606, 530, 1686, 554, 602, 518, 610, 522, 602, 522, 1694, 554, 602, 522, 1694, 550, 1690, 546, 610, 526, 1690, 546, 1694, 554, 1690, 546, 1,000}; การตั้งค่าเป็นโมฆะ (){ } วงเป็นโมฆะ () { irsend.sendRaw (rawData, RAW_DATA_LEN, 38); // ส่งข้อมูลดิบที่ความถี่ล่าช้า 38KHz (1000); ///1 วินาทีล่าช้าระหว่างแต่ละสัญญาณระเบิด }

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

ขั้นตอนที่ 3: การทดสอบและเสร็จสิ้น

ถึงเวลาสำหรับการทดสอบแล้ว!

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

หากมีอะไรผิดพลาดโปรดแสดงความคิดเห็นด้านล่าง

นั่นคือจุดสิ้นสุดของคำแนะนำของเรา ฉันหวังว่ามันจะเป็นประโยชน์สำหรับคุณ

แสดงความคิดเห็นหากคุณต้องการวิดีโอของบทช่วยสอนนี้และ……….

ไปยังคำสั่งถัดไป!

แนะนำ: