สารบัญ:

รีโมทสากลควบคุมด้วยท่าทางด้วย Node-MCU: 12 ขั้นตอน
รีโมทสากลควบคุมด้วยท่าทางด้วย Node-MCU: 12 ขั้นตอน

วีดีโอ: รีโมทสากลควบคุมด้วยท่าทางด้วย Node-MCU: 12 ขั้นตอน

วีดีโอ: รีโมทสากลควบคุมด้วยท่าทางด้วย Node-MCU: 12 ขั้นตอน
วีดีโอ: live ขั้นตอนในการรวมโค้ด arduino 2 โปรแกรมเข้าด้วยกัน สำหรับมือใหม่ 2024, ธันวาคม
Anonim
รีโมทสากลควบคุมด้วยท่าทางด้วย Node-MCU
รีโมทสากลควบคุมด้วยท่าทางด้วย Node-MCU

สวัสดีทุกคนและยินดีต้อนรับสู่โครงการนี้! ฉันค่อนข้างเป็นคนเกียจคร้านและฝันร้ายของคนขี้เกียจคือการดูทีวีเมื่อรู้ว่ารีโมทอยู่ไกลเกินไป! ฉันตระหนักว่ารีโมตของฉันจะไม่อยู่ไกลเกินไปหากฉันมีมันอยู่ในมือตลอดเวลา นั่นเป็นแรงบันดาลใจให้ฉันสร้าง LAZr ซึ่งเป็นรีโมทสากลที่ควบคุมด้วยท่าทาง

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

ฉันหวังว่าคุณจะชอบโครงการนี้และโหวตให้ในการประกวด Epilog Laser Contest!

ขั้นตอนที่ 1: ชิ้นส่วน

ชิ้นส่วน
ชิ้นส่วน

โครงการนี้ประกอบด้วยส่วนต่าง ๆ ดังต่อไปนี้:

ถุงมือ ($5.00)

โหนด-MCU / ESP8266 ($3.00)

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

เซ็นเซอร์แบบยืดหยุ่น 5 ตัว (แต่ละตัว $7.00)

เซ็นเซอร์เหล่านี้วัดการโค้งงอ คล้ายกับวิธีที่ LDR (ตัวต้านทานแบบพึ่งพาแสง) วัดระดับแสง สิ่งเหล่านี้ใช้เพื่อวัดการงอนิ้วและท่าทางมือ

เครื่องส่งสัญญาณ IR ($0.30)

ส่วนประกอบนี้ส่งสัญญาณ IR ไปยังอุปกรณ์ต่างๆ เช่น ทีวี เครื่องเล่นดีวีดี เป็นต้น

ตัวรับ IR ($1.00)

ส่วนประกอบนี้รับสัญญาณ IR ที่ส่งโดยรีโมท จำเป็นต้องถอดรหัสสัญญาณจากรีโมท สัญญาณนี้สามารถใช้ควบคุมอุปกรณ์จากถุงมือได้ ฉันแนะนำ TSOP4838 เนื่องจากฉันทดสอบกับ Sharp, Samsung และ Apple TV สำเร็จแล้ว

ตัวต้านทาน 5 10k โอห์ม (0.01 ดอลลาร์ต่ออัน)

ตัวต้านทานเหล่านี้จำเป็นสำหรับเซ็นเซอร์แบบยืดหยุ่นแต่ละตัว

ตัวต้านทาน 220 โอห์ม (0.01 ดอลลาร์ต่ออัน)

ตัวต้านทานเหล่านี้จำเป็นสำหรับเซ็นเซอร์แบบยืดหยุ่นแต่ละตัว

ทรานซิสเตอร์ (0.39 เหรียญ)

ทรานซิสเตอร์ใช้สำหรับส่งสัญญาณ IR

74HC4051N มัลติเพล็กเซอร์ IC ($ 0.22)

เนื่องจาก Node-MCU มีพอร์ตแอนะล็อกเพียงพอร์ตเดียว IC นี้จึงใช้เพื่อ "แยก" พินอะนาล็อกออกเป็นหลายพอร์ต ซึ่งเชื่อมต่อกับเซ็นเซอร์แบบยืดหยุ่น เพิ่มเติมเกี่ยวกับเรื่องนี้ในภายหลัง

สายจัมเปอร์มากมาย! (หากคุณตัดสินใจใช้เขียงหั่นขนม)

ส่วนต่อไปนี้เป็นทางเลือก แต่จะมีประโยชน์หากใช้:

ซ็อกเก็ต IC 16 พิน

ส่วนหัวหญิง

ขั้นตอนที่ 2: Multiplexer IC (74HC4051N)

มัลติเพล็กเซอร์ IC (74HC4051N)
มัลติเพล็กเซอร์ IC (74HC4051N)

แม้ว่า Node-MCU จะเต็มไปด้วยคุณสมบัติที่ยอดเยี่ยม เช่น WiFi และความเข้ากันได้ของ Arduino IDE แต่ก็มีข้อเสียอยู่ มีขาอนาล็อกเพียงอันเดียว ซึ่งไม่เพียงพอสำหรับโครงการนี้ เนื่องจากถุงมือมีเซ็นเซอร์แบบยืดหยุ่นห้าตัว จึงต้องใช้อินพุตแบบอะนาล็อกห้าช่องจึงจะใช้งานได้ วิธีแก้ปัญหาที่ง่ายและราคาไม่แพงคือการใช้ Multiplexer IC (74HC4051N) IC นี้สามารถแปลงอินพุตแบบอนาล็อกเป็นแปดได้!

มันทำงานอย่างไร?

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

ขั้นตอนที่ 3: เค้าโครงเขียงหั่นขนม

เค้าโครงเขียงหั่นขนม
เค้าโครงเขียงหั่นขนม

เลย์เอาต์ของอุปกรณ์แสดงในภาพด้านบน

สำคัญ: จดประเภทของทรานซิสเตอร์ที่คุณใช้ พินสะสมของทรานซิสเตอร์ควรเชื่อมต่อกับ IR LED ไม่ใช่พิน GND

ขั้นตอนที่ 4: รับสัญญาณ

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

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

ขั้นตอนที่ 5: รหัสสำหรับการรับสัญญาณ

รหัสสำหรับการรับสัญญาณ
รหัสสำหรับการรับสัญญาณ
รหัสสำหรับการรับสัญญาณ
รหัสสำหรับการรับสัญญาณ

ในการใช้รหัสจะต้องดาวน์โหลดไลบรารี IRremoteESP8266 ลิงค์ดาวน์โหลดอยู่ด้านล่าง:

IRremoteESP8266

ใน Arduino IDE ให้ไปที่ Sketch > รวมไลบรารี > เพิ่ม. ZIP Library ค้นหาไลบรารีที่ดาวน์โหลดมาสองรายการและเพิ่มลงใน IDE หากต้องการเข้าถึงรหัสเพื่อรับสัญญาณ IR ให้ไปที่ไฟล์ > ตัวอย่าง > IRremoteESP8266 > IRrecvDumpV2 ในโค้ด ให้เปลี่ยนค่า kRecvPin จาก 14 เป็น 5 เพื่อให้แน่ใจว่า Node-MCU กำลังอ่านพินที่ถูกต้อง (D1)

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

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

ขั้นตอนที่ 6: แผนผัง PCB

แผนผัง PCB
แผนผัง PCB

PCB Schematic ถูกสร้างขึ้นใน Autodesk Eagle และดังแสดงในภาพด้านบน ไฟล์ Eagle ทั้งหมดอยู่ในคำแนะนำนี้และสามารถดาวน์โหลดได้ในขั้นตอนถัดไป

ขั้นตอนที่ 7: การออกแบบ PCB

การออกแบบ PCB
การออกแบบ PCB

นี่คือการออกแบบ PCB ของฉัน ไฟล์ Eagle ทั้งหมดสำหรับแผงวงจรนี้อยู่ด้านล่าง คุณจึงสามารถใช้หรือปรับเปลี่ยนการออกแบบนี้เพื่อสร้าง PCB ของคุณเองได้! ฉันได้เพิ่มแผ่น SMD สำหรับอินพุตแบบอะนาล็อกเพิ่มเติม 3 รายการรวมถึงพอร์ต 3V3 และ GND สิ่งนี้จะช่วยให้ฉันสามารถขยายระบบนี้ได้หากต้องการ ประหยัดทรัพยากรและเวลา และทำให้ PCB ใช้งานได้หลากหลาย

ขั้นตอนที่ 8: นำทุกอย่างมารวมกัน

วางมันทั้งหมดเข้าด้วยกัน
วางมันทั้งหมดเข้าด้วยกัน

หลังจากรอสองสามวัน ในที่สุดฉันก็ได้รับ PCBs ทางไปรษณีย์ ตอนนี้ก็ถึงเวลาสำหรับส่วนสนุกแล้ว บัดกรีมันทั้งหมดเข้าด้วยกัน! โดยทำตามแผนผัง การบัดกรี PCB นั้นค่อนข้างง่าย ในการออกแบบของฉัน ฉันใช้ซ็อกเก็ต IC และส่วนหัวของตัวเมียสำหรับมัลติเพล็กเซอร์ IC และ Node-MCU เพื่อให้สามารถถอดชิปเหล่านี้ออกได้หากต้องการเปลี่ยนหรือนำกลับมาใช้ใหม่ หากคุณต้องการฟอร์มแฟคเตอร์ที่บางกว่านี้ อย่าลังเลที่จะบัดกรีชิปเข้ากับบอร์ดโดยตรง แต่จำไว้ว่าการถอดออกในภายหลังค่อนข้างยาก

ขั้นตอนที่ 9: รวบรวมถุงมือ

สวมถุงมือ
สวมถุงมือ

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

ขั้นตอนที่ 10: การเขียนโปรแกรมคำสั่ง

ตอนนี้ฮาร์ดแวร์ได้รับการดูแลแล้ว ก็ถึงเวลาสำหรับซอฟต์แวร์ สำหรับถุงมือของคุณ ดาวน์โหลดรหัสด้านล่าง

เพื่อให้รหัสใช้งานได้กับทีวีของคุณ คุณต้องเปลี่ยนตัวเลขบางตัว จำตัวเลขที่คุณจดไว้ได้ไหม ตอนนี้ก็ถึงเวลาที่จะใช้พวกเขา หากคุณไม่มีตัวเลข ไม่ต้องกังวล มันง่ายมากที่จะรวบรวมสัญญาณเหล่านี้ เพียงกลับไปที่ขั้นตอนการรับ IR คัดลอกชุดข้อมูล rawData และวางใต้ความคิดเห็น "วางข้อมูลที่นี่" ในโค้ด เปลี่ยนชื่อชุดข้อมูลนี้เป็น powerOn คัดลอกหมายเลขถัดจาก powerOn (ในกรณีของฉัน 95) ตัวเลขนี้คือจำนวนตัวเลขในชุดข้อมูล ตอนนี้ ไปที่ด้านล่างของโค้ดภายใต้ความคิดเห็น "DISPLAY POWER" แทนที่ "95" ด้วยค่าที่คุณคัดลอก ตอนนี้ อัปโหลดรหัสของคุณไปยัง Node-MCU และสวมถุงมือ หากคุณหันมือไปที่ทีวีและงอนิ้วของคุณ ทีวีของคุณก็จะเปิดขึ้น!

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

ขั้นตอนที่ 11: เสร็จแล้ว

มันจบแล้ว!
มันจบแล้ว!
มันจบแล้ว!
มันจบแล้ว!

ที่นั่นคุณมีรีโมททีวีควบคุมด้วยท่าทางสัมผัสสากล! ฉันหวังว่าคุณจะชอบโครงการนี้ และหวังว่าคุณจะลงคะแนนให้ฉันในการประกวด Epilog Laser หากคุณมีคำถามใด ๆ โปรดเขียนความคิดเห็นและเราจะพยายามตอบคำถามเหล่านี้ให้ดีที่สุด อีกครั้งฉันหวังว่าคุณจะชอบมัน!

แนะนำ: