Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
Switzerland
Asked
Resolved Resolved by DJ Sures!

Expand My Existing Robot Project With An ESP32-Cam And A Matrix (8X16)

My robot is now running fine with the 16 servos on the ESP32 and the PCA9658 and I have already been able to program some actions.
Now I would like to expand my project with an ESP32 cam and a matrix.

My problem is the following:
I would like to connect the ESP32-Cam to the existing ESP32 (without WIFI) because the ESP32 already has a connection. (unfortunately I have no other cam available at the moment).

I would like to mount the camera in the head of my robot, but only with a cable connection (I2C?).
How can I connect the two ESP32s together and then control them in the ARC?

In addition, I would also like to connect a matrix (8x16) with the connections (SCK, DIN, VCC, GRD) to the ESP32.
I also need the corresponding code for the connections mentioned.
who could help me there?
Plokber


Related Hardware ESP32 Cam
Switzerland
#2  
Thank you for the hint,:)

Now I have successfully added the ESP32-Cam with the corresponding firmware (EZB version 6) to my esp32 camera.
I was able to connect to the esp32 camera in client mode.
I also looked closely at the video by DJ Sures (Life hacks from 02/13/2021).

Unfortunately, I keep getting the following error message:
Camera Initialized: EZB: //192.168.50.1 @ 320x240
EZ-B v4 Camera Error: No data can be read from the transmission connection: A connection attempt failed because the remote station did not react correctly after a certain period of time, or the connection established was faulty because the connected host did not react.
Camera Disabled

I have also tried turning off my antivirus scanner, without success.
For info:
On connection GPO2 (ARC = D2) my servo motor with the camera work perfectly.

Now I need help on how to get the camera to work.
Greetings Plokber
PRO
Synthiam
#3  
Make sure you're connecting to the correct IP address (192.168.50.1 may not be correct for the esp32)

Use the USB cable to view the debug information in the Arduino serial monitor.
Switzerland
#4  
I was able to solve the cam problem with a different IP address, thank you very much DJ :D:D

Now I would like to connect a matrix (8x16) with blue LEDs from (Makeblock Orion) to the EZ-B v4.

Here is the technical specification of the matrix:

Operating voltage: 5V DC
Signal mode: IC communication
Module size: 73 x 31 x 15 mm (L x W x H)
Connections (SCK, DIN, VCC, GRD)
Question:
How can I connect this matrix to the IC connector of the EZ-B v4 and control it with the ARC?

who could help me there?
Plokber
PRO
USA
#5   — Edited

Quote:

How can I connect this matrix to the IC connector of the EZ-B v4 and control it with the ARC?
I believe this is your matrix:
http://learn.makeblock.com/en/me-led-matrix-8x16/

and uses this led controller:
https://solarbotics.com/wp-content/uploads/tm1640.pdf

manufacturer arduino library:
https://github.com/Makeblock-official/Makeblock-Libraries/blob/master/src/MeLEDMatrix.cpp

looking to existing details you will need to transmit the bytes using the bit banging method. I don't think it's possible/efficient to handle the protocol with an EZB V4.

That is definitely a job for low level micro-controller e.g. Arduino micro or the original manufacture controller: https://www.makeblock.com/project/makeblock-orion

once you have the matrix working you need to modify the EZB Arduino's firmware to handle the matrix using EZB Protocol's UART implementation.

Bear in mind you will need to program the low level code plus extend the existent EZB firmware.

PRO
Canada
#6  
Hello @plokber,

I saw your comment on here but was waiting for your response to @ptp before chiming in.

I wanted to mention that EZ-Robot now sells an RGB 8x8 matrix display that works natively in ARC if you are interested. You can also change their I2C address to have control multiple matrix displays if you would like 8x16, 8x24, 16x16, etc. I would recommend these displays because of the extremely quick and easy interface that ARC gives to control each individual LED on these displays. See the skill here: https://synthiam.com/Support/Skills/I2c/RGB-8x8-Animator?id=16173

The displays are available for purchase here: https://www.ez-robot.com/store/p62/RGB-8x8-LED-Display-Addressable.html

I would echo the sentiments of @PTP when it comes to the Makeblock 8x16 display, it looks very difficult and likely not possible to connect directly to the EZ-Bv4.

The Make block display works at 5V logic voltage level. The EZ-Bv4 I2C port supplies 3.3V and is at 3.3V logic voltage level.

In order to communicate you may need a logic level translator and a boost converter to go from the EZ-Bv4's 3.3V to the Display's 5V or a buck converter to go from the EZ-Bv4's Vin down to 5V. 

I2C going through a logic level translator is also not always a sure bet that it will work as desired because I2C is a difficult protocol on the hardware side, it is very temperamental. I2C with the EZ-Bv4 usually requires strong pull-up resistors sometimes as low as 330 ohms.

The second solution that I had for you was already mentioned by @PTP. Use an Arduino connect to the matrix then communicate to the EZ-Bv4 via a serial protocol through one of the 3 UART ports.