สารบัญ:
- ขั้นตอนที่ 1: กำหนดค่า Nodemcu ด้วย Arduino IDE
- ขั้นตอนที่ 2: การถอดรหัสรีโมต |CIRCUIT | รหัส
- ขั้นตอนที่ 3: การเข้ารหัส Nodemcu | วงจร
- ขั้นตอนที่ 4: การเข้ารหัสรหัส
- ขั้นตอนที่ 5: การควบคุม
วีดีโอ: Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi): 6 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-31 10:25
โปรเจ็กต์นี้เป็นการแทนที่รีโมทคอนโทรลแบบเดิมสำหรับเครื่องใช้ในบ้านทั้งหมด เช่น แอร์ ทีวี เครื่องเล่น DVD ระบบเพลง เครื่องใช้ไฟฟ้า SMART !!! ทำให้ขยะจากระยะไกลเต็มไปหมด ทำให้เรากลายเป็นปริศนา!!!
โปรเจ็กต์นี้จะช่วยเราจากขยะสู่รีโมตโดยแทนที่ทั้งหมดด้วย ONE REMOTE!
2 ส่วนของโครงการนี้:
- การถอดรหัสรีโมตใด ๆ
- การเข้ารหัส ESP8266 NODEMCU 1.0 (โมดูล ESP-12E) หรือรุ่น esp8266 ใด ๆ ที่มีการเชื่อมต่อ ttl
สำคัญ: โปรดอ่านทั้งโครงการให้ละเอียด มันจะใช้เวลา 3 นาที แต่อย่าอ่านครึ่งเดียวและทำให้ชิ้นส่วนของคุณเสียหาย…. ฉันจะไม่รับผิดชอบ!
ขั้นตอนที่ 1: กำหนดค่า Nodemcu ด้วย Arduino IDE
- ก่อนอื่นให้เชื่อมต่อ Nodemcu (อันหนึ่งของฉันคือ lolin v3, amica และโคลนอื่น ๆ จะใช้งานได้เช่นกัน) กับคอมพิวเตอร์หรือแล็ปท็อป
- ตอนนี้ติดตั้งไดรเวอร์ของ nodemcu (การค้นหาโดย Google จะช่วยได้)
- หลังจากนี้เปิด Arduino IDE (แน่นอนว่าคุณต้องดาวน์โหลดและติดตั้ง)
- คลิกที่ "เครื่องมือ" บนแถบเครื่องมือ Arduino
- คลิกที่ "กระดาน"
- เลือก "Board Manager" และค้นหา esp8266 ติดตั้ง (จะใช้เวลาสักครู่จึงจะเสร็จสิ้น)
- ตอนนี้ เลือก "ร่าง" จากแถบเครื่องมือ Arduino
- เลือก "รวมไลบรารี" จากนั้นเลือก "จัดการไลบรารี"
- ค้นหา "IRremoteESP8266" และติดตั้ง
ตอนนี้การกำหนดค่าทำได้จาก "เครื่องมือ" เท่านั้น เราต้องไปที่ "บอร์ด" เลือก "NodeMcu 1.0 (ESP 12-E)" หรือรุ่นอื่นของ ESP8266
ขั้นตอนที่ 2: การถอดรหัสรีโมต |CIRCUIT | รหัส
ดังนั้น ในการสร้างรีโมตสากล เราจำเป็นต้องถอดรหัสรีโมตอื่นๆ เช่น เพื่อรับรหัสฐานสิบหก IR ที่ปล่อยออกมาจากปุ่มรีโมตแต่ละปุ่ม เหมือนพูดสากลต้องรู้ทุกภาษา!!! หรือเรียนภาษาอังกฤษ! แม้ว่าฉันจะรักภาษาเบงกาลีเป็นภาษาแม่ของฉัน เป็นภาษาที่ไพเราะที่สุด!! แท้จริงแล้ว ค้นหามัน…
ดังนั้นส่วนประกอบที่จำเป็นในการถอดรหัสรีโมต:
- บอร์ด Nodemcu
- TSOP1738 ตัวรับ IR หรือตัวรับ IR อื่น ๆ
- จัมเปอร์
ตอนนี้ ทำตามวงจรด้านบน แต่หลังจากอัปโหลดภาพร่างไปยัง nodemcu ผ่าน Arduino
- เปิด Arduino และเชื่อมต่อ nodemcu กับแล็ปท็อปหรือคอมพิวเตอร์
- จาก "ไฟล์" เลือกตัวอย่างลงไป และจาก IRremoteESP8266 เลือก IRrecvDump
- อัปโหลดไปยัง nodemcu
เชื่อมต่อ TSOP1738 กับ Nodemcu เป็นวงจรและเปิด "จอภาพแบบอนุกรม" จาก Arduino เพื่อดูรหัสฐานสิบหกที่ถอดรหัสของรีโมตตามภาพด้านบน ยังคงอัปโหลดรหัสสำหรับการอ้างอิง อัปเดตเนื่องจากเป็นเวลานาน ฉันไม่ได้พูดถึงเรื่องนี้อีกต่อไป… อย่าลังเลที่จะเปลี่ยนใน github
รหัส:
ขั้นตอนที่ 3: การเข้ารหัส Nodemcu | วงจร
หลังจากถอดรหัสรีโมตแล้ว ตอนนี้ก็ต้องอัปโหลดรหัสฐานสิบหกไปยัง Nodemcu เพื่อให้สามารถให้คำสั่ง IR led เพื่อส่งสัญญาณรหัสฐานสิบหกเหล่านั้น
- หมายเหตุ: ไม่สามารถเชื่อมต่อ IR ที่นำไปสู่ Nodemcu โดยตรง เนื่องจากไม่สามารถส่งกระแสไฟได้เพียงพอ
- ดังนั้นต้องใช้ทรานซิสเตอร์ที่มีการควบคุม IR LED เช่นสัญญาณจาก Nodemcu ไปที่ทรานซิสเตอร์แล้ว IR LED
- ทรานซิสเตอร์เช่น 2N222, 2N3904, BC547 ใช้งานได้ แต่
ทรานซิสเตอร์ 2N222, กระแสสะสม 2N3904: 600mA
กระแสสะสมทรานซิสเตอร์ BC547: 100mA
ทั้งงาน…
ข้อควรระวัง โปรดดูที่ COLLECTOR, EMITTER, BASE TERMINALS เนื่องจาก BC547 และ 2N222 มีรูปแบบที่แตกต่างกัน ฉันได้ใช้ BC547 เนื่องจากสามารถใช้ได้ง่ายและทำงานได้ดี
รหัสนำมาจาก "IRremoteESP8266" ตัวอย่าง "IRserver" ที่แก้ไขตามภาพ
วงจรดังรูป โปรดทราบว่าฉันได้ใช้ทรานซิสเตอร์ BC547 และไม่มีความต้านทานระหว่างขาฐานและ D2
COLLECTOR, EMITTER, ฐานแสดงอยู่ในภาพ อย่าทำเช่นเดียวกันกับทรานซิสเตอร์อื่นๆ
แก้ไข: เครดิต " 3615JMD"
การปรับปรุง:
ฉันขอแนะนำ 2 การปรับปรุง:1) หากมีใครแทนที่: uint32_t code = strtoul(server.arg(i).c_str(), NULL, 10); โดยรหัส uint32_t นี้ = strtoul(server.arg(i).c_str(), NULL, 16); หน้าเว็บยอมรับรหัส HEX โดยตรง ไม่จำเป็นต้องแปลงด้วยตนเองเป็นทศนิยม !
2) ฉันได้ปรับปรุงตัวจัดการเพื่อให้สามารถทำงานกับรูปแบบ IR ได้หลายรูปแบบ ดีเมื่อเราต้องการควบคุมอุปกรณ์ต่างๆ จากแบรนด์ต่างๆ: (สามารถเพิ่มรูปแบบเพิ่มเติมได้ด้วยสวิตช์/เคส)
โมฆะจัดการIr()
{ สำหรับ (uint8_t i = 0; i <server.args(); i++) { if (server.argName(i) == "rcmm") { // format pour la freebox uint32_t code = strtoul(server.arg(i)).c_str(), โมฆะ, 16); irsend.sendRCMM(รหัส 32); Serial.println (รหัส); } else if (server.argName(i) == "rc6") { // format pour la TV phillips uint32_t code = strtoul(server.arg(i).c_str(), NULL, 16); irsend.sendRC6(รหัส 20); Serial.println (รหัส); } } handleRoot(); } ลิงก์ HTTP จะต้องได้รับการแก้ไขตามนั้นแน่นอน: …. href=\"ir?rcmm=2400260C……. …. href=\"ir?rc6=0000C ….
ขั้นตอนที่ 4: การเข้ารหัสรหัส
ฉันได้นำรหัสมาจากตัวอย่างของ "IRremoteESP8266", "IRserver"
แต่มีการเปลี่ยนแปลงบางอย่างที่ต้องทำ ข้อมูลรับรอง wifi ของคุณ - Wifi ssid, รหัสผ่าน Wifi
รหัสตามเว็บเซิร์ฟเวอร์ (เน้นสีเหลือง) - รหัสนี้เป็นรูปแบบทศนิยมของรหัส IR เลขฐานสิบหก ค่าทศนิยมนี้ถูกส่งไปยัง ESP8266 เนื่องจากอาร์กิวเมนต์ถูกแปลงเป็นรหัสฐานสิบหกและส่งไปยัง IR LED
สำคัญ: หลังจากถอดรหัสปุ่มระยะไกลแล้วให้แปลงรหัสฐานสิบหกเป็นทศนิยมและแทนที่ในโปรแกรม Arduino การแปลงเลขฐานสิบหกเป็นทศนิยมไม่ใช่เรื่องยาก ค้นหา Google สำหรับตัวแปลงเลขฐานสิบหกเป็นเลขฐานสิบหกออนไลน์
เห็นภาพชัดเจน!!! รหัสที่เก่ากว่ามาก (2017) โปรดแก้ไข..
รหัส:
ขั้นตอนที่ 5: การควบคุม
เราสามารถควบคุมได้ผ่านลิงก์ของเว็บเซิร์ฟเวอร์… คุณสามารถทราบ IP ของโมดูล ESP8266 บนเราเตอร์ของเราได้โดยการเปิดมอนิเตอร์แบบอนุกรมหลังจากอัปโหลดโค้ด ในภาพของฉันคือ 192.168.0.1
เมื่อเปิด IP นี้ในเบราว์เซอร์ของมือถือหรือแล็ปท็อปใด ๆ เราจะเห็นหน้าดังแสดงในภาพ
หรือเพื่อความสะดวกและเรียบง่าย เราสามารถใช้แอป Android…
แอพ "HTTP REQUEST SHORTCUT" และเขียนที่อยู่เพื่อรันโค้ดอย่างง่ายดาย ดังในภาพ เราสามารถเพิ่มวิดเจ็ตบนหน้าจอหลักเพื่อเข้าถึงปุ่มเสมือนจริงและรับปุ่มระยะไกลที่จำเป็นได้อย่างง่ายดาย
รูปภาพอธิบายตนเองได้
ดังนั้น โดยไม่ต้องเขียนในโปรแกรม เราสามารถส่งผ่านอาร์กิวเมนต์ "โค้ด" ด้วยทศนิยมของรหัสฐานสิบหกที่ดึงมาจากการถอดรหัสรีโมตโดยตรงในวิดเจ็ต
สำคัญ: โปรดอ่านทั้งโครงการให้ละเอียด มันจะใช้เวลา 3 นาที แต่อย่าอ่านครึ่งเดียวและทำให้ชิ้นส่วนของคุณเสียหาย…. ฉันจะไม่รับผิดชอบ!
ขั้นตอนที่ 6: โครงการบรรจุ-g.webp" />
แนะนำ:
ไฟนาฬิกาแสดงเมทริกซ์แถบ LED ควบคุมด้วย WiFi: 3 ขั้นตอน (พร้อมรูปภาพ)
ไฟนาฬิกาแสดงเมทริกซ์แถบ LED ควบคุมด้วย WiFi: แถบ LED ที่ตั้งโปรแกรมได้ เช่น ตาม WS2812 นั้นน่าสนใจ การใช้งานมีหลากหลายและคุณจะได้รับผลลัพธ์ที่น่าประทับใจอย่างรวดเร็ว และอย่างใดการสร้างนาฬิกาดูเหมือนจะเป็นอีกโดเมนหนึ่งที่ฉันคิดมาก เริ่มจากประสบการณ์ใน
LED ควบคุมด้วย Bluetooth โดยใช้ Arduino Uno: 7 ขั้นตอน
LED ควบคุมด้วย Bluetooth โดยใช้ Arduino Uno: โครงงานนี้เกี่ยวกับการควบคุมไฟ LED โดยใช้ Arduino และแอพ Bluetooth ฉันใช้ Arduino Uno สำหรับโครงการนี้แล้ว แต่คุณสามารถใช้บอร์ด Arduino ใดก็ได้ ดาวน์โหลดซอร์สโค้ดนี้และอัปโหลดไปยังบอร์ดของคุณก่อนเริ่มโครงการ
โต๊ะกาแฟ LED Arduino ควบคุมด้วย Bluetooth: 10 ขั้นตอน (พร้อมรูปภาพ)
โต๊ะกาแฟ LED Arduino ที่ควบคุมด้วย Bluetooth: นี่เป็นโครงการ Arduino ที่แท้จริงครั้งแรกของฉันและยังเป็นคำสั่งแรกของฉันด้วยดังนั้นโปรดแสดงความคิดเห็นด้วย :) ฉันต้องการลองและตอบคำถามที่ต้องใช้เวลาพอสมควรในการคิดและให้คำแนะนำโดยละเอียด ดังนั้นถ้า คุณคุ้นเคยกับโฮ
8 การควบคุมรีเลย์ด้วย NodeMCU และตัวรับสัญญาณ IR โดยใช้ WiFi และ IR Remote และแอพ Android: 5 ขั้นตอน (พร้อมรูปภาพ)
8 การควบคุมรีเลย์ด้วย NodeMCU และตัวรับสัญญาณ IR โดยใช้ WiFi และ IR Remote และแอพ Android: การควบคุมสวิตช์รีเลย์ 8 ตัวโดยใช้ nodemcu และตัวรับ ir ผ่าน wifi และ ir รีโมทและแอพ android รีโมท ir ทำงานเป็นอิสระจากการเชื่อมต่อ wifi ที่นี่เป็นรุ่นปรับปรุงคลิก ที่นี่
หอสังเกตการณ์ต้องห้าม + ไฟ LED RGB ควบคุมด้วย WiFi: 7 ขั้นตอน (พร้อมรูปภาพ)
หอสังเกตการณ์ต้องห้าม + ไฟ LED RGB ที่ควบคุมด้วย WiFi: เมื่อคุณรู้สึกว่าคุณได้ปรับแต่งเครื่องพิมพ์ 3D ของคุณเพื่อให้ได้งานพิมพ์ที่มีคุณภาพดี คุณก็เริ่มมองหาโมเดลเจ๋งๆ บน www.thingiverse.com ฉันพบ The Forbidden Tower โดย kijai และคิดว่ามันน่าจะเป็นการทดสอบที่ยอดเยี่ยมสำหรับเครื่องพิมพ์ของฉัน (Anet A8) ปร