สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ทุกเดือนเราจะจ่ายค่าเช่าแพ็คเกจทีวีแพง แต่เราไม่รู้เลยว่าเราดูจริง ๆ ไปกี่ช่อง แม้ว่าเราจะไม่มีไอเดียเลยว่าเราใช้เวลาดูทีวีไปกี่ชั่วโมง
ที่นี่ฉันได้สร้างเครื่องบันทึกข้อมูลซึ่งจะจัดเก็บรูปแบบการดูทีวีของคุณ
ด้วยสิ่งนี้ คุณสามารถ
- ติดตามว่าคุณกำลังดูช่องใดมากที่สุดและคุณไม่ได้ดูช่องใด คุณสามารถวางช่องที่ไม่ต้องการและประหยัดเงินได้บ้าง
- เวลาที่บุตรหลานของคุณกำลังดูอยู่ข้างหลังคุณนานเท่าไรและพวกเขากำลังดูช่องใดอยู่
- คุณใช้เวลาดูทีวีกี่ชั่วโมง ฯลฯ
ขั้นตอนที่ 1: วัสดุที่จำเป็น
คุณต้องการสื่อดังต่อไปนี้เพื่อให้โครงการเสร็จสมบูรณ์
- 1 X Arduino Uno / เมกะ
- 1 X โมดูล RTC 1307
- 1 X โมดูลการ์ด microSD
- 1 X การ์ด Micro SD
- 1 X เหรียญเซลล์
- 1 X TSOP1738 ตัวรับสัญญาณ IR
- 1 X LED (อุปกรณ์เสริม)
- ตัวต้านทาน 2 X 470 โอห์ม
- สายจัมเปอร์
- Veroboard ขนาดเล็ก
- ไฟ USB ในสายเคเบิล / อะแดปเตอร์ 9V
ขั้นตอนที่ 2: เครื่องมือและซอฟต์แวร์ที่จำเป็น
- Arduino IDE
- MS Excel
- หัวแร้ง
- เลื่อยวงเดือน
- ปืนกาวร้อน
- ตู้ที่เหมาะสมในการถือโครงการ
- ไขควง
ขั้นตอนที่ 3: แผนผังไดอะแกรม
กรุณาหาแผนผังไดอะแกรมในภาพ
ขั้นตอนที่ 4: IR Protocol
เราต้องการไลบรารี่ต่อไปนี้เพื่อดำเนินโครงการ
- ห้องสมุด IR
- ห้องสมุดการ์ด SD
- ห้องสมุด RTC
- อันดับแรก เราต้องเข้าใจโปรโตคอล IR ของ Set Box Box ก่อน หากต้องการค้นหาสิ่งนี้ให้อัปโหลดโค้ดตัวอย่างจากไลบรารี IR แนบภาพหน้าจอ
- หลังจากดำเนินการ เราจำเป็นต้องค้นหาว่าโปรโตคอลใดกำลังใช้อยู่
- สำหรับกรณีของฉัน ฉันโชคไม่ดีนิดหน่อย
- ฉันพบรหัสที่ไม่รู้จัก
- จากนั้นฉันได้บันทึกสำหรับข้อมูล 36 บิตทั้งหมดที่ได้รับและสร้างรหัสที่ใช้งานได้สำหรับฉัน
- ฉันวิเคราะห์ข้อมูลและพบว่ามีเพียง 4 บิตเท่านั้นที่มีการเปลี่ยนแปลงและนั่นคือกุญแจสำคัญของข้อมูล
ขั้นตอนที่ 5: รหัส Arduino
ฉันได้สรุปรหัสในไฟล์และวิดีโอ INO แล้ว อัลกอริทึมพื้นฐานคือ
- ถอดรหัส IR
- ค่าคีย์ IR
- ใช้เวลาปัจจุบันจาก RTC
- รวมข้อมูลและเก็บไว้ในการ์ด SD
ลิงค์ห้องสมุด
github.com/adafruit/RTClib // ห้องสมุด RTC
github.com/z3t0/Arduino-IRremote // ไลบรารี IR
ขั้นตอนที่ 6: การวิเคราะห์บันทึก
เราได้รับไฟล์ในรูปแบบ csv ขั้นตอนในการวิเคราะห์
-
เราจำเป็นต้องเข้าใจตรรกะ STB ของเรา STB ของฉันใช้หมายเลขช่อง 3 หลักและช่องเป็นเหมือน 100, 703, 707 202 เป็นต้น การหมดเวลาของการกดปุ่มคือ 3 วินาที มีสามวิธีในการเปลี่ยนช่อง
- โดยกดตรงช่อง no
- โดยกด Channel + และ Channel - button
- โดยกดปุ่มสลับเพื่อรับช่องที่ดูก่อนหน้านี้
- เนื่องจากไมโครคอนโทรลเลอร์ไม่สามารถวิเคราะห์เงื่อนไขทั้งหมดนี้ในระหว่างนั้นได้ ฉันได้วิเคราะห์ข้อมูลใน excel แล้ว ฉันใช้ Arduino เพื่อเก็บบันทึกการกดระยะไกล
- โปรดดูวิดีโอเพื่อความเข้าใจอย่างถ่องแท้