I currently have code that is written on the ESP32 Cam that when connected to a computer prints out its results. I am trying to transfer this data to an Arduino UNO and sends the results to my computer when connected. I am not that familiar with serial data transfer but I have tried several code examples but the results are incorrect. If someone can explain what I am doing wrong or if I am missing something.
I moved your topic to a more appropriate forum category @caleb1155.
The Nano ESP32 category you chose is only used for discussions directly related to the Arduino Nano ESP32 board.
In the future, please take the time to pick the forum category that best suits the subject of your question. There is an "About the _____ category" topic at the top of each category that explains its purpose.
Agree with the above. Just use Serial.print() on the ESP32 to send data to the PC. Then you don't have to deal with the 5V to 3.3V logic level conversion, either.
The problem is that I have to mount the camera in a location that will not allow me to connect my PC to the ESP32 Cam. I also need to have the Arduino to do further tasks based on the data it receives from the ESP32 Cam.
I know this but as I also said in that comment I need that data to be used on the Arduino UNO and I do not want to use Bluetooth or wi-fi because I am trying to minimize power consumption.
The UNO is apparently connected to the PC, and since you said the camera is in a location where you cannot get a cable, some other mechanism, and not wi-fi or bluetooth, is needed for the serial transfer.
So how are you going to send the serial data from the ESP32 to the UNO ?
You have just explained the problem I am trying to figure out. I am not very familiar with doing projects like this so I am not sure the best way of doing these tasks but the question you asked is what I am trying to figure out.
The UNO is used to control other aspects of the project but I have the ESP32 Cam collecting information that is needed for the Arduino UNO to control the parts it has. And I understand that the Arduino UNO is not the best selection for lessening power consumption but I am using it for its simplicity.
Personally, given that the ESP32 has far more resources than an UNO, I would have chosen an architecture that let it control everything using I2C or SPI port expanders as necessary. But, fair enough.
OK, now explain how intend to maintain that "simplicity" given that the UNO only has one hardware UART and it's dedicated to communicating with the PC via the on-board UART <--> USB conversion.
I am not very familiar with doing projects like this so I am not sure the best way of doing these tasks but the question you asked is what I am trying to figure out. I am not sure as my knowledge so far is that I am trying to use the TX and RX pin slots on the Arduino UNO while the Arduino UNO is connected to the PC through its USB Connector. This is how I have been trying to send the data to the Arduino from the UOR and UOT pins on the ESP32 CAM board.
The Arduino will not be dealing with any images I have object detection code written for the ESP32 cam that sends a serial signal on what it detected so I want to send that signal to the Arduino so that it can use this information to control the other aspects of the project. So the Arduino will not be dealing with any images.
Then your original problem statement was poorly written and too vague as to what is being transferred:
Regardless, you're causing yourself a lot of unnecessary pain by attempting to use the Uno with only a single hardware UART. And, the above-mentioned level shift issue adds additional unnecessary complexity. That's the price you'll pay for being intransigent in your processor selection.