RC Robot Tutorial

This commit is contained in:
2025-07-21 02:05:36 -04:00
parent 1926232c7b
commit fc634cfa8c
7 changed files with 51 additions and 11 deletions

View File

@@ -1,8 +1,16 @@
HOW DOES IT WORK? HOW DOES IT WORK?
================= =================
The BitByteRider RC car is powered by ESP32-C3 Breadboard & Power adapter developmemt board. The bitByteRider RC car is powered by ESP32-C3 bitBoard. The Schematic and KiCAd PCB board files are available
The Schematic and KiCAd PCB board are available on GitHub_: https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter on GitHub_: https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter
The bitByteRider RC car operates using two main units: the *transmitter*, which reads and sends the joystick's X and Y values, and
the *receiver*, which interprets these values and converts them into PWM signals to control the DC motors. Both units communicate
via **ESP-NOW**, a low-latency, connectionless wireless protocol that requires no Wi-Fi network or pairing.
In addition to enabling real-time control, using ESP-NOW introduces to key networking concepts such as **data encapsulation** 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.
.. _GitHub: https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter .. _GitHub: https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter
@@ -16,7 +24,7 @@ The GPIO numbers correspond to those on the ESP32-C3 WROOM microcontroller. The
Reading the Joystick x- and y- axis Reading the Joystick x- and y- axis
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
To determine the position of the Joystick, the BitRider RC car uses ADC to measure voltage on two GPIOs connected to the joystic To determine the position of the Joystick, the BitRider RC car uses ADC to measure voltage on two GPIOs connected to the joystick
x- and y- axis potentionometers (**GPIO0** and **GPIO1**). x- and y- axis potentionometers (**GPIO0** and **GPIO1**).
Controlling the Direction and Speed Controlling the Direction and Speed

View File

@@ -35,15 +35,21 @@
<section id="how-does-it-work"> <section id="how-does-it-work">
<h1><span class="section-number">2. </span>HOW DOES IT WORK?<a class="headerlink" href="#how-does-it-work" title="Link to this heading"></a></h1> <h1><span class="section-number">2. </span>HOW DOES IT WORK?<a class="headerlink" href="#how-does-it-work" title="Link to this heading"></a></h1>
<p>The BitByteRider RC car is powered by ESP32-C3 Breadboard &amp; Power adapter developmemt board. <p>The bitByteRider RC car is powered by ESP32-C3 bitBoard. The Schematic and KiCAd PCB board files are available
The Schematic and KiCAd PCB board are available on <a class="reference external" href="https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter">GitHub</a>: <a class="reference external" href="https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter">https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter</a></p> on <a class="reference external" href="https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter">GitHub</a>: <a class="reference external" href="https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter">https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter</a></p>
<p>The bitByteRider RC car operates using two main units: the <em>transmitter</em>, which reads and sends the joysticks X and Y values, and
the <em>receiver</em>, which interprets these values and converts them into PWM signals to control the DC motors. Both units communicate
via <strong>ESP-NOW</strong>, a low-latency, connectionless wireless protocol that requires no Wi-Fi network or pairing.</p>
<p>In addition to enabling real-time control, using ESP-NOW introduces to 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>
<section id="reserved-pins-gpios"> <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> <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> <p>The following table summarizes GPIOs and pins reserved for operations purposes.</p>
<p>The GPIO numbers correspond to those on the ESP32-C3 WROOM microcontroller. The Pin number corresponds to the pin on the Breadboard and Power adapter development board.</p> <p>The GPIO numbers correspond to those on the ESP32-C3 WROOM microcontroller. The Pin number corresponds to the pin on the Breadboard and Power adapter development board.</p>
<section id="reading-the-joystick-x-and-y-axis"> <section id="reading-the-joystick-x-and-y-axis">
<h3><span class="section-number">2.1.1. </span>Reading the Joystick x- and y- axis<a class="headerlink" href="#reading-the-joystick-x-and-y-axis" title="Link to this heading"></a></h3> <h3><span class="section-number">2.1.1. </span>Reading the Joystick x- and y- axis<a class="headerlink" href="#reading-the-joystick-x-and-y-axis" title="Link to this heading"></a></h3>
<p>To determine the position of the Joystick, the BitRider RC car uses ADC to measure voltage on two GPIOs connected to the joystic <p>To determine the position of the Joystick, the BitRider RC car uses ADC to measure voltage on two GPIOs connected to the joystick
x- and y- axis potentionometers (<strong>GPIO0</strong> and <strong>GPIO1</strong>).</p> x- and y- axis potentionometers (<strong>GPIO0</strong> and <strong>GPIO1</strong>).</p>
</section> </section>
<section id="controlling-the-direction-and-speed"> <section id="controlling-the-direction-and-speed">

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
# Sphinx build info version 1 # Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. # This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 0ae31f3b963539f9887a19e6d57e57b6 config: 41eae0734681e13ff682277401a9e296
tags: 62a1e7829a13fc7881b6498c52484ec0 tags: 62a1e7829a13fc7881b6498c52484ec0

View File

@@ -286,8 +286,8 @@ allows the RC car to respond instantly to user input, managing speed and directi
</a> </a>
</h2> </h2>
<p> <p>
The BitByteRider RC car is powered by ESP32-C3 Breadboard &amp; Power adapter developmemt board. The bitByteRider RC car is powered by ESP32-C3 bitBoard. The Schematic and KiCAd PCB board files are available
The Schematic and KiCAd PCB board are available on on
<a class="reference external" href="https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter"> <a class="reference external" href="https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter">
GitHub GitHub
</a> </a>
@@ -296,6 +296,32 @@ The Schematic and KiCAd PCB board are available on
https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter https://github.com/alexandrebobkov/ESP32-C3_Breadboard-Adapter
</a> </a>
</p> </p>
<p>
The bitByteRider RC car operates using two main units: the
<em>
transmitter
</em>
, which reads and sends the joystick&rsquo;s X and Y values, and
the
<em>
receiver
</em>
, which interprets these values and converts them into PWM signals to control the DC motors. Both units communicate
via
<strong>
ESP-NOW
</strong>
, a low-latency, connectionless wireless protocol that requires no Wi-Fi network or pairing.
</p>
<p>
In addition to enabling real-time control, using ESP-NOW introduces to 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 &mdash; laying the groundwork for understanding the fundamentals of network communication in embedded systems.
</p>
<section id="reserved-pins-gpios"> <section id="reserved-pins-gpios">
<h3> <h3>
Reserved Pins &amp; GPIOs Reserved Pins &amp; GPIOs
@@ -317,7 +343,7 @@ The Schematic and KiCAd PCB board are available on
</a> </a>
</h4> </h4>
<p> <p>
To determine the position of the Joystick, the BitRider RC car uses ADC to measure voltage on two GPIOs connected to the joystic To determine the position of the Joystick, the BitRider RC car uses ADC to measure voltage on two GPIOs connected to the joystick
x- and y- axis potentionometers ( x- and y- axis potentionometers (
<strong> <strong>
GPIO0 GPIO0