From 8a291c4eb294bbb5871d84c6d2f84355c1c27c32 Mon Sep 17 00:00:00 2001 From: Alexandre Bobkov Date: Mon, 21 Jul 2025 02:31:54 -0400 Subject: [PATCH] RC Robot Tutorial --- .../tutorial/docs/source/overview.rst | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/ESP-IDF_Robot/tutorial/docs/source/overview.rst b/ESP-IDF_Robot/tutorial/docs/source/overview.rst index 824ae23ad..47f5d5f46 100644 --- a/ESP-IDF_Robot/tutorial/docs/source/overview.rst +++ b/ESP-IDF_Robot/tutorial/docs/source/overview.rst @@ -12,15 +12,26 @@ In addition to enabling real-time control, using ESP-NOW introduces key networki structured communication. By using data structures to group control variables, you gain hands-on experience with how information is packaged and transmitted, laying the groundwork for understanding the fundamentals of network communication in embedded systems. -The joystick used in the bitByteRider RC car remote unit outputs analog voltages ranging from 0V to 3.3V on both the x- and y- axes, depending on the position of the joystick. These voltage levels are read by the ESP32-C3’s ADC (Analog-to-Digital Converter) inputs. +The joystick used in the bitByteRider RC car remote unit outputs analog voltages ranging from 0V to 3.3V on both the x- and y- axes, +depending on the position of the joystick. These voltage levels are read by the ESP32-C3's ADC (Analog-to-Digital Converter) inputs. -When the joystick is in its neutral (centered) position, the ADC inputs on the ESP32-C3 receive approximately 1.65V on both axes. This midpoint voltage is interpreted and interpolated as a PWM (Pulse Width Modulation) value of 0, indicating no movement or motor activity. +When the joystick is in its neutral (centered) position, the ADC inputs on the ESP32-C3 receive approximately 1.65V on both axes. +This midpoint voltage is interpreted and interpolated into a PWM (Pulse Width Modulation) value of 0, indicating no movement or +motor activity. -As the joystick is pushed to its maximum positions along the X or Y axis, the voltage increases up to 3.3V. This maximum voltage is interpolated to a PWM value of 1024, which corresponds to a 100% duty cycle on the receiver side—resulting in full-speed operation of the DC motors. +As the joystick is pushed to its maximum positions along the x- and y- axis, the voltage increases up to 3.3V. This maximum voltage +is interpolated to a PWM value of 1024, which corresponds to a 100% duty cycle on the receiver side—resulting in full-speed +operation of the DC motors. -To transmit control data, the X and Y axis values are encapsulated in a C struct, along with the receiver’s MAC address, and sent wirelessly using ESP-NOW. This protocol enables low-latency, connectionless communication between the transmitter and receiver without requiring a Wi-Fi network or pairing. +To transmit control data, the X and Y axis values are encapsulated in a C struct, along with the receiver's **MAC** address, and sent +wirelessly using ESP-NOW. This protocol enables low-latency, connectionless communication between the transmitter and receiver +without requiring a Wi-Fi network or pairing. -Upon reception, the RC car’s receiver decapsulates the data, extracts the joystick values, and interpolates them back into PWM signals. These signals are then used to control the rotation speeds of the DC motors, enabling smooth and responsive remote control. This process not only facilitates real-time control but also introduces students to key networking concepts such as data encapsulation, structured communication, and the fundamentals of wireless data transmission in embedded systems. +Upon reception, the RC car's receiver decapsulates the data, extracts the joystick values, and interpolates them into PWM +signals. These signals are then used to control the rotation speeds of the DC motors, enabling smooth and responsive remote control. + +This process not only facilitates real-time control but also introduces you to key networking concepts such as data +encapsulation, data structs, and the fundamentals of wireless data transmission in embedded systems. .. _GitHub: https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter