I'm trying to build a walking robot, and hoping to use the arduino mega for it. The obvious advantage is the ability to easily interface with sensors, plus I'm somewhat familiar with the arduino IDE and not much else.
I need to control 16 servos with it (using a PCA9685 driver via I2C), plus a couple of servos for a camera. A few other sensors (ultrasonic, microphone, etc.) are quite easy to interface. After testing, I'd like to be able to control it remotely, so planning to use the ESP8266, which also need I2C I believe. The difficult part seems to be the camera: at the moment I have the OV7670 module without a fifo buffer. I was hoping to be able to control the robot remotely eventually, which implies having the arduino send the camera's output (I believe by using lower resolution I can get frames less than 100Kb in size) directly via the ESP8266 to a controlling PC. I've found some code at https://github.com/ComputerNerd/ov7670-no-ram-arduino-uno which seems to do exactly that, but the transfer rate is stated to be 1Mb/s, which would amount to something like 10 frames per second, and I don't really know how to incorporate the c code into the arduino IDE anyway.
The basic questions: 1. Does it seem feasible to send video from the camera sensor via the arduino to a PC at a reasonable enough rate (probably about 15 frames/second) to control the robot? Or do I need a different microcontroller/computer? 2. Will I be able to make enough I2C connections to talk to the servo driver, ESP8266, and the camera at the same time?
Also, if anyone happens to have some example code using the OV7670 camera with the arduino IDE, I'd appreciate seeing that. Thanks for reading.