RC Robot Tutorial

This commit is contained in:
2025-07-21 02:37:50 -04:00
parent 28e434eb5c
commit f8558e24d8
7 changed files with 33 additions and 14 deletions

View File

@@ -43,13 +43,13 @@ via <strong>ESP-NOW</strong>, a low-latency, connectionless wireless protocol th
<p>In addition to enabling real-time control, using ESP-NOW introduces key networking concepts such as <strong>data encapsulation</strong> and
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.</p>
<p>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,
<p>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-C3s ADC (Analog-to-Digital Converter) inputs.</p>
<p>When the joystick is in its neutral (centered) position, the ADC inputs on the ESP32-C3 receive approximately 1.65V on both axes.
<p>When the joystick is in its neutral (centred) 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.</p>
<p>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 sideresulting in full-speed
<p>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.</p>
<p>To transmit control data, the X and Y axis values are encapsulated in a C struct, along with the receivers <strong>MAC</strong> address, and sent
wirelessly using ESP-NOW. This protocol enables low-latency, connectionless communication between the transmitter and receiver
@@ -58,6 +58,11 @@ without requiring a Wi-Fi network or pairing.</p>
signals. These signals are then used to control the rotation speeds of the DC motors, enabling smooth and responsive remote control.</p>
<p>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.</p>
<div class="admonition-what-is-encapsulation admonition">
<p class="admonition-title">What is encapsulation?</p>
<p>Encapsulation refers to the process of organizing and packaging data into a structured format before it is transmitted between
devices. This is a fundamental concept in networking and communication protocols, including those used in IoT systems.</p>
</div>
<section id="reserved-pins-gpios">
<h2><span class="section-number">2.1. </span>Reserved Pins &amp; GPIOs<a class="headerlink" href="#reserved-pins-gpios" title="Link to this heading"></a></h2>
<p>The following table summarizes GPIOs and pins reserved for operations purposes.</p>