Go Down

Topic: Robot Camera  With  2.8" TFT (Read 63042 times) previous topic - next topic


Well that wasn't the one I found but it looks the same...

Looks like someone made more than one then :P



Dos any one know how much one costs?


Dos any one know how much one costs?

Umm, didn't you look at the ebay links?

Starting at $48.



Did anyone figured out how to use xbees to have the monitor wireless from the camera?


Did anyone figured out how to use xbees to have the monitor wireless from the camera?

Xbees are too slow for this. You would get a frame every second or so...

If that's what you want to do then you need to look into other systems, maybe buy a redy made wireless camera setup, it would be cheaper!



That is fine, that is all I need....
Any info?


Jun 17, 2010, 11:40 am Last Edit: Jun 17, 2010, 11:43 am by mowcius Reason: 1
That is fine, that is all I need....
Any info?

Umm, nope  :P

I do not know of a project that has done it and I would have not thought it would be easy so I think you're on your own for that. I just know that theoretically it wuld be possible but not very quickly. First off, you probably want to start with a better board than the arduino but I don't know how to go about it.

If you are needing to ask these questions then maybe it is a bit beyond your capabilities to code for it. I know it is beyond mine! As I said, a ready made wireless camera system will be faster and probably cheaper.



Sep 05, 2010, 05:44 am Last Edit: Sep 05, 2010, 10:41 am by reha Reason: 1
I already buy one board that was explained at the beginning of the tread (http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=190364668156&ssPageName=STRK:MEWNX:IT#ht_7600wt_912) , but it is slightly different (from the picture I can seen) from the one explained as new version ( http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=200475513524&ssPageName=STRK:MEWAX:IT#ht_7444wt_912 )

1) position of USB connector is on left handside
2) No SD socket on the board

But, sadly documantation is nothing.. Can anyone help me to interface to Arduino environment? many thanks in advance, reha


I am working on the same topic. Bought the camera some weeks ago. I am currently rewriting the camera to do some image processing. Gave me some sleepless nights already. unfortunately the board is, as already said, poorly documented and not well designed.

actually the board is only useful for one task : displaying the ov7670 camera data on the tft display. well that works well, but you would not need a microcontroller then, because the databus of the camera already fits well to the tft controller. the is no processing required in order to do that. the given examples are written in some really bad c manner. no useful comments or other stuff.

another misunderstanding is that you can't use the mmc card socket, the camera, the tft, and the touch controller simultaneously. thats not possible, since all of them are more less connected to the same data bus. either you do some touch screen stuff, or mmc card stuff, or camera stuff. that kind of lame.

what did i do so far :

in order to do image processing, you need the PCLK and HREF Pins. These are the Pixel Clock and the horizontal reference. The vertical clock VREF is already connected to PD2 (Int0) on the atmega. Since the pins PD4 and PD5 are not connected, i made a Pinout board for the camera an soldered a jumper wire from HREF to PD5 and PCLK to PD4. Voila, the first code is able to count the Pixels and the Lines of the Frame. By the way : In the original register settings of the Camera, the Pixel Clock Frequency was way too high. I needed to change them, in order to make image processing possible.

Next thing : There is no RS232 to USB converter on the Board. The TX and Rx Pins of the USB Connector are not assigned. I absolutly do not get why ! So you just supply power over usb. So i took a FTDI Breakout Board and wired the serial port of the Atmega to it. Voila, i am able to Communicate with the board. The next code was able to give the databus bayte via serial. you get something like 00001111
for the color red, in the RGB444 XR GB mode.

That the state so far. if there is anyone here, who is working on the same issue, answer here. it is a really time seeking task. i might need some help. if anyone needs the code, come and get it. its written in c, but well documented. but first if all, you need to modificate the board like described above.


Oct 23, 2010, 02:12 pm Last Edit: Oct 23, 2010, 03:42 pm by rrak Reason: 1
To Give an Example, you will find a function below, which counts the HREF Ticks of the camera. HREF is high, when a new line starts within a frame. Lets say you have VGA Resolution with 640 x 480 pixel. 480 would be number of lines. Look into the datasheet of the OV7670 ( Timing Specification ).

As already said : HREF on PD5 ( Use Jumper Wire ), RX and TX to FTDI232 Breakout Board. ( You can use the RX and TX pins of an arduino too. )

Code: [Select]

void _COUNT_HREF(void)
unsigned char HREF_s[7];
uint16_t ticks_HREF;
ticks_HREF = 0;



     uart_puts("HREF Ticks :");

This gives on Serial Port the string "HREF Ticks :480" every time a new frame starts.



It was mentioned a while back that schematic diagram/etc would be made avaliable. Are they available and I'm just unable to find them? I'd be tempted to buy a pre-made one, but building it from scratch would be more enjoyable! Cheers!

I am tiding all the information about  Robot Camera  With  2.8" TFT , and I will open all the information including schematic diagram[ch12289]eagle file[ch12289]datasheet etc to you guys....
you can make  it yourself


Nov 19, 2010, 01:20 pm Last Edit: Nov 19, 2010, 01:22 pm by realtime Reason: 1
I used the source of that package in my next post as a starting point for further development using AVR Plugin for eclipse. Everything seems to be fine, but I got problems with the cam after uploading to the board via ICSP. It seems that it does not initialize anymore. What I also did by accident is to plug the cam in the boards pinsheaders 1 row to high. Do you think this might have destroyed the cam? Not very likely or?
If I unplug the cam while running and replug, the program jumps over the init and a screwed image appears on the screen. Any suggestions?



The Schematics are available in the RAR file at http://www.fpga4u.com/bbs/attachment.php?aid=653&k=33f8ba8c9cb2e4f152a6efa4febdc0f3&t=1290168834



Image Processing could also be done reading the GRAM of the Displaydriver.  Or am I wrong?


const prog_char change_reg[CHANGE_REG_NUM][2]=
     {0x3a, 0x0c},
     {0x3d, 0xc0},
     {0x12, 0x00},
     {0x15, 0x40},
     {0x17, 0x13},
     {0x18, 0x01},
     {0x32, 0xbf},
     {0x19, 0x02},
     {0x1a, 0x7a},//0x7a,
     {0x03, 0x0a},//0x0a,
     {0x0c, 0x00},
     {0x3e, 0x00},//
     {0x70, 0x3a},
     {0x71, 0x35},
     {0x72, 0x11},
     {0x73, 0xf0},//
     {0xa2, 0x02},
     //{0x11, 0x81},
     {0x7a, 0x20},
     {0x7b, 0x03},
     {0x7c, 0x0a},
     {0x7d, 0x1a},
     {0x7e, 0x3f},
     {0x7f, 0x4e},
     {0x80, 0x5b},
     {0x81, 0x68},
     {0x82, 0x75},
     {0x83, 0x7f},
     {0x84, 0x89},
     {0x85, 0x9a},
     {0x86, 0xa6},
     {0x87, 0xbd},
     {0x88, 0xd3},
     {0x89, 0xe8},
     {0x13, 0xe0},
     {0x00, 0x00},//AGC
     {0x10, 0x00},
     {0x0d, 0x40},
     {0x14, 0x28},//0x38, limit the max gain
     {0xa5, 0x02},
     {0xab, 0x02},
     {0x24, 0x68},
     {0x25, 0x58},
     {0x26, 0xc2},
     {0x9f, 0x78},
     {0xa0, 0x68},
     {0xa1, 0x03},//0x0b,
     {0xa6, 0xd8},//0xd8,
     {0xa7, 0xd8},//0xd8,
     {0xa8, 0xf0},
     {0xa9, 0x90},
     {0xaa, 0x14},
     {0x13, 0xe5},
     {0x0e, 0x61},
     {0x0f, 0x4b},
     {0x16, 0x02},
     {0x1e, 0x07},//0x07,
     {0x21, 0x02},
     {0x22, 0x91},
     {0x29, 0x07},
     {0x33, 0x0b},
     {0x35, 0x0b},
     {0x37, 0x1d},
     {0x38, 0x71},
     {0x39, 0x2a},
     {0x3c, 0x78},
     {0x4d, 0x40},
     {0x4e, 0x20},
     {0x69, 0x00},
     {0x6b, 0x0a},//PLL
     {0x74, 0x10},
     {0x8d, 0x4f},
     {0x8e, 0x00},
     {0x8f, 0x00},
     {0x90, 0x00},
     {0x91, 0x00},
     {0x92, 0x00},//0x19,//0x66
     {0x96, 0x00},
     {0x9a, 0x80},
     {0xb0, 0x84},
     {0xb1, 0x0c},
     {0xb2, 0x0e},
     {0xb3, 0x82},
     {0xb8, 0x0a},
     {0x43, 0x0a},
     {0x44, 0xf2},
     {0x45, 0x39},
     {0x46, 0x62},
     {0x47, 0x3d},
     {0x48, 0x55},
     {0x59, 0x83},
     {0x5a, 0x0d},
     {0x5b, 0xcd},
     {0x5c, 0x8c},
     {0x5d, 0x77},
     {0x5e, 0x16},
     {0x62, 0x00},
     {0x63, 0x00},
     {0x64, 0x04},
     {0x65, 0x20},
     {0x66, 0x05},
     {0x94, 0x04},
     {0x95, 0x08},

     {0x6c, 0x0a},
     {0x6d, 0x65},
     {0x6e, 0x11},
     {0x6f, 0x9e},//0x9e for advance AWB
     {0x6a, 0x40},
     {0x01, 0x56},
     {0x02, 0x44},
     {0x13, 0xe7},
     {0x4f, 0x88},
     {0x50, 0x8B},
     {0x51, 0x04},
     {0x52, 0x11},
     {0x53, 0x8c},
     {0x54, 0x9d},
     {0x55, 0x00},
     {0x56, 0x40},
     {0x57, 0x80},
     {0x58, 0x9a},
     {0x41, 0x08},
     {0x3f, 0x00},
     {0x75, 0x04},
     {0x76, 0x60},
     {0x4c, 0x00},
     {0x77, 0x01},
     {0x3d, 0xc2},      //0xc0,
     {0x4b, 0x09},
     {0xc9, 0x30},
     {0x41, 0x38},
     {0x56, 0x40},//0x40
     {0x34, 0x11},
     {0x3b, 0x12},//0x00,//0x02,
     {0xa4, 0x88},//0x88,
     {0x96, 0x00},
     {0x97, 0x30},
     {0x98, 0x20},
     {0x99, 0x30},
     {0x9a, 0x84},
     {0x9b, 0x29},
     {0x9c, 0x03},
     {0x9d, 0x99},
     {0x9e, 0x7f},
     {0x78, 0x04},      
     {0x79, 0x01},
     {0xc8, 0xf0},
     {0x79, 0x0f},
     {0xc8, 0x00},
     {0x79, 0x10},
     {0xc8, 0x7e},
     {0x79, 0x0a},
     {0xc8, 0x80},
     {0x79, 0x0b},
     {0xc8, 0x01},
     {0x79, 0x0c},
     {0xc8, 0x0f},
     {0x79, 0x0d},
     {0xc8, 0x20},
     {0x79, 0x09},
     {0xc8, 0x80},
     {0x79, 0x02},
     {0xc8, 0xc0},
     {0x79, 0x03},
     {0xc8, 0x40},
     {0x79, 0x05},
     {0xc8, 0x30},
     {0x79, 0x26},

     {0x09, 0x03},
     {0x3b, 0x42},//0x82,//0xc0,//0xc2,      //night mode


Go Up