Arduino Image Processing?

Hello,

I want to use an Arduino Mega2560 to detect objects. I want to know the best camera to use (I’m considering Arducam), which will be attached to a robot with wheels. I’m also unsure about how to run the actual image processing on the board so the robot will detect in real time - I’m assuming it will be in C++ and I will have to import the OpenCV library. I have read that a pan/tilt mechanism is also useful to connect to the camera.

I have looked at PixyCam but this is unsuitable as I want to write the image recognition code myself, so I just need a good camera that can see in low light conditions.

Hi,
Welcome to the forum.

Please read the post at the start of any forum , entitled "How to use this Forum".
OR
http://forum.arduino.cc/index.php/topic,148850.0.html.

I'm not sure you know enough about image processing and object detection.

A Mega is nowhere near adequate for what you want to do.
Possibly look at ESP32-CAM.

Can you tell us your electronics, programming, arduino, hardware experience?

Have you programmed an Arduino controller before?

Thanks.. Tom... :slight_smile:

TomGeorge:
Hi,
Welcome to the forum.

Please read the post at the start of any forum , entitled "How to use this Forum".
OR
http://forum.arduino.cc/index.php/topic,148850.0.html.

I'm not sure you know enough about image processing and object detection.

A Mega is nowhere near adequate for what you want to do.
Possibly look at ESP32-CAM.

Can you tell us your electronics, programming, arduino, hardware experience?

Have you programmed an Arduino controller before?

Thanks.. Tom... :slight_smile:

Hello Tom,

Thank you for your reply. I am new to Arduino and I have previously used RaspberryPi running TensorFlow for object detection...I am finding working with Arduino a bit confusing as for Pi it is simply a PiCamera but there seem to be a lot of different cameras for Arduino. So, would you recommend using the ESP32 board and downloading it as an add-on in the Arduino IDE?

This article seems quite helpful: Machine Learning at the Edge with ESP32 - Bouvet Norge

But it doesn’t seem that many people have tried it out

Hi,
Is there a reason you can't use a Pi for the image processing and high end computing and command an Arduino controller to control the motor drives and other outputs to the real world?

Thanks.... Tom.. :slight_smile:

Image processing = Raspberry Pi. Not Arduino.

and I will have to import the OpenCV library.

Not on an Arduino you won’t.

Just look at the difference in the amount of memory you have on and Arduino and Pi. Then look at how much memory openCV takes and what sort of processing power it needs. Any Arduino video processing has to be done with something that is not an Arduino.

Grumpy_Mike:
Not on an Arduino you won’t.

Just look at the difference in the amount of memory you have on and Arduino and Pi. Then look at how much memory openCV takes and what sort of processing power it needs. Any Arduino video processing has to be done with something that is not an Arduino.

Okay, I was thinking of connecting an ESP32 Board to the Arduino? I need both boards as the robot motors plug in to special ports on the modified Arduino.

suzhousaurus:
I have looked at PixyCam but this is unsuitable as I want to write the image recognition code myself, so I just need a good camera that can see in low light conditions.

Get a Pi. You'll have something like 10x the processing speed and 100x the memory of the ESP32 available. That way you stand a chance of doing basic image recognition fast enough to be useful.

wvmarle:
Get a Pi. You'll have something like 10x the processing speed and 100x the memory of the ESP32 available. That way you stand a chance of doing basic image recognition fast enough to be useful.

Hello, I do have a Pi and originally intended to use it but due to incompatibility with the modified Arduino Mega I have to look to other options such as the ESP32

but due to incompatibility with the modified Arduino Mega

What? Please explain. As far as I know there are no incompatibilities.

I want to use an Arduino Mega2560 to detect objects.

Switches, bumpers, sonar distance rangers and optical distance sensors will work to detect objects.

For image processing, an RPi or better is required.

jremington:
Switches, bumpers, sonar distance rangers and optical distance sensors will work to detect objects.

For image processing, an RPi or better is required.

Thank you - is there anything else other than an RPi I could use that would work with the Arduino?

Still waiting for an answer to reply #9.

is there anything else other than an RPi I could use that would work with the Arduino?

Beagle Bone Black.

1 Like

Grumpy_Mike:
Still waiting for an answer to reply #9.
Belga Bone Black.

Thank you - I’ll check it out online :slight_smile:

"beagle"

Having trouble spelling it, think I am there now.

BeagleBone Black Wireless Single Board Computer with WiFi & Bluetoot

Grumpy_Mike:
What? Please explain. As far as I know there are no incompatibilities.

Basically when I tried to connect them before (Pin to pin), the Pi destroyed my Arduino as well as a laptop (the Arduino stopped working, I had to get a new one and the laptop went black and wouldn’t turn back on)

Grumpy_Mike:
Having trouble spelling it, think I am there now.

BeagleBone Black Wireless Single Board Computer with WiFi & Bluetoot

Thank you for the link - it’s much cheaper on CPC than on the website I found it on for (£60)!

This will definitely work for me as I can connect it to the Arduino plus I can connect to it from an android phone. Thank you very much for suggesting the BB board :slight_smile:

suzhousaurus:
Basically when I tried to connect them before (Pin to pin), the Pi destroyed my Arduino as well as a laptop (the Arduino stopped working, I had to get a new one and the laptop went black and wouldn’t turn back on)

I think we are making the point that whatever blunder you made causing such a catastrophe was not in any way unique or characteristic to the Pi and unless you comprehend what it was, you are no less likely to repeat it with any other microcontroller system! :astonished:

If you do the same thing on the BB board you will get the same results, you will fry everything. This is because both the Raspberry Pi and BB board are 3V3 systems and the Arduino is a 5V system.

You can connect them together through the USB with no problem but if you connect the GOIO pins together you will fry the lower voltage system. You need a level shifter, a simple resistor potential divider will do to cut down the 5V from the Arduino to the 3V3 of the other systems. Don’t use a level shifter designed for an I2C bus.