Introduction: Find Your TV Watching Habits

Every month we are paying high bills for TV package rentals. But we don't have any idea how many channels are we actually watching. Even we don't have any Idea how many hours we are spending to watch TV.

Here I have built a data logger which will store your TV watching patterns.

With this You can

  • Track which channel you are watching most and which are you not. You can drop the unwanted channels and save some money
  • How much time your kids are watching on your back and which channels are they watching
  • How many hours you are spending by watching TV, etc.

Step 1: Material Required

You need following material to complete the Project

  • 1 X Arduino Uno / Mega
  • 1 X RTC module 1307
  • 1 X microSD card Module
  • 1 X Micro SD card
  • 1 X Coin Cell
  • 1 X TSOP1738 IR receiver
  • 1 X LED (optional)
  • 2 X 470 Ohm Resistor
  • Jumper cables
  • Small Veroboard
  • USB power in Cable / 9V adapter

Step 2: Tools and Software Required

  • Arduino IDE
  • MS Excel
  • Soldering Iron
  • Hacksaw
  • Hot Glue Gun
  • Suitable cabinet to hold the project
  • Screwdriver

Step 3: Schematic Diagram

Please find the Schematic Diagram in image

Step 4: IR Protocol

We need the following library to execute the project
  1. IR Library
  2. SD card library.
  3. RTC Library

  • First We need to understand our Set Box Box IR protocol. To find this upload the example code from IR library. Screenshot attached
  • After executing We need to found which protocol are using
  • For My case I am little bit unlucky
  • I found unknown code
  • Then I have take a log for all 36 bit data received and make a code working for me.
  • I analysed the data and found only 4 bits are changing and that are the key of data.

Step 5: Arduino Code

I have briefed the code in INO file and video. Basic algorithm is

  • IR decoding
  • IR key value
  • take current Time from RTC
  • Combine the data and store in SD card

library links

https://github.com/adafruit/RTClib // RTC library

https://github.com/z3t0/Arduino-IRremote // IR library

Step 6: LOG Analysis

We have got the file in csv format. Steps to analysis

  • We need to understand our STB logic. My STB use 3 digit of channel no and channel are like 100, 703,707 202 etc. Timeout of key pressed is 3 seconds. There are three way to change the channel
    • By pressing direct channel no
    • By pressing Channel + and Channel - button
    • By pressing Swap button to get previously watched channel
  • As Micro controller is not capable to analyse this whole conditions in between it. I have analysed the data on excel. I used Arduino to store the remote pressing log
  • Please watch the video to get full understanding.

Step 7: Video of the Project