mirror of
https://github.com/alexandrebobkov/ESP-Nodes.git
synced 2025-08-08 14:20:51 +00:00
183 lines
6.8 KiB
HTML
183 lines
6.8 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<html lang="en" data-content_root="./">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
|
<title>HOW DOES IT WORK? — ByteRider 06-2025 documentation</title>
|
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
|
|
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
|
|
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
|
|
<script src="_static/documentation_options.js?v=e6ef2064"></script>
|
|
<script src="_static/doctools.js?v=9bcbadda"></script>
|
|
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
<link rel="index" title="Index" href="genindex.html" />
|
|
<link rel="search" title="Search" href="search.html" />
|
|
<link rel="next" title="WORK-IN-PROGRESS WALK THROUGH" href="progress.html" />
|
|
<link rel="prev" title="INTRODUCTION" href="intro.html" />
|
|
|
|
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
|
|
|
|
|
|
|
|
|
|
|
</head><body>
|
|
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
|
|
|
|
<div class="body" role="main">
|
|
|
|
<section id="how-does-it-work">
|
|
<h1>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 & Power adapter developmemt board.</p>
|
|
<section id="reserved-pins-gpios">
|
|
<h2>Reserved Pins & 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 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="x-and-y-axis">
|
|
<h3>x- and y- axis<a class="headerlink" href="#x-and-y-axis" title="Link to this heading">¶</a></h3>
|
|
<p>The <strong>GPIO0</strong> and <strong>GPIO1</strong> assigned to measuring the voltage of x- and y- axis of the Joystick. Lastly, there is a group of GPIO pairs responsible for PWM for DC motors.</p>
|
|
</section>
|
|
<section id="direction-and-speed">
|
|
<h3>Direction and Speed<a class="headerlink" href="#direction-and-speed" title="Link to this heading">¶</a></h3>
|
|
<p>The two DC motors on the left side are wired to the dedicated PWM channels in pairs. This means that PWM channels can control rotation speed and direction of DC motors in pairs (i.e. left and right side).
|
|
Consequently, only four PWM channels are required for controlling the direction of the RC car.
|
|
Based on this constraint, the RC car can only move front, back, and rotate left and right. Any other movements are not possible (i.e. diagonal).</p>
|
|
<p>A pair of PWM channels are required for defining rotation speed and direction of the DC motors on each side.
|
|
In particular, <strong>GPIO6</strong> and <strong>GPIO5</strong> provide PWM to the left- and right- side DC motors to rotate in a <strong>clockwise</strong> direction.
|
|
Similarly, <strong>GPIO4</strong> and <strong>GPIO7</strong> provide PWM to the left- and right- side DC motors to rotate in a <strong>counter-clockwise</strong> direction.
|
|
Changing PWM on each channel determines the speed and direction of the RC car.</p>
|
|
<table class="docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="head"><p>GPIO</p></th>
|
|
<th class="head"><p>Pin</p></th>
|
|
<th class="head"><p>Function</p></th>
|
|
<th class="head"><p>Notes</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td><p>0</p></td>
|
|
<td><p>16</p></td>
|
|
<td><p>Joystick x-axis</p></td>
|
|
<td><p>ADC1_CH0</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p>1</p></td>
|
|
<td><p>15</p></td>
|
|
<td><p>Joystick y-axis</p></td>
|
|
<td><p>ADC1_CH1</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td><p>8</p></td>
|
|
<td><p>5</p></td>
|
|
<td><p>Joystick push button</p></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p>6</p></td>
|
|
<td><p>4</p></td>
|
|
<td><p>PWM for clockwise rotation of left-side motors</p></td>
|
|
<td><p>LEDC_CHANNEL_1</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td><p>5</p></td>
|
|
<td><p>3</p></td>
|
|
<td><p>PWM for clockwise rotation of right-side motors</p></td>
|
|
<td><p>LEDC_CHANNEL_0</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><p>4</p></td>
|
|
<td><p>2</p></td>
|
|
<td><p>PWM for counter-clockwise rotation of right-side motors</p></td>
|
|
<td><p>LEDC_CHANNEL_2</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td><p>7</p></td>
|
|
<td><p>6</p></td>
|
|
<td><p>PWM for counter-clockwise rotation of left-side motors</p></td>
|
|
<td><p>LEDC_CHANNEL_3</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
</section>
|
|
<section id="schematic">
|
|
<h2>Schematic<a class="headerlink" href="#schematic" title="Link to this heading">¶</a></h2>
|
|
<img alt="_images/ESP-IDF_Robot_schematic.png" src="_images/ESP-IDF_Robot_schematic.png" />
|
|
</section>
|
|
</section>
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar" role="navigation" aria-label="Main">
|
|
<div class="sphinxsidebarwrapper">
|
|
<h1 class="logo"><a href="index.html">ByteRider</a></h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<search id="searchbox" style="display: none" role="search">
|
|
<div class="searchformwrapper">
|
|
<form class="search" action="search.html" method="get">
|
|
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder="Search"/>
|
|
<input type="submit" value="Go" />
|
|
</form>
|
|
</div>
|
|
</search>
|
|
<script>document.getElementById('searchbox').style.display = "block"</script><h3>Navigation</h3>
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="intro.html">INTRODUCTION</a></li>
|
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">HOW DOES IT WORK?</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="#reserved-pins-gpios">Reserved Pins & GPIOs</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#schematic">Schematic</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="progress.html">WORK-IN-PROGRESS WALK THROUGH</a></li>
|
|
</ul>
|
|
|
|
<div class="relations">
|
|
<h3>Related Topics</h3>
|
|
<ul>
|
|
<li><a href="index.html">Documentation overview</a><ul>
|
|
<li>Previous: <a href="intro.html" title="previous chapter">INTRODUCTION</a></li>
|
|
<li>Next: <a href="progress.html" title="next chapter">WORK-IN-PROGRESS WALK THROUGH</a></li>
|
|
</ul></li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="footer">
|
|
©2025, Alexander B.
|
|
|
|
|
|
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 8.2.3</a>
|
|
& <a href="https://alabaster.readthedocs.io">Alabaster 1.0.0</a>
|
|
|
|
|
|
|
<a href="_sources/overview.rst.txt"
|
|
rel="nofollow">Page source</a>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |