i2c tv tuner

i found an old tv tuner card with a phillips fm1236 tv tuner on it. i was reading the datasheet on it, and i noticed it was controlled by an i2c interface and i thought, wow, i can probably control this with an arduino, but unforunately, the datasheets description of the control makes little sense to me. can anyone help me sort through this (http://dl.ivtvdriver.org/datasheets/tuners/FM1236%20Mk3_Oct_18_01.pdf)
ive never worked with i2c and i figure this would be a very good starting point.
ive done moderate projects with the arduino, and i want to start taking it to the next level.

alright, im a little closer, but at the same time im nowhere.
so far i have this

void setup()
// Request 6 bytes from slave device at address 0xA0 (always use 7 bits addresses) :
while(Wire.available()) {
byte b = Wire.receive();
// Do stuff with b …
Serial.println(b, DEC);
void loop()
delay (10000);

im pretty sure the first 2 values i send are for the frequency, but im having trouble figuring out how they derived them.
the third one seems to be to set the internal charge pump to tune fast or to tune slow. the fourth value seems to be the band that the channel is in. seems easy enough, but i cant figure out how they drive their frequency hex values in their example

Looks like you’ve got 2 I2C devices on thatmodule, the tuner and the IF. Looks like they have to be configured separately.

Good luck, looks like an interesting device.


i probably wont even be using the fm module. the tv tuner is daunting enough. anyway, thanks for looking, i found a formula that ill try to get the hex values.

It's not split in TV and FM, it's the tuner and IF (intermediate frequency). You've got to set both correctly to get a demodulated signal.


ahh crap, alright, read some more and i think im beginning to understand more of this. so ive figured out some of the bytes, but i dont understand the divider bytes. how do i find out how to set them?