<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Arduino</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Forum d'entraide sur la programmation des cartes de développement dans l'environnement Arduino]]></description>
		<language>fr</language>
		<lastBuildDate>Sat, 18 Apr 2026 22:26:07 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Arduino</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title>Bug dans utilisation capteur HX710</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183178&amp;goto=newpost</link>
			<pubDate>Mon, 13 Apr 2026 08:15:07 GMT</pubDate>
			<description>Nous essayons actuellement de...</description>
			<content:encoded><![CDATA[<div>Nous essayons actuellement de créer un dispositif permettant de générer une pression négative dans un bocal en aspirant de l’air à l’aide d’une pompe.<br />
<br />
Actuellement, nous rencontrons un problème dans l’utilisation de ce capteur. Lorsque nous exécutons le code, celui-ci affiche en boucle le message suivant : “sensor not ready”.<br />
<br />
Est-ce que quelqu’un a déjà rencontré ce problème et saurait comment le résoudre ? Je ne trouve malheureusement rien à ce sujet sur Internet et je suis actuellement complètement bloqué dans la réalisation du dispositif.<br />
<br />
Le code que nous avons utilisé est le suivant :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #339933;">#include</span><span style="color: #FF0000;"> &quot;HX710B.h&quot;</span>
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> DOUT = <span style="color: #cc66cc;">2</span>;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> CLK_PIN = <span style="color: #cc66cc;">3</span>;
&nbsp;
HX710B sensor;
&nbsp;
<span style="color: #0000ff;">void</span> setup<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  <span style="color: #0080ff;">Serial</span>.begin<span style="color: black;">&#40;</span><span style="color: #cc66cc;">115200</span><span style="color: black;">&#41;</span>;
  sensor.begin<span style="color: black;">&#40;</span>DOUT, CLK_PIN<span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> loop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>sensor.is_ready<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;mmHg: &quot;</span><span style="color: black;">&#41;</span>;
    <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span>sensor.mmHg<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>;
&nbsp;
    <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot; | PSI: &quot;</span><span style="color: black;">&#41;</span>;
    <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span>sensor.psi<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>;
  <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
    <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Sensor not ready&quot;</span><span style="color: black;">&#41;</span>;
  <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0080ff;">delay</span><span style="color: black;">&#40;</span><span style="color: #cc66cc;">1000</span><span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>La bibliothèque utilisée est la suivante : « hx710B_pressure_sensor-main » et se trouve sur internet: <a rel="nofollow" href="https://github.com/rppelayo/hx710B_pressure_sensor" target="_blank">https://github.com/rppelayo/hx710B_pressure_sensor</a>.<br />
<img src="https://www.developpez.net/forums/attachments/p675558d1776068031/general-developpement/programmation-systeme/embarque/arduino/bug-utilisation-capteur-hx710/connexion-capteur-arduino.png/" border="0" alt="Nom : connexion capteur et arduino.png
Affichages : 115
Taille : 553,9 Ko"  style="float: CONFIG" /><img src="https://www.developpez.net/forums/attachments/p675558d1776068031/general-developpement/programmation-systeme/embarque/arduino/bug-utilisation-capteur-hx710/connexion-capteur-arduino.png/" border="0" alt="Nom : connexion capteur et arduino.png
Affichages : 115
Taille : 553,9 Ko"  style="float: CONFIG" /><br />
En annexe, vous trouverez également le schéma de câblage que nous avons utilisé. Si quelqu’un connaît ce problème ou peut nous aider avec une solution potentielle, ce serait vraiment apprécié.<br />
<br />
Nous vous remercions d’avance !</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p675558d1776068031/general-developpement/programmation-systeme/embarque/arduino/bug-utilisation-capteur-hx710/connexion-capteur-arduino.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>vicdm</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183178/general-developpement/programmation-systeme/embarque/arduino/bug-utilisation-capteur-hx710/</guid>
		</item>
		<item>
			<title>Piloter 4 relais sur A1 A2 A3 A4</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183054&amp;goto=newpost</link>
			<pubDate>Sun, 05 Apr 2026 17:48:33 GMT</pubDate>
			<description>Bonsoir a toutes et tous,...</description>
			<content:encoded><![CDATA[<div>Bonsoir a toutes et tous,<br />
sans exeperience en arduino et n'ayant rien trouvé correspondant a mon probleme je vous soumet une question:<br />
<br />
je cherche a réalisé une commande de 4 relais connecté sur les port A1 A2 A3 A4 arduino uno <br />
je recoie tres bien ma temperature de ma sonde et je l'affiche avec &quot;&quot;&quot; TEMPS&quot;&quot;&quot;<br />
<br />
mais mon probleme est que je n'ai que le dernier relais qui fonctionne et se coupe mais pas les trois premier <br />
mais ce qui est bizarre si je ne met que le code du premier relais la premiere fonction travail corectement<br />
pareille avec chaque relais <br />
si je le commande seul A1 OU A2 OU A3 OU A4 sans les autre commande du code sa fonctionne pour chaque relais <br />
<br />
pouvez vous m'aidé car je tourne un peut en rond<br />
voici mon code <br />
en gros je cherche a dire <br />
si rl1 (a1 , high) les autre relais seront A2 A3 A4 LOW<br />
cordialement<br />
<br />
<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
   <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>TEMPS==<span style="color: #cc66cc;">10.00</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A1, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
   <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A2, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span> <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A2, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
   <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A3, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A3, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
   <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A4, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A4, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;   
&nbsp;
&nbsp;
   <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>TEMPS==<span style="color: #cc66cc;">15.00</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A2, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
   <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A1,<span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A1, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
   <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A3,<span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A3, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
   <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A4,<span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A4, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;  
&nbsp;
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>TEMP==<span style="color: #cc66cc;">20.00</span><span style="color: black;">&#41;</span> <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A3, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A1, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A1, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A2, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A2, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A4, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A4, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
&nbsp;
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>TEMP==<span style="color: #cc66cc;">25.00</span><span style="color: black;">&#41;</span> <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A4, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A1, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A1, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A2, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A2, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>A3, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span><span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>A3, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;</pre></td></tr></table></code><hr />
</div></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>alll1</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183054/general-developpement/programmation-systeme/embarque/arduino/piloter-4-relais-a1-a2-a3-a4/</guid>
		</item>
		<item>
			<title><![CDATA[<time.h> en français]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182947&amp;goto=newpost</link>
			<pubDate>Tue, 31 Mar 2026 08:13:06 GMT</pubDate>
			<description><![CDATA[Bonjour à tous , 
 
il s'agit...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous ,<br />
<br />
il s'agit je pense ici d'un vrai serpent de mer<br />
mais je n'arrive pas à passer &lt;time.h&gt; en français<br />
<br />
j'ai essayé les termes trouvés sur le net comme <br />
setlocale(LC_TIME,&quot;&quot;);<br />
setlocale(LC_TIME,&quot;fr-FR&quot;);<br />
setlocale(LC_TIME,&quot;&quot;fr_FR.UTF-8&quot;&quot;);     <br />
etc ...<br />
sans succès <br />
<br />
je mets ici ma fonction :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span>* jours<span style="color: black;">&#91;</span><span style="color: black;">&#93;</span> = <span style="color: black;">&#123;</span>
  <span style="color: #FF0000;">&quot;Dim&quot;</span>,<span style="color: #FF0000;">&quot;Lun&quot;</span>,<span style="color: #FF0000;">&quot;Mar&quot;</span>,<span style="color: #FF0000;">&quot;Mer&quot;</span>,
  <span style="color: #FF0000;">&quot;Jeu&quot;</span>,<span style="color: #FF0000;">&quot;Ven&quot;</span>,<span style="color: #FF0000;">&quot;Sam&quot;</span>
<span style="color: black;">&#125;</span>;
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span>* mois<span style="color: black;">&#91;</span><span style="color: black;">&#93;</span> = <span style="color: black;">&#123;</span>
  <span style="color: #FF0000;">&quot;Janv&quot;</span>,<span style="color: #FF0000;">&quot;Fev&quot;</span>,<span style="color: #FF0000;">&quot;Mars&quot;</span>,<span style="color: #FF0000;">&quot;Avr&quot;</span>,<span style="color: #FF0000;">&quot;Mai&quot;</span>,<span style="color: #FF0000;">&quot;Jun&quot;</span>,
  <span style="color: #FF0000;">&quot;Jul&quot;</span>,<span style="color: #FF0000;">&quot;Aout&quot;</span>,<span style="color: #FF0000;">&quot;Sept&quot;</span>,<span style="color: #FF0000;">&quot;Oct&quot;</span>,<span style="color: #FF0000;">&quot;Nov&quot;</span>,<span style="color: #FF0000;">&quot;Dec&quot;</span>
<span style="color: black;">&#125;</span>;
&nbsp;
.../...
&nbsp;
<span style="color: #0000ff;">void</span> drawClock<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  setlocale<span style="color: black;">&#40;</span>LC_TIME,<span style="color: #FF0000;">&quot;&quot;</span><span style="color: black;">&#41;</span>; 
  <span style="color: #0000ff;">struct</span> <span style="color: #0000ff;">tm</span> t;
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>!getLocalTime<span style="color: black;">&#40;</span>&amp;t<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    display.setFont<span style="color: black;">&#40;</span>NULL<span style="color: black;">&#41;</span>;
    display.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">30</span>, <span style="color: #cc66cc;">30</span><span style="color: black;">&#41;</span>;
    display.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Synchro en cours...&quot;</span><span style="color: black;">&#41;</span>;
    <span style="color: #0000ff;">return</span>;
  <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">int</span> h12 = t.tm_hour ;
  display.setTextColor<span style="color: black;">&#40;</span>SSD1306_WHITE<span style="color: black;">&#41;</span>;
  display.setFont<span style="color: black;">&#40;</span>NULL<span style="color: black;">&#41;</span>;
  display.setTextSize<span style="color: black;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span>;
  display.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">114</span>, <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>;
  <span style="color: #808080;">//display.print(ampm);</span>
  display.setFont<span style="color: black;">&#40;</span>&amp;FreeSansBold18pt7b<span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">char</span> timeStr<span style="color: black;">&#91;</span><span style="color: #cc66cc;">6</span><span style="color: black;">&#93;</span>;
  sprintf<span style="color: black;">&#40;</span>timeStr, <span style="color: #FF0000;">&quot;%02d:%02d&quot;</span>, h12, t.tm_min<span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">int16_t</span> x1, y1;
  <span style="color: #0000ff;">uint16_t</span> w, h;
  display.getTextBounds<span style="color: black;">&#40;</span>timeStr, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, &amp;x1, &amp;y1, &amp;w, &amp;h<span style="color: black;">&#41;</span>;
  display.setCursor<span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>SCREEN_WIDTH - w<span style="color: black;">&#41;</span> / <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">42</span><span style="color: black;">&#41;</span>;
  display.print<span style="color: black;">&#40;</span>timeStr<span style="color: black;">&#41;</span>;
  display.setFont<span style="color: black;">&#40;</span>&amp;FreeSans9pt7b<span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span>* j =jours<span style="color: black;">&#91;</span>t.tm_wday<span style="color: black;">&#93;</span>;  
  <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span>* m =mois<span style="color: black;">&#91;</span>t.tm_mon<span style="color: black;">&#93;</span>;
  <span style="color: #0000ff;">char</span> dateStr<span style="color: black;">&#91;</span><span style="color: #cc66cc;">20</span><span style="color: black;">&#93;</span>;
  strftime<span style="color: black;">&#40;</span>dateStr, <span style="color: #cc66cc;">20</span>, <span style="color: #FF0000;">&quot;%j %d %m&quot;</span>, &amp;t<span style="color: black;">&#41;</span>;
  display.getTextBounds<span style="color: black;">&#40;</span>dateStr, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, &amp;x1, &amp;y1, &amp;w, &amp;h<span style="color: black;">&#41;</span>;
  display.setCursor<span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>SCREEN_WIDTH - w<span style="color: black;">&#41;</span> / <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">62</span><span style="color: black;">&#41;</span>;
  display.print<span style="color: black;">&#40;</span>dateStr<span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>j'obtiens par ex : <br />
<br />
20:35 <br />
<b>090 31 03</b> en lieu et place de<br />
<b>Mar 31 Mars</b><br />
<br />
<br />
Merci ....</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>cobra38</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182947/general-developpement/programmation-systeme/embarque/arduino/time-h-francais/</guid>
		</item>
		<item>
			<title><![CDATA[Mise à jour fichier Data avec <LittleFS.h>]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182926&amp;goto=newpost</link>
			<pubDate>Mon, 30 Mar 2026 09:50:44 GMT</pubDate>
			<description>Bonjour à tous,  
 
Tous les...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous, <br />
<br />
Tous les 6 mois , je suis obligé de remettre à l'heure mon application météo ( Wemos ) <br />
cette année comme les autres années au moment du changement d'heure et ceci depuis 2021 , je fais la mise à jour de mon fichier &quot;config.txt&quot; via &quot;ESP8266 sketch data upload&quot;<br />
mais cette fois plus rien ne fonctionne (?)<br />
la mise à jour se lance  :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
/<span style="color: #cc66cc;">01</span>d32.jpg
../..
/alarm.txt
/config.txt  &lt;=====================
/ik.txt
/i_stat.txt
/wind_2.jpg
/wind_4.jpg
/wind_6.jpg
/wind_8.jpg
<span style="color: black;">&#91;</span>SPIFFS<span style="color: black;">&#93;</span> upload  : C:\Users\UTILIS~<span style="color: #cc66cc;">1</span>\AppData\Local\Temp<span style="color: #800000;">\a</span>rduino_build_795945/meteoV12.spiffs.bin
<span style="color: black;">&#91;</span>SPIFFS<span style="color: black;">&#93;</span> address  : <span style="color: #cc66cc;">0x200000</span>
<span style="color: black;">&#91;</span>SPIFFS<span style="color: black;">&#93;</span> reset    : nodemcu
<span style="color: black;">&#91;</span>SPIFFS<span style="color: black;">&#93;</span> port     : COM4
<span style="color: black;">&#91;</span>SPIFFS<span style="color: black;">&#93;</span> speed    : <span style="color: #cc66cc;">921600</span>
&nbsp;
Uploading <span style="color: #cc66cc;">2076672</span> bytes from C:\Users\UTILIS~<span style="color: #cc66cc;">1</span>\AppData\Local\Temp<span style="color: #800000;">\a</span>rduino_build_795945/meteoV12.spiffs.bin to flash at <span style="color: #cc66cc;">0x00200000</span>
................................................................................ <span style="color: black;">&#91;</span>  <span style="color: #cc66cc;">3</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span>  <span style="color: #cc66cc;">7</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">11</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">15</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">19</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">23</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">27</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">31</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">35</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">39</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">43</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">47</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">51</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">55</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">59</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">63</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">67</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">71</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">74</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">78</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">82</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">86</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">90</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">94</span>% <span style="color: black;">&#93;</span>
................................................................................ <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">98</span>% <span style="color: black;">&#93;</span>
............................                                                     <span style="color: black;">&#91;</span> <span style="color: #cc66cc;">100</span>% <span style="color: black;">&#93;</span></pre></td></tr></table></code><hr />
</div> et je n'arrive même plus à compiler mon programme , il me donne cette erreur :<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
meteoV12:<span style="color: #cc66cc;">184</span>:<span style="color: #cc66cc;">22</span>: fatal error: LittleFS.h: No such file <span style="color: #0000ff;">or</span> directory
 <span style="color: #339933;">#include</span><span style="color: #FF0000;"> &lt;LittleFS.h&gt;</span>  &lt;===================================
                      ^
compilation terminated.
Plusieurs biblioth&egrave;que trouv&eacute;es pour <span style="color: #FF0000;">&quot;WiFiClient.h&quot;</span>
Utilis&eacute; : C:\Users\Utilisateur\Documents\ArduinoData\packages\esp8266\hardware\esp8266<span style="color: #800000;">\2</span><span style="color: #cc66cc;">.5</span>.<span style="color: #cc66cc;">0</span>\libraries\ESP8266WiFi
Non utilis&eacute; : C:\Users\Utilisateur\Documents\Arduino\libraries\WiFi101
Non utilis&eacute; : C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.<span style="color: #cc66cc;">8.57</span>.<span style="color: #cc66cc;">0</span>_x86__mdqgnx93n4wtt\libraries\WiFi
exit status <span style="color: #cc66cc;">1</span>
LittleFS.h: No such file <span style="color: #0000ff;">or</span> directory</pre></td></tr></table></code><hr />
</div>j'utilise pourtant la même bibliothèque du gestionnaire de cartes : ESP8266 =&gt; 2.5.0 que précédemment <br />
<br />
En conclusion :<br />
1)  la mise à jour de mon fichier config.txt ne semble pas avoir été faite<br />
2) je soupçonne fortement qu'il ait effacé en mémoire mes anciens fichiers car je n'arrive plus à lire l'ancien fichier config.txt <br />
3) pour finir je ne peux plus compiler mon programme suite à l'erreur ...<br />
<br />
donc si vous avez une petit idée, je suis preneur de vos conseils précieux conseils .... <br />
mille mercis <br />
pascal</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>cobra38</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182926/general-developpement/programmation-systeme/embarque/arduino/mise-jour-fichier-data-littlefs-h/</guid>
		</item>
		<item>
			<title>Bibliothèque des librairies</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182856&amp;goto=newpost</link>
			<pubDate>Wed, 25 Mar 2026 13:02:28 GMT</pubDate>
			<description>Bonjour à tous,  
 
je...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous, <br />
<br />
je voudrais savoir si à votre connaissance, il existe une librairie Arduino ou autre qui permettrait de lister l'ensemble des librairies et leurs versions <br />
utilisées lors de la compilation d'un croquis mais de façon automatique <br />
<br />
ma question vous semblera peut-être naïve mais serait certainement très utile</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>cobra38</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182856/general-developpement/programmation-systeme/embarque/arduino/bibliotheque-librairies/</guid>
		</item>
		<item>
			<title>Impossible de faire fonctionner LoRa Emetteur</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182810&amp;goto=newpost</link>
			<pubDate>Sun, 22 Mar 2026 09:58:55 GMT</pubDate>
			<description>Bonjour à Tous, 
 
Mon...</description>
			<content:encoded><![CDATA[<div>Bonjour à Tous,<br />
<br />
Mon problème du jour est de faire fonctionner dans mon module Emetteur , mon module LoRa + uPesy <br />
je précise que ce programme a déjà fonctionné ( il y a 2 ans env ) mais lors d'une légère modification des entrées , je n'arrive plus à le refaire fonctionner<br />
j'ai regardé l'ensemble des raccordements à mille reprises pour m'assurer de la bonne connectique <br />
changer de module RA-01  <br />
<br />
Librairie carte ESP32 : 3.3.7<br />
             LoRa : 0.8.0 <br />
<br />
je poste ici le programme , je serais preneur de quelques conseils car là je ne vois pas où se situe le problème  <br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #808080; font-weight: bold;">/*************************************</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;EMETTEUR</span>
<span style="color: #808080; font-weight: bold;">**************************************/</span>
&nbsp;
&nbsp;
<span style="color: #808080; font-weight: bold;">/***************************************</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ESP32 WROOM LOW POWER DEVKIT</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; uPesy</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;------------------</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 32| GPIO23 &nbsp; MOSI</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 31|</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 30|</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 29|</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 28|</span>
<span style="color: #808080; font-weight: bold;">&nbsp; DATA &nbsp; &nbsp;GPIO32 &nbsp; |6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 27| GPIO19 &nbsp; MISO</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 26| GPIO18 &nbsp; SCK </span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 25| </span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 24| </span>
<span style="color: #808080; font-weight: bold;">&nbsp; DIO0 &nbsp; &nbsp; GPIO27 &nbsp;|10 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;23|</span>
<span style="color: #808080; font-weight: bold;">&nbsp; RST &nbsp; &nbsp; &nbsp;GPIO14 &nbsp;|11 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;22| &nbsp;</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|12 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;21| </span>
<span style="color: #808080; font-weight: bold;">&nbsp; NSS &nbsp; &nbsp; &nbsp;GPIO13 &nbsp;|13 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;20| &nbsp;</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|14 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;19|</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|15 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;18| 3V3 VCC</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|16 &nbsp; &nbsp; |----| 17| GND</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\-------| &nbsp; &nbsp;|---/</span>
<span style="color: #808080; font-weight: bold;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|----| </span>
<span style="color: #808080; font-weight: bold;">*************************************/</span>
<span style="color: #339933;">#include</span><span style="color: #FF0000;"> &lt;driver/rtc_io.h&gt;</span>
<span style="color: #339933;">#include</span><span style="color: #FF0000;"> &lt;LoRa.h&gt;</span>
<span style="color: #339933;">#include</span><span style="color: #FF0000;"> &lt;SPI.h&gt;</span>
&nbsp;
<span style="color: #808080;">// LoRa definition</span>
<span style="color: #339933;">#define SCK     18   // GPIO18 -- SX1278's SCK</span>
<span style="color: #339933;">#define MISO    19   // GPIO19 -- SX1278's MISO</span>
<span style="color: #339933;">#define MOSI    23   // GPIO23 -- SX1278's MOSI</span>
<span style="color: #339933;">#define SS      5    // GPIO5  -- SX1278's NSS</span>
<span style="color: #339933;">#define RST     14   // GPIO14 -- SX1278's RST</span>
<span style="color: #339933;">#define DI0     27   // GPIO27 -- SX1278's IRQ(Interrupt Request)</span>
&nbsp;
<span style="color: #339933;">#define LORA_SS_GPIO_NUM  GPIO_NUM_5</span>
<span style="color: #339933;">#define LORA_RST_GPIO_NUM GPIO_NUM_14</span>
&nbsp;
<span style="color: #339933;">#define BAND 433E6  //433E6 for Asia, 866E6 for Europe and 915E6 for North America</span>
&nbsp;
<span style="color: #0000ff;">const</span> gpio_num_t pinBAL    = GPIO_NUM_32; <span style="color: #808080;">// RTC GPIO for ESP32: 0, 2, 4, 12-15, 25-27, 32-39;</span>
<span style="color: #0000ff;">const</span> gpio_num_t vbatPin   = GPIO_NUM_35;
&nbsp;
<span style="color: #808080;">//#define BUTTON_PIN_BITMASK (1ull &lt;&lt; pinBAL) // </span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint64_t</span>  uS_TO_S_FACTOR = <span style="color: #cc66cc;">1000000</span>ull; <span style="color: #808080;">/* Facteur de conversion des microsecondes en secondes */</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint64_t</span>  TIME_TO_SLEEP = <span style="color: #cc66cc;">300</span>ull; <span style="color: #808080;">/* Temps de mise en veille de l'ESP32 (en secondes) ici 5Mn */</span>
&nbsp;
RTC_DATA_ATTR <span style="color: #0000ff;">int</span> bootCount = <span style="color: #cc66cc;">0</span>;
RTC_DATA_ATTR <span style="color: #0000ff;">int</span> Vbat = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #0000ff;">int</span> vBat;
<span style="color: #339933;">#define DELTA 32</span>
&nbsp;
<span style="color: #808080;">//***********************************************</span>
<span style="color: #0000ff;">void</span> loraMessage<span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> * message<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  LoRa.beginPacket<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
  LoRa.println<span style="color: black;">&#40;</span>message<span style="color: black;">&#41;</span>;
  LoRa.endPacket<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #0000ff;">void</span> envoiVbatBrut<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
   <span style="color: #0000ff;">char</span> str<span style="color: black;">&#91;</span><span style="color: #cc66cc;">8</span><span style="color: black;">&#93;</span>;                                  <span style="color: #808080;">// 6 caract&egrave;res devraient suffire : V4095 et /0</span>
   <span style="color: #0000ff;">int</span>  cmpt = <span style="color: #cc66cc;">8</span>;
   <span style="color: #0000ff;">int</span> vBatOld = <span style="color: #cc66cc;">0</span> ; 
   <span style="color: #0000ff;">do</span> <span style="color: black;">&#123;</span>
      cmpt--;
	  vBatOld = vBat;
	  vBat = <span style="color: #0080ff;">analogRead</span><span style="color: black;">&#40;</span>vbatPin<span style="color: black;">&#41;</span>; <span style="color: #808080;">// tension &eacute;chantillonn&eacute;e brute</span>
   <span style="color: black;">&#125;</span> <span style="color: #0000ff;">while</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #0080ff;">abs</span><span style="color: black;">&#40;</span>vBat-vBatOld<span style="color: black;">&#41;</span> &gt; DELTA<span style="color: black;">&#41;</span> &amp;&amp; <span style="color: black;">&#40;</span>cmpt &gt; <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>;
   <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Valeur Brute = &quot;</span><span style="color: black;">&#41;</span>; 
   <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span>vBat<span style="color: black;">&#41;</span>;
   sprintf<span style="color: black;">&#40;</span>str, <span style="color: #FF0000;">&quot;V%d&quot;</span>, vBat<span style="color: black;">&#41;</span>;                    <span style="color: #808080;">// 'V' suivi de la tension brute </span>
   loraMessage<span style="color: black;">&#40;</span>str<span style="color: black;">&#41;</span>;                             <span style="color: #808080;">// Envoi du message</span>
<span style="color: black;">&#125;</span> 
&nbsp;
&nbsp;
<span style="color: #808080;">//***********************************************</span>
<span style="color: #0000ff;">void</span> action<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  esp_sleep_wakeup_cause_t source_reveil = esp_sleep_get_wakeup_cause<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">uint64_t</span> GPIO_reason = esp_sleep_get_ext1_wakeup_status<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #0000ff;">switch</span> <span style="color: black;">&#40;</span>source_reveil<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    <span style="color: #0000ff;">case</span> ESP_SLEEP_WAKEUP_TIMER :
      <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;R&eacute;veil par un timer&quot;</span><span style="color: black;">&#41;</span>;
      envoiVbatBrut<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
      <span style="color: #0000ff;">break</span>;
    <span style="color: #0000ff;">default</span> :
      <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Aucun R&eacute;veil caus&eacute; par le Deep Sleep :&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span>source_reveil<span style="color: black;">&#41;</span>;
      <span style="color: #0000ff;">break</span>;
  <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>GPIO_reason != <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint64_t</span> gpioWakeUp = __builtin_ctzll<span style="color: black;">&#40;</span>GPIO_reason<span style="color: black;">&#41;</span>; <span style="color: #808080;">// __builtin_ctzll finds the position of the rightmost 1</span>
    <span style="color: #0000ff;">switch</span> <span style="color: black;">&#40;</span>gpioWakeUp<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
      <span style="color: #0000ff;">case</span> pinBAL: loraMessage<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;1&quot;</span><span style="color: black;">&#41;</span>; <span style="color: #0000ff;">break</span>;
      <span style="color: #0000ff;">default</span> : <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Aucun GPIO connu n'a d&eacute;clench&eacute; le r&eacute;veil&quot;</span><span style="color: black;">&#41;</span>; <span style="color: #0000ff;">break</span>;
    <span style="color: black;">&#125;</span>
  <span style="color: black;">&#125;</span>
<span style="color: black;">&#125;</span>
&nbsp;
<span style="color: #808080;">//***********************************************</span>
<span style="color: #808080;">//   SETUP</span>
<span style="color: #808080;">//***********************************************   </span>
&nbsp;
<span style="color: #0000ff;">void</span> setup<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  rtc_gpio_hold_dis<span style="color: black;">&#40;</span>LORA_SS_GPIO_NUM<span style="color: black;">&#41;</span>;
  rtc_gpio_hold_dis<span style="color: black;">&#40;</span>LORA_RST_GPIO_NUM<span style="color: black;">&#41;</span>; 
&nbsp;
  <span style="color: #0080ff;">Serial</span>.begin<span style="color: black;">&#40;</span><span style="color: #cc66cc;">115200</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">while</span> <span style="color: black;">&#40;</span>!<span style="color: #0080ff;">Serial</span><span style="color: black;">&#41;</span> yield<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
  SPI.begin<span style="color: black;">&#40;</span>SCK, MISO, MOSI, SS<span style="color: black;">&#41;</span>;
  LoRa.setPins<span style="color: black;">&#40;</span>SS, RST, DI0<span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;LoRa : Emetteur&quot;</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>!LoRa.begin<span style="color: black;">&#40;</span>BAND<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span> <span style="color: #808080;">// LoRa_frequency</span>
    <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Le lancement de LoRa a &eacute;chou&eacute; !&quot;</span><span style="color: black;">&#41;</span>;
    <span style="color: #0000ff;">while</span> <span style="color: black;">&#40;</span><span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span> yield<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
  <span style="color: black;">&#125;</span>
  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;init ok&quot;</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #808080;">//Incr&eacute;menter le num&eacute;ro de d&eacute;marrage et l'imprimer &agrave; chaque red&eacute;marrage</span>
  ++bootCount;
  <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Boot number: &quot;</span><span style="color: black;">&#41;</span>;  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span>bootCount<span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #808080;">//action();</span>
&nbsp;
  <span style="color: #808080;">// go back to sleep</span>
  <span style="color: #808080;">//LoRa.end();</span>
  <span style="color: #808080;">//delay(600);</span>
  LoRa.sleep<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>SS, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Normalement la broche est d&eacute;j&agrave; &agrave; l'&eacute;tat haut</span>
  rtc_gpio_hold_en<span style="color: black;">&#40;</span>LORA_SS_GPIO_NUM<span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>RST, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Normalement la broche est d&eacute;j&agrave; &agrave; l'&eacute;tat haut</span>
  rtc_gpio_hold_en<span style="color: black;">&#40;</span>LORA_RST_GPIO_NUM<span style="color: black;">&#41;</span>;
&nbsp;
&nbsp;
&nbsp;
 <span style="color: #808080;">// esp_sleep_enable_ext1_wakeup(BUTTON_PIN_BITMASK, ESP_EXT1_WAKEUP_ANY_HIGH);</span>
  esp_sleep_enable_timer_wakeup<span style="color: black;">&#40;</span>TIME_TO_SLEEP * uS_TO_S_FACTOR<span style="color: black;">&#41;</span>;
&nbsp;
&nbsp;
  <span style="color: #808080;">//Serial.println(&quot;Going to sleep&quot;);</span>
  <span style="color: #0080ff;">Serial</span>.flush<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// esp_deep_sleep_start() va vider le contenu des FIFO UART</span>
  esp_deep_sleep_start<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span>
&nbsp;
<span style="color: #808080;">//***********************************************</span>
<span style="color: #808080;">//   LOOP</span>
<span style="color: #808080;">//***********************************************</span>
&nbsp;
<span style="color: #0000ff;">void</span> loop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span><span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>Et le résultat au lancement :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td valign="top"><pre style="margin: 0">
10:42:48.418 -&gt; ets Jul 29 2019 12:21:46
10:42:48.418 -&gt; 
10:42:48.418 -&gt; rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
10:42:48.418 -&gt; configsip: 0, SPIWP:0xee
10:42:48.418 -&gt; clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
10:42:48.418 -&gt; mode:DIO, clock div:2
10:42:48.418 -&gt; load:0x3fff0030,len:4876
10:42:48.418 -&gt; ho 0 tail 12 room 4
10:42:48.418 -&gt; load:0x40078000,len:16600
10:42:48.418 -&gt; ho 0 tail 12 room 4
10:42:48.418 -&gt; load:0x40080400,len:3500
10:42:48.418 -&gt; entry 0x400805b4
10:42:48.530 -&gt; E (6) R&#65533;CLoRa : Emetteur
10:42:48.530 -&gt;<b> Le lancement de LoRa a échoué !</b></pre></td></tr></table></code><hr />
</div><br />
EDIT :<br />
<b>Arduino IDE 1.8.19 :</b><br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
compilation terminated.
exit status <span style="color: #cc66cc;">1</span>
driver/rtc_io.h: No such file <span style="color: #0000ff;">or</span> directory</pre></td></tr></table></code><hr />
</div><br />
<b>Arduino IDE 2.3.8 :</b><br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
e croquis utilise <span style="color: #cc66cc;">297700</span> octets <span style="color: black;">&#40;</span><span style="color: #cc66cc;">22</span>%<span style="color: black;">&#41;</span> de l<span style="color: #FF0000;">'</span>espace de stockage de programmes. Le maximum est de <span style="color: #cc66cc;">1310720</span> octets.
Les variables globales utilisent <span style="color: #cc66cc;">22308</span> octets <span style="color: black;">&#40;</span><span style="color: #cc66cc;">6</span>%<span style="color: black;">&#41;</span> de m&eacute;moire dynamique, ce qui laisse <span style="color: #cc66cc;">305372</span> octets pour les variables locales. Le maximum est de <span style="color: #cc66cc;">327680</span> octets.</pre></td></tr></table></code><hr />
</div></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>cobra38</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182810/general-developpement/programmation-systeme/embarque/arduino/impossible-faire-fonctionner-lora-emetteur/</guid>
		</item>
		<item>
			<title>Demande aide Branchement Module  IRF520</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182764&amp;goto=newpost</link>
			<pubDate>Thu, 19 Mar 2026 22:06:18 GMT</pubDate>
			<description>Bonjour, 
 
Je travaille...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je travaille actuellement sur un projet et j'en suis à la phase de test des composants avant soudure. Je rencontre un problème que je n'ai pas réussi à résoudre malgré mes recherches.<br />
<br />
J'ai acheté ce module <a rel="nofollow" href="https://www.amazon.fr/dp/B0DGFT4BTR?ref=ppx_yo2ov_dt_b_fed_asin_title" target="_blank">https://www.amazon.fr/dp/B0DGFT4BTR?...fed_asin_title</a> et je n'arrive pas à le brancher correctement selon la notice. Voici mon montage actuel :<br />
<br />
Côté commande : SIG sur la pin 23, VCC sur le 5V et GND sur le GND de ma carte.<br />
<br />
Côté puissance : +12V de l'alimentation sur VIN, masse de l'alimentation sur GND. La LED 12V est branchée sur les bornes V+ et V-.<br />
<br />
Avec ce câblage, la LED reste allumée en permanence, peu importe le signal envoyé sur SIG.<br />
<br />
Étrangement, si j'inverse en mettant la LED sur VIN/GND et l'alimentation sur V+/V-, la LED réagit bien au signal SIG, mais elle conserve une légère lueur résiduelle lorsqu'elle n'est pas pilotée.<br />
<br />
J'ai vérifié le circuit imprimé, les borniers ne semblent pas inversés. J'ai testé 5 cartes sur les 10 reçues et le comportement est identique.<br />
<br />
Sauriez-vous m'aider à identifier l'erreur ?<br />
<br />
Merci d'avance pour votre aide !<br />
Cordialement.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>Luxaris</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182764/general-developpement/programmation-systeme/embarque/arduino/demande-aide-branchement-module-irf520/</guid>
		</item>
		<item>
			<title>SSD1306 allocation failed</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182455&amp;goto=newpost</link>
			<pubDate>Wed, 04 Mar 2026 22:51:42 GMT</pubDate>
			<description>Bonjour à tous , 
 
Je...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous ,<br />
<br />
Je souhaite tester ce petit programme sur Nano mais je rencontre toujours ce type d'erreur : &quot;SSD1306 allocation failed&quot;<br />
Pourtant je précise que <br />
- j'ai fait tourner préalablement &quot;scannerI2C&quot; pour valider l'adresse du SSD1306 =&gt; <b>0x3C</b><br />
- j'ai testé des exemples de la librairies FluxGarage_RoboEyes comme par ex   <b>i2c_ssd1306_Basics.ino</b> sans problème<br />
- le programme se compile sans erreur <br />
  <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br />170<br />171<br />172<br />173<br />174<br />175<br />176<br />177<br />178<br />179<br />180<br />181<br />182<br />183<br />184<br />185<br />186<br />187<br />188<br />189<br />190<br />191<br />192<br />193<br />194<br />195<br />196<br />197<br />198<br />199<br />200<br />201<br />202<br />203<br />204<br />205<br />206<br />207<br />208<br />209<br />210<br />211<br />212<br />213<br />214<br />215<br />216<br />217<br />218<br />219<br />220<br />221<br />222<br />223<br />224<br />225<br />226<br />227<br />228<br />229<br />230<br />231<br />232<br />233<br />234<br />235<br />236<br />237<br />238<br />239<br />240<br />241<br />242<br />243<br />244<br />245<br />246<br />247<br />248<br />249<br />250<br />251<br />252<br />253<br />254<br />255<br />256<br />257<br />258<br />259<br />260<br />261<br />262<br />263<br />264<br />265<br />266<br />267<br />268<br />269<br />270<br />271<br />272<br />273<br />274<br />275<br />276<br />277<br />278<br />279<br />280<br />281<br />282<br />283<br />284<br />285<br />286<br />287<br />288<br />289<br />290<br />291<br />292<br />293<br />294<br />295<br />296<br />297<br />298<br />299<br />300<br />301<br />302<br />303<br />304<br />305<br />306<br />307<br />308<br />309<br />310<br />311<br />312<br />313<br />314<br />315<br />316<br />317<br />318<br />319<br />320<br />321<br />322<br />323<br />324<br />325<br />326<br />327<br />328<br />329<br />330<br />331<br />332<br />333<br />334<br />335<br />336<br />337<br />338<br />339<br />340<br />341<br />342<br />343<br />344<br />345<br />346<br />347<br />348<br />349<br />350<br />351<br />352<br />353<br />354<br />355<br />356<br />357<br />358<br />359<br />360<br />361<br />362<br />363<br />364<br />365<br />366<br />367<br />368<br />369<br />370<br />371<br />372<br />373<br />374<br />375<br />376<br />377<br />378<br />379<br />380<br />381<br />382<br />383<br />384<br />385<br />386<br />387<br />388<br />389<br />390<br />391<br />392<br />393<br />394<br />395<br />396<br />397<br />398<br />399<br />400<br />401<br />402<br />403<br />404<br />405<br />406<br />407<br />408<br />409<br />410<br />411<br />412<br />413<br />414<br />415<br />416<br />417<br />418<br />419<br />420<br />421<br />422<br />423<br />424<br />425<br />426<br />427<br />428<br />429<br />430<br />431<br />432<br />433<br />434<br />435<br />436<br />437<br />438<br />439<br />440<br />441<br />442<br />443<br />444<br />445<br />446<br />447<br />448<br />449<br />450<br />451<br />452<br />453<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #339933;">#include</span><span style="color: #FF0000;"> &lt;VarSpeedServo.h&gt;</span>
<span style="color: #339933;">#include</span><span style="color: #FF0000;"> &lt;Adafruit_SSD1306.h&gt;</span>
&nbsp;
<span style="color: #339933;">#define SCREEN_WIDTH 128 // OLED display width, in pixels</span>
<span style="color: #339933;">#define SCREEN_HEIGHT 64 // OLED display height, in pixels</span>
<span style="color: #808080;">// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)</span>
<span style="color: #339933;">#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)</span>
<span style="color: #808080;">//Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;Wire, OLED_RESET);</span>
Adafruit_SSD1306 display<span style="color: black;">&#40;</span>SCREEN_WIDTH, SCREEN_HEIGHT, &amp;Wire<span style="color: black;">&#41;</span>;
&nbsp;
<span style="color: #339933;">#include</span><span style="color: #FF0000;"> &lt;FluxGarage_RoboEyes.h&gt;</span>
roboEyes roboEyes; 
&nbsp;
VarSpeedServo leftArm;
VarSpeedServo rightArm;
&nbsp;
<span style="color: #808080;">//Servo Variables</span>
<span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> previousMillis = <span style="color: #cc66cc;">0</span>;  <span style="color: #808080;">// Stores last time action was performed</span>
<span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> interval = <span style="color: #cc66cc;">100</span>; <span style="color: #808080;">//Default interval</span>
<span style="color: #0000ff;">bool</span> armMovingUp = <span style="color: #0080ff;">true</span>;
&nbsp;
<span style="color: #808080;">//Animation Variables</span>
<span style="color: #0000ff;">bool</span> happyActivate = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">int</span> happyCycle = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #0000ff;">bool</span> sadActivate = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">int</span> sadCycle = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #0000ff;">bool</span> angryActivate = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">int</span> angryCycle = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #0000ff;">bool</span> confusedActivate = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">int</span> confusedCycle = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #0000ff;">bool</span> laughActivate = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">int</span> laughCycle = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #0000ff;">bool</span> waveActivate = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">int</span> waveCycle = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #0000ff;">bool</span> danceActivate = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">int</span> danceCycle = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #0000ff;">bool</span> nodActivate = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">int</span> nodCycle = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #0000ff;">bool</span> pointActivate = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">int</span> pointCycle = <span style="color: #cc66cc;">0</span>;
&nbsp;
<span style="color: #808080;">// Idle delay</span>
<span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> startTime = <span style="color: #cc66cc;">0</span>; <span style="color: #808080;">// variable to store the start time</span>
<span style="color: #0000ff;">bool</span> idleModeActive = <span style="color: #0080ff;">false</span>;
<span style="color: #0000ff;">bool</span> idleCount = <span style="color: #0080ff;">false</span>;
&nbsp;
&nbsp;
<span style="color: #0000ff;">void</span> setup<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  <span style="color: #0080ff;">Serial</span>.begin<span style="color: black;">&#40;</span><span style="color: #cc66cc;">9600</span><span style="color: black;">&#41;</span>;
  <span style="color: #808080;">// OLED Display</span>
  <span style="color: #808080;">// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally</span>
  <span style="color: #0000ff;">if</span><span style="color: black;">&#40;</span>!display.begin<span style="color: black;">&#40;</span>SSD1306_SWITCHCAPVCC, <span style="color: #cc66cc;">0x3C</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span> <span style="color: #808080;">// Address 0x3C or 0x3D</span>
    <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span>F<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;SSD1306 allocation failed&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>;
    <span style="color: #0000ff;">for</span><span style="color: black;">&#40;</span>;;<span style="color: black;">&#41;</span>; <span style="color: #808080;">// Don't proceed, loop forever</span>
  <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #808080;">// Startup robo eyes</span>
  roboEyes.begin<span style="color: black;">&#40;</span>SCREEN_WIDTH, SCREEN_HEIGHT, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// screen-width, screen-height, max framerate - 60-100fps are good for smooth animations</span>
  roboEyes.setWidth<span style="color: black;">&#40;</span><span style="color: #cc66cc;">40</span>, <span style="color: #cc66cc;">40</span><span style="color: black;">&#41;</span>;
  roboEyes.setHeight<span style="color: black;">&#40;</span><span style="color: #cc66cc;">40</span>, <span style="color: #cc66cc;">40</span><span style="color: black;">&#41;</span>;
  roboEyes.close<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// start with closed eyes       </span>
&nbsp;
  <span style="color: #808080;">// Initialize servos</span>
  leftArm.attach<span style="color: black;">&#40;</span>A3<span style="color: black;">&#41;</span>; <span style="color: #808080;">// Attach left arm servo to pin A3</span>
  rightArm.attach<span style="color: black;">&#40;</span>A2<span style="color: black;">&#41;</span>; <span style="color: #808080;">// Attach right arm servo to pin A2</span>
&nbsp;
  <span style="color: #808080;">// Set initial positions for the arms</span>
  leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Neutral position with arms facing down</span>
  rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Neutral position with arms facing down</span>
&nbsp;
  <span style="color: black;">&#125;</span> <span style="color: #808080;">// end of setup</span>
&nbsp;
&nbsp;
  <span style="color: #0000ff;">void</span> loop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    <span style="color: #808080;">// Update the roboEyes display</span>
    roboEyes.update<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
    <span style="color: #808080;">// Check for serial input</span>
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span><span style="color: #0080ff;">Serial</span>.available<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> &gt; <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
      <span style="color: #0000ff;">String</span> input = <span style="color: #0080ff;">Serial</span>.readStringUntil<span style="color: black;">&#40;</span><span style="color: #FF0000;">'</span><span style="color: #800000;">\n</span><span style="color: #FF0000;">'</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Read the serial input until a newline character</span>
      input.trim<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Remove any leading/trailing whitespace</span>
&nbsp;
       <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;wakeword&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.open<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">//Open eyes </span>
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        roboEyes.setMood<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
       <span style="color: #808080;">// roboEyes.anim_thinking(); //Play thinking animation  </span>
      <span style="color: black;">&#125;</span>
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;stopthink&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.anim_laugh<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; 
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        roboEyes.setMood<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Mood set to HAPPY&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span> 
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;sad&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>; 
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        <span style="color: #808080;">// Set the eyes to SAD emotion</span>
        roboEyes.setMood<span style="color: black;">&#40;</span>TIRED<span style="color: black;">&#41;</span>; <span style="color: #808080;">//TIRED = SAD</span>
        sadActivate = <span style="color: #0080ff;">true</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Mood set to SAD&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span> 
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;angry&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        <span style="color: #808080;">// Set the eyes to ANGRY emotion</span>
        roboEyes.setMood<span style="color: black;">&#40;</span>ANGRY<span style="color: black;">&#41;</span>;
        angryActivate = <span style="color: #0080ff;">true</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Mood set to ANGRY&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span> 
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;happy&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        <span style="color: #808080;">// Set the eyes to HAPPY emotion</span>
        roboEyes.setMood<span style="color: black;">&#40;</span>HAPPY<span style="color: black;">&#41;</span>;
        happyActivate = <span style="color: #0080ff;">true</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Mood set to HAPPY&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span> 
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;idle&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setMood<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.anim_laugh<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Reset thinking animation</span>
        idleModeActive = <span style="color: #0080ff;">true</span>;     <span style="color: #808080;">// Mark idle mode as active</span>
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Mood set to idle&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span>
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;confused&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        roboEyes.setMood<span style="color: black;">&#40;</span>TIRED<span style="color: black;">&#41;</span>; <span style="color: #808080;">//Set the eyes to SAD emotion</span>
        <span style="color: #808080;">// Play confused animation</span>
        roboEyes.anim_confused<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
        confusedActivate = <span style="color: #0080ff;">true</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Playing confused animation&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span> 
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;laugh&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        roboEyes.setMood<span style="color: black;">&#40;</span>HAPPY<span style="color: black;">&#41;</span>; <span style="color: #808080;">//Set the eyes to HAPPY emotion</span>
        <span style="color: #808080;">// Play laugh animation</span>
        roboEyes.anim_laugh<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
        laughActivate = <span style="color: #0080ff;">true</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Playing laugh animation&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span>
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;wave&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        roboEyes.setMood<span style="color: black;">&#40;</span>HAPPY<span style="color: black;">&#41;</span>; <span style="color: #808080;">//Set the eyes to HAPPY emotion</span>
        <span style="color: #808080;">// Perform wave animation</span>
        waveActivate = <span style="color: #0080ff;">true</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Performing wave animation&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span> 
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;point&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        roboEyes.setMood<span style="color: black;">&#40;</span>HAPPY<span style="color: black;">&#41;</span>; <span style="color: #808080;">//Set the eyes to HAPPY emotion</span>
        <span style="color: #808080;">// Perform point animation</span>
        pointActivate = <span style="color: #0080ff;">true</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Performing point animation&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span> 
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;nod&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        roboEyes.setMood<span style="color: black;">&#40;</span>HAPPY<span style="color: black;">&#41;</span>; <span style="color: #808080;">//Set the eyes to HAPPY emotion</span>
        <span style="color: #808080;">// Perform nod animation</span>
        nodActivate = <span style="color: #0080ff;">true</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Performing nod animation&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span> 
      <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>input.equalsIgnoreCase<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;shrug&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
        roboEyes.setAutoblinker<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">7</span>, <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span>;
        roboEyes.setIdleMode<span style="color: black;">&#40;</span>ON, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        roboEyes.setMood<span style="color: black;">&#40;</span>TIRED<span style="color: black;">&#41;</span>; <span style="color: #808080;">//Set the eyes to TIRED emotion</span>
        roboEyes.anim_confused<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">//Play confused animation</span>
        <span style="color: #808080;">// Perform shrug animation</span>
        nodActivate = <span style="color: #0080ff;">true</span>;
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Performing shrug animation&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span> 
      <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
        <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Unrecognized command&quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>happyActivate == <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    interval = <span style="color: #cc66cc;">200</span>;
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>happyCycle &lt; <span style="color: #cc66cc;">6</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        <span style="color: #0000ff;">int</span> currentMillis = <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
        <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>currentMillis - previousMillis &gt;= interval<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span> 
            previousMillis = currentMillis; 
&nbsp;
            <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>armMovingUp<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Raise arms</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;  
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">40</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;  
                armMovingUp = <span style="color: #0080ff;">false</span>;  
            <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Lower arms slightly</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">140</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;   
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;   
                armMovingUp = <span style="color: #0080ff;">true</span>;   
                happyCycle += <span style="color: #cc66cc;">1</span>;      
            <span style="color: black;">&#125;</span>
        <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
        happyCycle = <span style="color: #cc66cc;">0</span>;
        happyActivate = <span style="color: #0080ff;">false</span>;
        leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">120</span><span style="color: black;">&#41;</span>;
        rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">120</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Reset Arms</span>
      <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>sadActivate == <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    interval = <span style="color: #cc66cc;">600</span>;
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>sadCycle &lt; <span style="color: #cc66cc;">3</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        <span style="color: #0000ff;">int</span> currentMillis = <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
        <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>currentMillis - previousMillis &gt;= interval<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
            previousMillis = currentMillis;
&nbsp;
            <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>armMovingUp<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Move arms up</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">45</span>, <span style="color: #cc66cc;">35</span><span style="color: black;">&#41;</span>;  
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">135</span>, <span style="color: #cc66cc;">35</span><span style="color: black;">&#41;</span>;  
                armMovingUp = <span style="color: #0080ff;">false</span>;
            <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Move arms down</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">35</span><span style="color: black;">&#41;</span>;   
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">35</span><span style="color: black;">&#41;</span>;   
                armMovingUp = <span style="color: #0080ff;">true</span>; 
                sadCycle += <span style="color: #cc66cc;">1</span>; 
            <span style="color: black;">&#125;</span>
        <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
        sadCycle = <span style="color: #cc66cc;">0</span>;  
        sadActivate = <span style="color: #0080ff;">false</span>;    
        leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">35</span><span style="color: black;">&#41;</span>;
        rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">35</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Reset Arms</span>
      <span style="color: black;">&#125;</span>
   <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>angryActivate == <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    interval = <span style="color: #cc66cc;">200</span>;
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>angryCycle &lt; <span style="color: #cc66cc;">5</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        <span style="color: #0000ff;">int</span> currentMillis = <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
        <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>currentMillis - previousMillis &gt;= interval<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
            previousMillis = currentMillis;
&nbsp;
            <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>armMovingUp<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Move arms up</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">110</span>, <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>;  
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">150</span>, <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>;  
                armMovingUp = <span style="color: #0080ff;">false</span>;
            <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Move arms down</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">30</span>, <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>;   
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">70</span>, <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>;   
                armMovingUp = <span style="color: #0080ff;">true</span>; 
                angryCycle += <span style="color: #cc66cc;">1</span>; 
            <span style="color: black;">&#125;</span>
        <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
        angryCycle = <span style="color: #cc66cc;">0</span>;         
        angryActivate = <span style="color: #0080ff;">false</span>; 
        leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>;
        rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Reset Arms</span>
    <span style="color: black;">&#125;</span>
   <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>confusedActivate == <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    interval = <span style="color: #cc66cc;">215</span>;
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>confusedCycle &lt; <span style="color: #cc66cc;">4</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        <span style="color: #0000ff;">int</span> currentMillis = <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
        <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>currentMillis - previousMillis &gt;= interval<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
            previousMillis = currentMillis;
&nbsp;
            <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>armMovingUp<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
              <span style="color: #808080;">// Move arms up</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">40</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;  
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">115</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;  
                armMovingUp = <span style="color: #0080ff;">false</span>; 
            <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
              <span style="color: #808080;">// Move arms down</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">65</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;   
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">140</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;   
                armMovingUp = <span style="color: #0080ff;">true</span>;
                confusedCycle += <span style="color: #cc66cc;">1</span>;
            <span style="color: black;">&#125;</span>
        <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
        confusedCycle = <span style="color: #cc66cc;">0</span>;       
        confusedActivate = <span style="color: #0080ff;">false</span>;
        leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;
        rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Reset Arms</span>
      <span style="color: black;">&#125;</span>
   <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>laughActivate == <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    interval = <span style="color: #cc66cc;">200</span>;
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>laughCycle &lt; <span style="color: #cc66cc;">5</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        <span style="color: #0000ff;">int</span> currentMillis = <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
        <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>currentMillis - previousMillis &gt;= interval<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
            previousMillis = currentMillis; 
&nbsp;
            <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>armMovingUp<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
              <span style="color: #808080;">// Move arms up</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">130</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;  
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">50</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;  
                armMovingUp = <span style="color: #0080ff;">false</span>; 
            <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Move arms down</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">30</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;   
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">150</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;   
                armMovingUp = <span style="color: #0080ff;">true</span>;  
                laughCycle += <span style="color: #cc66cc;">1</span>;
            <span style="color: black;">&#125;</span>
        <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
        laughCycle = <span style="color: #cc66cc;">0</span>;       
        laughActivate = <span style="color: #0080ff;">false</span>;
        leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;
        rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Reset Arms</span>
    <span style="color: black;">&#125;</span>
   <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>waveActivate == <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    interval = <span style="color: #cc66cc;">225</span>;
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>waveCycle &lt; <span style="color: #cc66cc;">4</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        <span style="color: #0000ff;">int</span> currentMillis = <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
        <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>currentMillis - previousMillis &gt;= interval<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
            previousMillis = currentMillis;
&nbsp;
            <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>armMovingUp<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Move arms up</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">90</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;  
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;  
                armMovingUp = <span style="color: #0080ff;">false</span>;
            <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Move arms down</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">150</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;   
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;   
                armMovingUp = <span style="color: #0080ff;">true</span>;   
                waveCycle += <span style="color: #cc66cc;">1</span>;   
            <span style="color: black;">&#125;</span>
        <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
        waveCycle = <span style="color: #cc66cc;">0</span>;
        waveActivate = <span style="color: #0080ff;">false</span>;
        leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>;
        rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">150</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Reset Arms</span>
    <span style="color: black;">&#125;</span>
   <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>nodActivate == <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    interval = <span style="color: #cc66cc;">150</span>;
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>nodCycle &lt; <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        <span style="color: #0000ff;">int</span> currentMillis = <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
        <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>currentMillis - previousMillis &gt;= interval<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
            previousMillis = currentMillis;
&nbsp;
            <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>armMovingUp<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
              <span style="color: #808080;">//Move arms up</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">120</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;  
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">60</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;  
                armMovingUp = <span style="color: #0080ff;">false</span>;
            <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
              <span style="color: #808080;">//Move arms down</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">85</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;   
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">95</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;   
                armMovingUp = <span style="color: #0080ff;">true</span>;
                nodCycle += <span style="color: #cc66cc;">1</span>;
            <span style="color: black;">&#125;</span>
        <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
        nodCycle = <span style="color: #cc66cc;">0</span>; 
        nodActivate = <span style="color: #0080ff;">false</span>;
        leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>;
        rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// Reset arms</span>
    <span style="color: black;">&#125;</span>
   <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>pointActivate == <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    interval = <span style="color: #cc66cc;">2000</span>;
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>pointCycle &lt; <span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        <span style="color: #0000ff;">int</span> currentMillis = <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
        <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>currentMillis - previousMillis &gt;= interval<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
            previousMillis = currentMillis;
&nbsp;
            <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>armMovingUp<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
              <span style="color: #808080;">// Move arms up</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">130</span><span style="color: black;">&#41;</span>;  
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">30</span>, <span style="color: #cc66cc;">130</span><span style="color: black;">&#41;</span>;  
                armMovingUp = <span style="color: #0080ff;">false</span>;
            <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
                <span style="color: #808080;">// Move arms down</span>
                leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">130</span><span style="color: black;">&#41;</span>;   
                rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">30</span>, <span style="color: #cc66cc;">130</span><span style="color: black;">&#41;</span>;   
                armMovingUp = <span style="color: #0080ff;">true</span>;
                pointCycle += <span style="color: #cc66cc;">1</span>;
            <span style="color: black;">&#125;</span>
        <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
        pointCycle = <span style="color: #cc66cc;">0</span>; 
        pointActivate = <span style="color: #0080ff;">false</span>;
        leftArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">130</span><span style="color: black;">&#41;</span>;
        rightArm.write<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180</span>, <span style="color: #cc66cc;">130</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">//Reset arms</span>
    <span style="color: black;">&#125;</span>
   <span style="color: black;">&#125;</span>
&nbsp;
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>idleModeActive<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    startTime = <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// record the start time</span>
    idleModeActive = <span style="color: #0080ff;">false</span>; <span style="color: #808080;">// set the flag to false</span>
    idleCount = <span style="color: #0080ff;">true</span>;
   <span style="color: black;">&#125;</span>
&nbsp;
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>idleCount &amp;&amp; <span style="color: #0080ff;">millis</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> - startTime &gt;= <span style="color: #cc66cc;">10</span>*<span style="color: #cc66cc;">60000</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
    roboEyes.close<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
    roboEyes.setPosition<span style="color: black;">&#40;</span>DEFAULT<span style="color: black;">&#41;</span>;
    roboEyes.setAutoblinker<span style="color: black;">&#40;</span>OFF<span style="color: black;">&#41;</span>;
    roboEyes.setIdleMode<span style="color: black;">&#40;</span>OFF<span style="color: black;">&#41;</span>;
    <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Idle mode deactivated after 10 minutes.&quot;</span><span style="color: black;">&#41;</span>;
    idleModeActive = <span style="color: #0080ff;">false</span>; 
    idleCount = <span style="color: #0080ff;">false</span>;
   <span style="color: black;">&#125;</span>
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div>Si vous avez une solution à mon petit problème , je serai preneur<br />
merci encore<br />
pascal</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>cobra38</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182455/general-developpement/programmation-systeme/embarque/arduino/ssd1306-allocation-failed/</guid>
		</item>
		<item>
			<title>Transférer plusieurs données sur port com 2 questions</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182389&amp;goto=newpost</link>
			<pubDate>Sun, 01 Mar 2026 17:52:08 GMT</pubDate>
			<description>bonjour a toutes et tous, 
je...</description>
			<content:encoded><![CDATA[<div>bonjour a toutes et tous,<br />
je suis débutant tout nouveau en arduino <br />
<br />
je rencontre un problème d'envoie de donnée sur le port com vers mon pc<br />
je génère bien des donnée sur le portcom en utilisant serial.println<br />
et la lecture se fait sur le pc donc liaison de communication fonctionne<br />
si j'envoie cela <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">     serial.println<span style="color: black;">&#40;</span>round<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180.00</span><span style="color: black;">&#41;</span>+ <span style="color: black;">&#40;</span>round<span style="color: black;">&#40;</span><span style="color: #cc66cc;">40.00</span><span style="color: black;">&#41;</span>;</code><hr />
</div>lecture du port usb sur pc <br />
il ne maffiche que €180<br />
<br />
<br />
si j'envoie depuis arduino cela<br />
 <div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">    serial.println <span style="color: black;">&#40;</span>round<span style="color: black;">&#40;</span><span style="color: #cc66cc;">180.00</span><span style="color: black;">&#41;</span>; serial.println<span style="color: black;">&#40;</span>round<span style="color: black;">&#40;</span><span style="color: #cc66cc;">40.00</span><span style="color: black;">&#41;</span>;</code><hr />
</div><br />
affichage 2 ligne ?<br />
€180<br />
40<br />
<br />
2 questions:<br />
1°) comment envoyer corectement mes deux valeur sur une seul ligne <br />
2°) comment enlever le € au depar de ma trame reçu ?<br />
<br />
cordialement</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>alll1</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182389/general-developpement/programmation-systeme/embarque/arduino/transferer-plusieurs-donnees-port-com-2-questions/</guid>
		</item>
		<item>
			<title>Travelling X Z pour Raspberry Pi Camera Module 3 via arduino mega 2560</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182256&amp;goto=newpost</link>
			<pubDate>Sun, 22 Feb 2026 08:31:02 GMT</pubDate>
			<description>Bonjour à tous, 
 
Je...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
Je souhaite faire glisser une Raspberry Pi Camera Module 3, sur l'axe x, puis l'axe Z, afin d'être au centre du sujet cible, pour un timelapse.<br />
Pour ce faire, je dispose de deux Micro moteur CH-SM1545-M3xP0.5 (2 phases, 4 fils bipolaires – 12V – dont la course de l'arbre fileté = 80mm), et chacun d'eux sera piloter par son propre contrôleur de  moteur type A4988. La sélection ou la mise sous tension d'un des deux moteur, sera faite par un interrupteur à bascule type KCD3 ON-OFF-ON SPDT 3Positions. Selon la position de l'interrupteur (droite ou gauche), le moteur cible sera sous tension, alors que l'autre sera hors circuit.<br />
<br />
Voici le schéma électrique pour un seul moteur et son code arduino. Cela fonctionne bien avec les capteurs de limite IR.<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p674449d1771748874/general-developpement/programmation-systeme/embarque/arduino/travelling-x-z-raspberry-pi-camera-module-3-via-arduino-mega-2560/schema_ch-sm1545-m3xp0.5-_potentiometre-msx-endstop.jpg/" border="0" alt="Nom : Schema_CH-SM1545-M3xP0.5 _Potentiomètre - MSx - EndStop.jpg
Affichages : 286
Taille : 153,1 Ko"  style="float: CONFIG" /><br />
<img src="https://www.developpez.net/forums/attachments/p674450d1771748922/general-developpement/programmation-systeme/embarque/arduino/travelling-x-z-raspberry-pi-camera-module-3-via-arduino-mega-2560/schema_tableau-pins-connexion.jpg/" border="0" alt="Nom : Schema_Tableau PINs connexion.jpg
Affichages : 264
Taille : 92,5 Ko"  style="float: CONFIG" /><br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br />170<br />171<br />172<br />173<br />174<br />175<br />176<br />177<br />178<br />179<br />180<br />181<br />182<br />183<br />184<br />185<br />186<br />187<br />188<br />189<br />190<br />191<br />192<br />193<br />194<br />195<br />196<br />197<br />198<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">/* </span>
<span style="color: #808080;">Arduino Mega + A4988</span>
<span style="color: #808080;">Capteurs (IR en U) + potentiom&egrave;tre contr&ocirc;le distance et direction apr&egrave;s recul</span>
&nbsp;
<span style="color: #808080;">--- Diagramme d&#146;&eacute;tat : Moteur + Potar + Capteurs ---</span>
&nbsp;
<span style="color: #808080;">[START / Moteur immobile]</span>
<span style="color: #808080;">&nbsp;        |</span>
<span style="color: #808080;">&nbsp;        | Potar boug&eacute; &rarr; au-del&agrave; zone morte</span>
<span style="color: #808080;">&nbsp;        v</span>
<span style="color: #808080;">[D&eacute;placement par potar]</span>
<span style="color: #808080;">&nbsp;        |</span>
<span style="color: #808080;">&nbsp;        | Capteur d&eacute;clench&eacute; (IR)</span>
<span style="color: #808080;">&nbsp;        v</span>
<span style="color: #808080;">[Recul 1 cm en micro-pas]</span>
<span style="color: #808080;">&nbsp;        |</span>
<span style="color: #808080;">&nbsp;        | Recul termin&eacute;</span>
<span style="color: #808080;">&nbsp;        v</span>
<span style="color: #808080;">[Moteur en PAUSE apr&egrave;s recul]</span>
<span style="color: #808080;">&nbsp;        |</span>
<span style="color: #808080;">&nbsp;        | Potar manipul&eacute; par l'utilisateur (delta &gt; zone morte)</span>
<span style="color: #808080;">&nbsp;        v</span>
<span style="color: #808080;">[Reprise contr&ocirc;le par potar]</span>
<span style="color: #808080;">&nbsp;        |</span>
<span style="color: #808080;">&nbsp;        +--&gt; [D&eacute;placement par potar]</span>
&nbsp;
<span style="color: #808080;">*/</span>
&nbsp;
<span style="color: #808080;">// Moteur PIN</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MOTOR_DIR_PIN = <span style="color: #cc66cc;">2</span>;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MOTOR_STEP_PIN = <span style="color: #cc66cc;">3</span>;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MOTOR_ENABLE_PIN = <span style="color: #cc66cc;">6</span>;
&nbsp;
<span style="color: #808080;">// EndStop PIN signal</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> ENDSTOP_IR0 = <span style="color: #cc66cc;">7</span>;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> ENDSTOP_IR1 = <span style="color: #cc66cc;">11</span>;
&nbsp;
<span style="color: #808080;">// EndStop MSx PIN</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MS1_PIN = <span style="color: #cc66cc;">8</span>;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MS2_PIN = <span style="color: #cc66cc;">9</span>;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> MS3_PIN = <span style="color: #cc66cc;">10</span>;
&nbsp;
<span style="color: #808080;">// Potentiom&egrave;tre PIN Signal</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> POT_PIN = A0;
&nbsp;
<span style="color: #808080;">// Param&egrave;tres moteur</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> Nb_Recul = <span style="color: #cc66cc;">200</span>;        <span style="color: #808080;">// 1cm en full-step=400pas --- 0.5cm en full-step=200pas</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> microStepFactor = <span style="color: #cc66cc;">16</span>;   <span style="color: #808080;">// micro-pas pour recul</span>
&nbsp;
<span style="color: #808080;">/* </span>
<span style="color: #808080;">Le moteur avance d&#146;un pas &agrave; chaque impulsion STEP.</span>
<span style="color: #808080;">La vitesse du moteur d&eacute;pend uniquement du temps entre deux impulsions.</span>
<span style="color: #808080;">motorDelayMax est grand, plus le mouvement minimal est lent et pr&eacute;cis.</span>
<span style="color: #808080;">Plus motorDelayMin est petit, plus le moteur va vite.</span>
<span style="color: #808080;">*/</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> motorDelayMax = <span style="color: #cc66cc;">1500</span>;   <span style="color: #808080;">// microsecondes max STEP &micro;s (lent)  1500 &asymp; 1 mm/s</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> motorDelayMin = <span style="color: #cc66cc;">400</span>;    <span style="color: #808080;">// microsecondes min STEP &micro;s (rapide) 400 &asymp; 3,9 mm/s</span>
&nbsp;
<span style="color: #808080;">/* </span>
<span style="color: #808080;">La zone morte (deadZone) est un intervalle central autour de la valeur neutre du potar o&ugrave; aucun mouvement du moteur n&#146;est d&eacute;clench&eacute;.</span>
<span style="color: #808080;">Exemple : const int deadZone = 50;</span>
<span style="color: #808080;">Si le potentiom&egrave;tre est entre -50 et +50 autour du centre, le moteur reste immobile.</span>
<span style="color: #808080;">*/</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> deadZone = <span style="color: #cc66cc;">200</span>;          <span style="color: #808080;">// zone morte du potar</span>
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> accelStep = <span style="color: #cc66cc;">1</span>;          <span style="color: #808080;">// incr&eacute;ment de lissage pour acceleration 2  4</span>
&nbsp;
<span style="color: #0000ff;">bool</span> reculEffectue = <span style="color: #0080ff;">false</span>;       <span style="color: #808080;">// vrai apr&egrave;s recul</span>
<span style="color: #0000ff;">bool</span> pauseAfterRecul = <span style="color: #0080ff;">false</span>;     <span style="color: #808080;">// moteur en pause apr&egrave;s recul</span>
<span style="color: #0000ff;">int</span> potRef = <span style="color: #cc66cc;">0</span>;                   <span style="color: #808080;">// valeur de r&eacute;f&eacute;rence du potar apr&egrave;s recul</span>
<span style="color: #0000ff;">int</span> ir0LastState = <span style="color: #cc66cc;">0</span>;
<span style="color: #0000ff;">int</span> ir1LastState = <span style="color: #cc66cc;">0</span>;
&nbsp;
&nbsp;
<span style="color: #0000ff;">int</span> currentDelay = motorDelayMax;
<span style="color: #0000ff;">bool</span> potInverted = <span style="color: #0080ff;">false</span>;         <span style="color: #808080;">// true = inverser la direction du potar</span>
&nbsp;
<span style="color: #808080;">// Fonction STEP simple</span>
<span style="color: #0000ff;">void</span> stepMotor<span style="color: black;">&#40;</span><span style="color: #0000ff;">int</span> delayMicro<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MOTOR_STEP_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">delayMicroseconds</span><span style="color: black;">&#40;</span>delayMicro<span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MOTOR_STEP_PIN, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">delayMicroseconds</span><span style="color: black;">&#40;</span>delayMicro<span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> setup<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  <span style="color: #0080ff;">pinMode</span><span style="color: black;">&#40;</span>MOTOR_DIR_PIN, <span style="color: #0080ff;">OUTPUT</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">pinMode</span><span style="color: black;">&#40;</span>MOTOR_STEP_PIN, <span style="color: #0080ff;">OUTPUT</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">pinMode</span><span style="color: black;">&#40;</span>MOTOR_ENABLE_PIN, <span style="color: #0080ff;">OUTPUT</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #808080;">// pinMode(ENDSTOP_MECA, INPUT_PULLUP);</span>
  <span style="color: #0080ff;">pinMode</span><span style="color: black;">&#40;</span>ENDSTOP_IR0, <span style="color: #0080ff;">INPUT</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">pinMode</span><span style="color: black;">&#40;</span>ENDSTOP_IR1, <span style="color: #0080ff;">INPUT</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #0080ff;">pinMode</span><span style="color: black;">&#40;</span>MS1_PIN, <span style="color: #0080ff;">OUTPUT</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">pinMode</span><span style="color: black;">&#40;</span>MS2_PIN, <span style="color: #0080ff;">OUTPUT</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">pinMode</span><span style="color: black;">&#40;</span>MS3_PIN, <span style="color: #0080ff;">OUTPUT</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #808080;">// Micro-pas 1/16 pour recul</span>
  <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MS1_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MS2_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MS3_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MOTOR_ENABLE_PIN, <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #0080ff;">delay</span><span style="color: black;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">// stabilisation capteurs</span>
  ir0LastState = <span style="color: #0080ff;">digitalRead</span><span style="color: black;">&#40;</span>ENDSTOP_IR0<span style="color: black;">&#41;</span>;
  ir1LastState = <span style="color: #0080ff;">digitalRead</span><span style="color: black;">&#40;</span>ENDSTOP_IR1<span style="color: black;">&#41;</span>;
<span style="color: black;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> loop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  <span style="color: #808080;">// ===== Lecture potar =====</span>
  <span style="color: #0000ff;">int</span> potValue = <span style="color: #0080ff;">analogRead</span><span style="color: black;">&#40;</span>POT_PIN<span style="color: black;">&#41;</span> - <span style="color: #cc66cc;">512</span>;
  <span style="color: #0000ff;">int</span> potAbs = <span style="color: #0080ff;">abs</span><span style="color: black;">&#40;</span>potValue<span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #808080;">// D&eacute;termination direction potar avec inversion si activ&eacute;</span>
  <span style="color: #0000ff;">bool</span> direction = potInverted ? <span style="color: black;">&#40;</span>potValue &lt; <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span> : <span style="color: black;">&#40;</span>potValue &gt; <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #808080;">// ===== Lecture capteurs =====</span>
  <span style="color: #0000ff;">int</span> ir0State = <span style="color: #0080ff;">digitalRead</span><span style="color: black;">&#40;</span>ENDSTOP_IR0<span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">int</span> ir1State = <span style="color: #0080ff;">digitalRead</span><span style="color: black;">&#40;</span>ENDSTOP_IR1<span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #0000ff;">bool</span> ir0Triggered  = <span style="color: black;">&#40;</span>ir0State == <span style="color: #0080ff;">HIGH</span> &amp;&amp; ir0LastState == <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
  <span style="color: #0000ff;">bool</span> ir1Triggered  = <span style="color: black;">&#40;</span>ir1State == <span style="color: #0080ff;">HIGH</span> &amp;&amp; ir1LastState == <span style="color: #0080ff;">LOW</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #808080;">// ===== Recul 1 cm si capteur d&eacute;clench&eacute; =====</span>
  <span style="color: #0000ff;">if</span><span style="color: black;">&#40;</span>!reculEffectue &amp;&amp; <span style="color: black;">&#40;</span>ir0Triggered || ir1Triggered<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#123;</span>
    <span style="color: #0080ff;">delay</span><span style="color: black;">&#40;</span><span style="color: #cc66cc;">50</span><span style="color: black;">&#41;</span>;
&nbsp;
    <span style="color: #808080;">// Micro-pas pour recul</span>
    <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MS1_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
    <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MS2_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
    <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MS3_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
    <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MOTOR_DIR_PIN, !direction<span style="color: black;">&#41;</span>; <span style="color: #808080;">// reculer dans sens oppos&eacute; au potar</span>
    <span style="color: #0000ff;">for</span><span style="color: black;">&#40;</span><span style="color: #0000ff;">int</span> i=<span style="color: #cc66cc;">0</span>; i&lt;Nb_Recul*microStepFactor; i++<span style="color: black;">&#41;</span><span style="color: black;">&#123;</span>
      stepMotor<span style="color: black;">&#40;</span>motorDelayMin<span style="color: black;">&#41;</span>;
    <span style="color: black;">&#125;</span>
&nbsp;
    <span style="color: #808080;">// Recul termin&eacute; &rarr; moteur en pause</span>
    reculEffectue = <span style="color: #0080ff;">true</span>;
    pauseAfterRecul = <span style="color: #0080ff;">true</span>;
    potRef = potValue; <span style="color: #808080;">// m&eacute;moriser la valeur du potar apr&egrave;s recul</span>
&nbsp;
    <span style="color: #808080;">// Mise &agrave; jour &eacute;tats capteurs</span>
    ir0LastState = <span style="color: #0080ff;">digitalRead</span><span style="color: black;">&#40;</span>ENDSTOP_IR0<span style="color: black;">&#41;</span>;
    ir1LastState = <span style="color: #0080ff;">digitalRead</span><span style="color: black;">&#40;</span>ENDSTOP_IR1<span style="color: black;">&#41;</span>;
&nbsp;
    <span style="color: #0000ff;">return</span>; <span style="color: #808080;">// ne rien faire d'autre</span>
  <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #808080;">// ===== V&eacute;rification pause apr&egrave;s recul =====</span>
  <span style="color: #0000ff;">if</span><span style="color: black;">&#40;</span>pauseAfterRecul<span style="color: black;">&#41;</span><span style="color: black;">&#123;</span>
    <span style="color: #0000ff;">int</span> deltaPot = <span style="color: #0080ff;">abs</span><span style="color: black;">&#40;</span>potValue - potRef<span style="color: black;">&#41;</span>;
    <span style="color: #0000ff;">if</span><span style="color: black;">&#40;</span>deltaPot &gt; deadZone<span style="color: black;">&#41;</span><span style="color: black;">&#123;</span>
      <span style="color: #808080;">// l'utilisateur a boug&eacute; le potar &rarr; reprise</span>
      pauseAfterRecul = <span style="color: #0080ff;">false</span>;
    <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
      <span style="color: #0000ff;">return</span>; <span style="color: #808080;">// moteur reste en pause</span>
    <span style="color: black;">&#125;</span>
  <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #808080;">// ===== STEP proportionnel au potar avec acceleration =====</span>
  <span style="color: #0000ff;">if</span><span style="color: black;">&#40;</span>potAbs &gt;= deadZone<span style="color: black;">&#41;</span><span style="color: black;">&#123;</span>
    <span style="color: #808080;">// Micro-pas 1/16 pour recul</span>
    <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MS1_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
    <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MS2_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
    <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MS3_PIN, <span style="color: #0080ff;">HIGH</span><span style="color: black;">&#41;</span>;
    <span style="color: #808080;">/* </span>
<span style="color: #808080;">&nbsp;   // Passer en full-step pour potar</span>
<span style="color: #808080;">&nbsp;   digitalWrite(MS1_PIN, LOW);</span>
<span style="color: #808080;">&nbsp;   digitalWrite(MS2_PIN, LOW);</span>
<span style="color: #808080;">&nbsp;   digitalWrite(MS3_PIN, LOW); </span>
<span style="color: #808080;">&nbsp;   */</span>
    <span style="color: #0080ff;">digitalWrite</span><span style="color: black;">&#40;</span>MOTOR_DIR_PIN, direction<span style="color: black;">&#41;</span>;
&nbsp;
    <span style="color: #808080;">// Calcul vitesse cible selon potar</span>
    <span style="color: #0000ff;">int</span> targetDelay = <span style="color: #0080ff;">map</span><span style="color: black;">&#40;</span>potAbs, deadZone, <span style="color: #cc66cc;">512</span>, motorDelayMax, motorDelayMin<span style="color: black;">&#41;</span>;
    targetDelay = <span style="color: #0080ff;">constrain</span><span style="color: black;">&#40;</span>targetDelay, motorDelayMin, motorDelayMax<span style="color: black;">&#41;</span>;
&nbsp;
    <span style="color: #808080;">// Lissage acceleration/d&eacute;celeration</span>
    <span style="color: #0000ff;">if</span><span style="color: black;">&#40;</span>currentDelay &lt; targetDelay<span style="color: black;">&#41;</span>
      currentDelay += accelStep;
    <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: black;">&#40;</span>currentDelay &gt; targetDelay<span style="color: black;">&#41;</span>
      currentDelay -= accelStep;
&nbsp;
    currentDelay = <span style="color: #0080ff;">constrain</span><span style="color: black;">&#40;</span>currentDelay, motorDelayMin, motorDelayMax<span style="color: black;">&#41;</span>;
&nbsp;
    stepMotor<span style="color: black;">&#40;</span>currentDelay<span style="color: black;">&#41;</span>;
&nbsp;
    <span style="color: #808080;">// Autoriser un nouveau recul si le potar est utilis&eacute; apr&egrave;s recul</span>
    <span style="color: #0000ff;">if</span><span style="color: black;">&#40;</span>reculEffectue<span style="color: black;">&#41;</span><span style="color: black;">&#123;</span>
      reculEffectue = <span style="color: #0080ff;">false</span>;
    <span style="color: black;">&#125;</span>
  <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #808080;">// Mise &agrave; jour derniers &eacute;tats des capteurs</span>
  ir0LastState = ir0State;
  ir1LastState = ir1State;
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
J'ai plusieurs questions pour le schéma électrique.<br />
Je ne veux pas répliquer mon schéma pour chaque moteur. Je vais me retrouver avec deux alimentations 12V et deux potentiomètres pour le positionnement du moteur X sur l'axe X et la même chose pour l'axe Z.<br />
Peut-on alimenter en 12V, les deux A4988 via un troisième A4988?<br />
Ou dois-je placer l'interrupteur à bascule? À la entre le 3ème A4988 et les deux autres, ou est-ce faisable, directement sur l'arduino mega 2560.<br />
<br />
Merci pour votre temps, et vos idées. J'ai peux d'expérience et curieux.</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p674449d1771748874/general-developpement/programmation-systeme/embarque/arduino/travelling-x-z-raspberry-pi-camera-module-3-via-arduino-mega-2560/schema_ch-sm1545-m3xp0.5-_potentiometre-msx-endstop.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p674450d1771748922/general-developpement/programmation-systeme/embarque/arduino/travelling-x-z-raspberry-pi-camera-module-3-via-arduino-mega-2560/schema_tableau-pins-connexion.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>LS_Soleil</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182256/general-developpement/programmation-systeme/embarque/arduino/travelling-x-z-raspberry-pi-camera-module-3-via-arduino-mega-2560-a/</guid>
		</item>
		<item>
			<title>Affichage variable sur écran oled</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182098&amp;goto=newpost</link>
			<pubDate>Fri, 13 Feb 2026 17:33:57 GMT</pubDate>
			<description>Bonjour à tous 
 
Est-ce...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous<br />
<br />
Est-ce qu'il existe une astuce pour éviter ce genre de lourdeur pour afficher un nombre qui varie dans le temps?<br />
<br />
Merci<br />
<br />
 <div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br /></div></td><td valign="top"><pre style="margin: 0">u8x8.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>;
      u8x8.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Photos prises:&quot;</span><span style="color: black;">&#41;</span>;
&nbsp;
      photosPrises = <span style="color: black;">&#40;</span>photos - nb_photos<span style="color: black;">&#41;</span>;  <span style="color: #808080;">//photos prises en temps r&eacute;el</span>
&nbsp;
      u8x8.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
      u8x8.print<span style="color: black;">&#40;</span>photosPrises<span style="color: black;">&#41;</span>;
      u8x8.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">38</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
      u8x8.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;sur&quot;</span><span style="color: black;">&#41;</span>;
&nbsp;
      <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>photosPrises &lt;= <span style="color: #cc66cc;">9999</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        u8x8.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        u8x8.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span>
      <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>photosPrises &lt;= <span style="color: #cc66cc;">999</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        u8x8.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">3</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        u8x8.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span>
      <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>photosPrises &lt;= <span style="color: #cc66cc;">99</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        u8x8.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        u8x8.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span>
      <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>photosPrises &lt;= <span style="color: #cc66cc;">9</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        u8x8.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        u8x8.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span><span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span>
&nbsp;
      <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>photos &lt;= <span style="color: #cc66cc;">999</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        u8x8.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">75</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        u8x8.print<span style="color: black;">&#40;</span>photos<span style="color: black;">&#41;</span>;
      <span style="color: black;">&#125;</span>
      <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>photos &gt;= <span style="color: #cc66cc;">1000</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
        u8x8.setCursor<span style="color: black;">&#40;</span><span style="color: #cc66cc;">74</span>, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>;
        u8x8.print<span style="color: black;">&#40;</span>photos<span style="color: black;">&#41;</span>;</pre></td></tr></table></code><hr />
</div></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p674216d1771003321/general-developpement/programmation-systeme/embarque/arduino/affichage-variable-ecran-oled/time.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>Fermor</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182098/general-developpement/programmation-systeme/embarque/arduino/affichage-variable-ecran-oled/</guid>
		</item>
		<item>
			<title>Assistance pour réalisation interface commandes autoradio</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182035&amp;goto=newpost</link>
			<pubDate>Tue, 10 Feb 2026 21:05:24 GMT</pubDate>
			<description>Bonjour à tous, 
 
Nouveau...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
Nouveau sur le forum, je le suis surtout dans le domaine d'Arduino dont je connais le principe général mais absolument pas les moyens de sa mise en oeuvre. Aussi, je vous remercie d'avance de faire preuve d'indulgence face à mon ignardise en la matière.<br />
<br />
Pour mon premier message sur le forum, je vais tenter de vous exposer le plus clairement possible ma recherche. J'aimerais réaliser une interface qui permette de contrôler un autoradio récent avec une commande au volant ancienne qui n'est pas compatible en l'état. Ma commande au volant est un satellite déporté de l'autoradio. Celle-ci comprend 4 boutons à contacts secs (ouverts ou fermés) et une molette rotative à trois positions :<br />
<img src="https://www.developpez.net/forums/attachments/p674120d1770757345/general-developpement/programmation-systeme/embarque/arduino/assistance-realisation-interface-commandes-autoradio/sche-e-lectrique-swc-renault-2.jpeg/" border="0" alt="Nom : Sche&#769;ma e&#769;lectrique SWC Renault 2.jpeg
Affichages : 212
Taille : 65,0 Ko"  style="float: CONFIG" /><br />
<br />
Côté autoradio, l'entrée pour la commande au volant est de type résistif, sur deux fils. Le principe est simple, chaque fonction de la commande au volant (augmenter/diminuer le volume, changer de station, passer au morceau précédent/suivant, etc.) est transcrit en une résistance en ohms que l'autoradio interprète en fonction de sa valeur.<br />
<br />
Dans la mesure où mes connaissances en matière de développement Arduino sont égales à zéro, je recherche un membre qui pourrait m'assister (moyennant rétribution) dans la réalisation de cette interface. Toutefois, si je suis totalement novice en Arduino, je suis tout à fait à même de réaliser un circuit électronique (circuit imprimé, soudures, conectique, etc.).<br />
<br />
À votre disposition pour toute question ou précision,<br />
À très bientôt<br />
Etienne</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p674120d1770757345/general-developpement/programmation-systeme/embarque/arduino/assistance-realisation-interface-commandes-autoradio/sche-e-lectrique-swc-renault-2.jpeg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>Etienne899</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182035/general-developpement/programmation-systeme/embarque/arduino/assistance-realisation-interface-commandes-autoradio/</guid>
		</item>
		<item>
			<title><![CDATA[[Arduino ESP32] Erreur à compilation  esp_now_register_recv_cb(OnDataRecv)]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182006&amp;goto=newpost</link>
			<pubDate>Mon, 09 Feb 2026 10:27:49 GMT</pubDate>
			<description>Bonjour à tous , 
 
je...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous ,<br />
<br />
je sollicite votre aide pour cette erreur à compilation de mon sous-programme <br />
j'utilise la version ESP32 3.3.6  <br />
<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #808080; font-weight: bold;">/******************************************************/</span>
...\communication.cpp: In function <span style="color: #FF0000;">'</span><span style="color: #0000ff;">void</span> registerCallback<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: #FF0000;">'</span>:
.. communication.cpp:<span style="color: #cc66cc;">109</span>:<span style="color: #cc66cc;">28</span>: error: invalid conversion from <span style="color: #FF0000;">'</span><span style="color: #0000ff;">void</span> <span style="color: black;">&#40;</span>*<span style="color: black;">&#41;</span><span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint8_t</span>*, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint8_t</span>*, <span style="color: #0000ff;">int</span><span style="color: black;">&#41;</span><span style="color: #FF0000;">'</span> <span style="color: black;">&#123;</span>aka <span style="color: #FF0000;">'</span><span style="color: #0000ff;">void</span> <span style="color: black;">&#40;</span>*<span style="color: black;">&#41;</span><span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span>*, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span>*, <span style="color: #0000ff;">int</span><span style="color: black;">&#41;</span><span style="color: #FF0000;">'</span><span style="color: black;">&#125;</span> to <span style="color: #FF0000;">'</span>esp_now_recv_cb_t<span style="color: #FF0000;">'</span> <span style="color: black;">&#123;</span>aka <span style="color: #FF0000;">'</span><span style="color: #0000ff;">void</span> <span style="color: black;">&#40;</span>*<span style="color: black;">&#41;</span><span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> esp_now_recv_info*, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span>*, <span style="color: #0000ff;">int</span><span style="color: black;">&#41;</span><span style="color: #FF0000;">'</span><span style="color: black;">&#125;</span> <span style="color: black;">&#91;</span>-fpermissive<span style="color: black;">&#93;</span>
  <span style="color: #cc66cc;">109</span> |   esp_now_register_recv_cb<span style="color: black;">&#40;</span>OnDataRecv<span style="color: black;">&#41;</span>;
      |                            ^~~~~~~~~~
      |                            |
      |                            <span style="color: #0000ff;">void</span> <span style="color: black;">&#40;</span>*<span style="color: black;">&#41;</span><span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint8_t</span>*, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint8_t</span>*, <span style="color: #0000ff;">int</span><span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>aka <span style="color: #0000ff;">void</span> <span style="color: black;">&#40;</span>*<span style="color: black;">&#41;</span><span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span>*, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span>*, <span style="color: #0000ff;">int</span><span style="color: black;">&#41;</span><span style="color: black;">&#125;</span>
In file included from D:<span style="color: #800000;">\5</span>- ELECTRONIQUE\BatailleNavale\Battleship Computer With ESP32  WS2812 LED Stripe\Programme\EMETTEUR\Emetteur_V20260208a\communication.cpp:<span style="color: #cc66cc;">3</span>:
C:\Users\Utilisateur\AppData\Local\Arduino15\packages\esp32<span style="color: #800000;">\t</span>ools\esp32-arduino-libs\idf-release_v5.<span style="color: #cc66cc;">4</span>-<span style="color: #cc66cc;">2</span>f7dcd86-v1\esp32/include/esp_wifi/include/esp_now.h:<span style="color: #cc66cc;">159</span>:<span style="color: #cc66cc;">54</span>: note:   initializing argument <span style="color: #cc66cc;">1</span> of <span style="color: #FF0000;">'</span>esp_err_t esp_now_register_recv_cb<span style="color: black;">&#40;</span>esp_now_recv_cb_t<span style="color: black;">&#41;</span><span style="color: #FF0000;">'</span>
  <span style="color: #cc66cc;">159</span> | esp_err_t esp_now_register_recv_cb<span style="color: black;">&#40;</span>esp_now_recv_cb_t cb<span style="color: black;">&#41;</span>;
      |                                    ~~~~~~~~~~~~~~~~~~^~
&nbsp;
exit status <span style="color: #cc66cc;">1</span>
&nbsp;
Compilation error: invalid conversion from <span style="color: #FF0000;">'</span><span style="color: #0000ff;">void</span> <span style="color: black;">&#40;</span>*<span style="color: black;">&#41;</span><span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint8_t</span>*, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint8_t</span>*, <span style="color: #0000ff;">int</span><span style="color: black;">&#41;</span><span style="color: #FF0000;">'</span> <span style="color: black;">&#123;</span>aka <span style="color: #FF0000;">'</span><span style="color: #0000ff;">void</span> <span style="color: black;">&#40;</span>*<span style="color: black;">&#41;</span><span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span>*, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span>*, <span style="color: #0000ff;">int</span><span style="color: black;">&#41;</span><span style="color: #FF0000;">'</span><span style="color: black;">&#125;</span> to <span style="color: #FF0000;">'</span>esp_now_recv_cb_t<span style="color: #FF0000;">'</span> <span style="color: black;">&#123;</span>aka <span style="color: #FF0000;">'</span><span style="color: #0000ff;">void</span> <span style="color: black;">&#40;</span>*<span style="color: black;">&#41;</span><span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> esp_now_recv_info*, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span>*, <span style="color: #0000ff;">int</span><span style="color: black;">&#41;</span><span style="color: #FF0000;">'</span><span style="color: black;">&#125;</span> <span style="color: black;">&#91;</span>-fpermissive<span style="color: black;">&#93;</span>
&nbsp;
<span style="color: #808080; font-weight: bold;">/*******************************************/</span></pre></td></tr></table></code><hr />
</div>les recherches sur le net indiquent peut-être une cohérence avec la version IDF5.5 qui impose désormais, je crois, un fichier *tx_info en  lieu et place de * mac <br />
<a rel="nofollow" href="https://github.com/espressif/arduino-esp32/issues/11740" target="_blank">https://github.com/espressif/arduino-esp32/issues/11740</a><br />
c'est pourquoi je sollicite votre avis et comment faire pour rectifier cela à partir de ce programme<br />
si c'est cela en gros comment transformer l'adresse en txt car je n'ai pas bien compris l'exemple donné <br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #339933;">#include</span><span style="color: #FF0000;"> &lt;esp_now.h&gt;</span>
<span style="color: #339933;">#include</span><span style="color: #FF0000;"> &lt;WiFi.h&gt;</span>
&nbsp;
&nbsp;
<span style="color: #0000ff;">uint8_t</span> broadcastAddress<span style="color: black;">&#91;</span><span style="color: black;">&#93;</span> = <span style="color: black;">&#123;</span><span style="color: #cc66cc;">0xB0</span>, <span style="color: #cc66cc;">0xCB</span>, <span style="color: #cc66cc;">0xD8</span>, <span style="color: #cc66cc;">0xD6</span>, <span style="color: #cc66cc;">0x55</span>, <span style="color: #cc66cc;">0x78</span><span style="color: black;">&#125;</span>;
&nbsp;
&nbsp;
&nbsp;
<span style="color: #808080;">// callback when data is sent</span>
<span style="color: #0000ff;">void</span> OnDataSent<span style="color: black;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">uint8_t</span> *mac_addr, esp_now_send_status_t status<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>    <span style="color: #808080;">//&lt;=================</span>
  <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #800000;">\r</span><span style="color: #800000;">\n</span>Statut de l'envoi du dernier paquet:<span style="color: #800000;">\t</span>&quot;</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>status == ESP_NOW_SEND_SUCCESS<span style="color: black;">&#41;</span> <span style="color: black;">&#123;</span>
  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Envoi r&eacute;ussi&quot;</span><span style="color: black;">&#41;</span>;
  send_status_received = <span style="color: #0080ff;">true</span>;
  <span style="color: black;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: black;">&#123;</span>
    <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Echec de l'Envoi&quot;</span><span style="color: black;">&#41;</span>;
    send_status_received = <span style="color: #0080ff;">false</span>;
  <span style="color: black;">&#125;</span>
  <span style="color: #808080;">// Serial.println(status == ESP_NOW_SEND_SUCCESS ? &quot;Delivery Success&quot; : &quot;Delivery Fail&quot;);</span>
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>cobra38</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182006/general-developpement/programmation-systeme/embarque/arduino/erreur-compilation-esp_now_register_recv_cb-ondatarecv/</guid>
		</item>
		<item>
			<title><![CDATA[Impossible d'afficher l'écran de type LVGL sur ESP32-2432S028R]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181948&amp;goto=newpost</link>
			<pubDate>Thu, 05 Feb 2026 15:45:54 GMT</pubDate>
			<description>Bonjour à  tous , 
 
...</description>
			<content:encoded><![CDATA[<div>Bonjour à  tous ,<br />
<br />
<br />
J'aurai de toute votre maestria car je galère sur mon petit projet &quot;Touché Coulé&quot; honteusement inspiré de celui-ci : <br />
<a rel="nofollow" href="https://www.instructables.com/Battleship-Computer-With-ESP32-WS2812-LED-Stripe/" target="_blank">https://www.instructables.com/Battle...12-LED-Stripe/</a> <br />
<br />
Le principe en est simple :<br />
1x ESP32 par joueur ( Joueur 1 = Emetteur et joueur 2 = Récepteur ) pour jouer à distance à la bataille navale, un jeu en tour par tour qui, dans son élaboration fonctionne bien mais<br />
je souhaite lui rajouter un écran de &quot;validation&quot; supplémentaire après le choix de positionnement des navires <br />
<br />
le joueur N°1 ,par exemple , valide la position de ces navires pendant que le joueur 2 patiente, en entrant les coordonnées de A1 à H8 à partir des écrans 3 et 1 <br />
<br />
Ecran3 -&gt;&gt; Choix du placement Horizontal (H)  ou Vertical (V) puis Ecran1 -&gt;&gt; entrer des coordonnées de A à H puis 1 à 8    <br />
<br />
<br />
  setupShip(player, 0)<br />
   &#8595;<br />
    Écran 3 &#8594; bateau 1 validé<br />
   &#8595;<br />
  setupShip(player, 0)<br />
   &#8595;<br />
   Écran 3 &#8594; bateau 2 validé<br />
   &#8595;<br />
...<br />
   &#8595;<br />
   setupShip(player, 0)<br />
   &#8595;<br />
   Écran 3 &#8594; bateau 5 validé<br />
   &#8595;<br />
&#128293; loadScreen4() <br />
   <br />
    - &gt; si bouton = ok  =&gt; Ecran3 -&gt; player 1 <br />
<br />
    -&gt; si bouton = retrour =&gt; Ecran3 -&gt; player 0  <br />
<br />
<br />
<br />
et c'est après ce dernier placement que je souhaiterai y adjoindre un écran supplémentaire (screen4)  mais malheureusement cela ne fonctionne pas<br />
à la fin du placement l'écran reste figé en ligne 110 ( void setupShip(int playerIndex, int shipIndex) <br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #808080; font-weight: bold;">/*********************************************/</span>
<span style="color: #0000ff;">void</span> setupShip<span style="color: black;">&#40;</span><span style="color: #0000ff;">int</span> playerIndex, <span style="color: #0000ff;">int</span> shipIndex<span style="color: black;">&#41;</span>
<span style="color: black;">&#123;</span>
  Ship &amp;ship = players<span style="color: black;">&#91;</span>playerIndex<span style="color: black;">&#93;</span>.ships<span style="color: black;">&#91;</span>shipIndex<span style="color: black;">&#93;</span>;
&nbsp;
  <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Joueur &quot;</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span>playerIndex + <span style="color: #cc66cc;">1</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;, Configurer la taille du navire &quot;</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span>ship.size<span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span>getShipName<span style="color: black;">&#40;</span>shipIndex<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;: &quot;</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #808080;">// Obtenir des informations de l'utilisateur</span>
  <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Entrer l'orientation ('H' for Horizontal, 'V' for Vertical): &quot;</span><span style="color: black;">&#41;</span>;
&nbsp;
  <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>playerIndex == <span style="color: #cc66cc;">0</span><span style="color: black;">&#41;</span>
  <span style="color: black;">&#123;</span>
&nbsp;
    <span style="color: #808080;">// Demandez au joueur 2 d'attendre.</span>
    <span style="color: #808080;">// sendMessage(&quot;show_text&quot;, waiting_player1);</span>
&nbsp;
    <span style="color: #808080;">// &Eacute;cran d'orientation de la charge</span>
    loadScreen3<span style="color: black;">&#40;</span>getShipName<span style="color: black;">&#40;</span>shipIndex<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>;
    <span style="color: #808080;">// attendre la saisie de l'utilisateur</span>
    <span style="color: #0000ff;">while</span> <span style="color: black;">&#40;</span><span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span>
    <span style="color: black;">&#123;</span>
      <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>orientation == <span style="color: #FF0000;">'H'</span> || orientation == <span style="color: #FF0000;">'V'</span><span style="color: black;">&#41;</span>
      <span style="color: black;">&#123;</span>
        <span style="color: #808080;">// set ship orientation after input received</span>
        ship.orientation = orientation;
        <span style="color: #0000ff;">break</span>;
      <span style="color: black;">&#125;</span>
&nbsp;
      lv_task_handler<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">/* laissez l'interface graphique faire son travail */</span>
      lv_tick_inc<span style="color: black;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: black;">&#41;</span>;    <span style="color: #808080;">/* indiquez &agrave; LVGL combien de temps s'est &eacute;coul&eacute; */</span>
      <span style="color: #0080ff;">delay</span><span style="color: black;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: black;">&#41;</span>;          <span style="color: #808080;">/* laisser passer ce moment */</span>
    <span style="color: black;">&#125;</span>
&nbsp;
    <span style="color: #808080;">// Effacer l'&eacute;cran et l'orientation</span>
    orientation = <span style="color: #FF0000;">'X'</span>;
    clearScreen<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
&nbsp;
    <span style="color: #808080;">// load coordinate screen</span>
    loadScreen1<span style="color: black;">&#40;</span>getShipName<span style="color: black;">&#40;</span>shipIndex<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>;
    <span style="color: #808080;">// screen_loop();</span>
&nbsp;
    <span style="color: #808080;">// obtenir les coordonn&eacute;es saisies par l'utilisateur</span>
    <span style="color: #0000ff;">while</span> <span style="color: black;">&#40;</span><span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span>
    <span style="color: black;">&#123;</span>
&nbsp;
      lv_task_handler<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; <span style="color: #808080;">/* let the GUI do its work */</span>
      lv_tick_inc<span style="color: black;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: black;">&#41;</span>;    <span style="color: #808080;">/* tell LVGL how much time has passed */</span>
      <span style="color: #0080ff;">delay</span><span style="color: black;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: black;">&#41;</span>;          <span style="color: #808080;">/* let this time pass */</span>
&nbsp;
      <span style="color: #808080;">// Length of coordinates not longer then 2; first character must be alpha; second character must be numeric; (if third character is 0 then 2nd char must be 1 (because only 0 is allowed e.g. A10)) or length =2, so e.g. B7</span>
      <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>coordinates.length<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> == <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>
      <span style="color: black;">&#123;</span>
        ship.startX = coordinates<span style="color: black;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: black;">&#93;</span> - <span style="color: #FF0000;">'A'</span>;
        ship.startY = <span style="color: #cc66cc;">0</span>;
        <span style="color: #0000ff;">for</span> <span style="color: black;">&#40;</span><span style="color: #0000ff;">size_t</span> i = <span style="color: #cc66cc;">1</span>; i &lt; coordinates.length<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>; ++i<span style="color: black;">&#41;</span>
        <span style="color: black;">&#123;</span>
          <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>isdigit<span style="color: black;">&#40;</span>coordinates<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
          <span style="color: black;">&#123;</span>
            <span style="color: #808080;">//ship.startY = ship.startY * 10 + (coordinates[i] - '0');</span>
		      	ship.startY = ship.startY * <span style="color: #cc66cc;">8</span> + <span style="color: black;">&#40;</span>coordinates<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span> - <span style="color: #FF0000;">'0'</span><span style="color: black;">&#41;</span>;
          <span style="color: black;">&#125;</span>
          <span style="color: #0000ff;">else</span>
          <span style="color: black;">&#123;</span>
            <span style="color: #808080;">// G&eacute;rer les caract&egrave;res non num&eacute;riques dans la partie num&eacute;rique</span>
            <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Entr&eacute;e non valide. Veuillez saisir au format &laquo; A1 &raquo; &agrave; &laquo; H8 &raquo;&quot;</span><span style="color: black;">&#41;</span>;
            <span style="color: #0000ff;">return</span>;
          <span style="color: black;">&#125;</span>
        <span style="color: black;">&#125;</span>
        ship.startY -= <span style="color: #cc66cc;">1</span>; <span style="color: #808080;">// Adjust for 0-based indexing</span>
        <span style="color: #0000ff;">break</span>;
      <span style="color: black;">&#125;</span>
    <span style="color: black;">&#125;</span>
    <span style="color: #808080;">// Effacer l'&eacute;cran</span>
    clearScreen<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
  <span style="color: black;">&#125;</span>
&nbsp;
  <span style="color: #0080ff;">delay</span><span style="color: black;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Coordonn&eacute;es X du navire : &quot;</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span>ship.startX<span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">Serial</span>.print<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Coordonn&eacute;es Y du navire : &quot;</span><span style="color: black;">&#41;</span>;
  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span>ship.startY<span style="color: black;">&#41;</span>;
  <span style="color: #808080;">// Effacer l'&eacute;cran et les coordonn&eacute;es</span>
  clearScreen<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;
  coordinates = <span style="color: #FF0000;">&quot;&quot;</span>;
&nbsp;
  <span style="color: #808080;">// Placer le navire sur le champ de bataille du joueur</span>
  <span style="color: #0000ff;">for</span> <span style="color: black;">&#40;</span><span style="color: #0000ff;">int</span> i = <span style="color: #cc66cc;">0</span>; i &lt; ship.size; ++i<span style="color: black;">&#41;</span>
  <span style="color: black;">&#123;</span>
    <span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>ship.orientation == <span style="color: #FF0000;">'H'</span><span style="color: black;">&#41;</span>
    <span style="color: black;">&#123;</span>
      players<span style="color: black;">&#91;</span>playerIndex<span style="color: black;">&#93;</span>.battlefield<span style="color: black;">&#91;</span>ship.startX + i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span>ship.startY<span style="color: black;">&#93;</span> = <span style="color: #FF0000;">'S'</span>;
      lightSetup<span style="color: black;">&#40;</span>ship.startX + i, ship.startY<span style="color: black;">&#41;</span> ; 
      <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Navire plac&eacute; &agrave; l'horizontale&quot;</span><span style="color: black;">&#41;</span>;
    <span style="color: black;">&#125;</span>
    <span style="color: #0000ff;">else</span>
    <span style="color: black;">&#123;</span>
      players<span style="color: black;">&#91;</span>playerIndex<span style="color: black;">&#93;</span>.battlefield<span style="color: black;">&#91;</span>ship.startX<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span>ship.startY + i<span style="color: black;">&#93;</span> = <span style="color: #FF0000;">'S'</span>;
      lightSetup<span style="color: black;">&#40;</span>ship.startX, ship.startY+i<span style="color: black;">&#41;</span> ;
      <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;Navire plac&eacute; &agrave; la verticale&quot;</span><span style="color: black;">&#41;</span>;
    <span style="color: black;">&#125;</span>
  <span style="color: black;">&#125;</span>
  <span style="color: #0080ff;">Serial</span>.println<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;---Fin Placement---&quot;</span><span style="color: black;">&#41;</span>;  
  clearScreen<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;  
  loadScreen4<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>;   <span style="color: #808080;">//&lt;==========================================</span>
&nbsp;
<span style="color: black;">&#125;</span></pre></td></tr></table></code><hr />
</div><br />
je joins donc le programme de test.zip composé de  :<br />
<br />
 - programme<b> Emetteur_V20260128c.ino</b> principal<br />
 - programme <b>battleship.h</b><br />
 - programme <b>display_functions.cpp</b><br />
 - programme <b>led.cpp</b><br />
<br />
<br />
Mille et un mercis par avance<br />
pascal</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/zip.gif" alt="Type de fichier : zip" />
	<a href="https://www.developpez.net/forums/attachments/p673969d1770306262/general-developpement/programmation-systeme/embarque/arduino/impossible-d-afficher-l-ecran-type-lvgl-esp32-2432s028r/test.zip/">test.zip</a> 
(7,9 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>cobra38</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181948/general-developpement/programmation-systeme/embarque/arduino/impossible-d-afficher-l-ecran-type-lvgl-esp32-2432s028r/</guid>
		</item>
		<item>
			<title><![CDATA[Modification d'un registre]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181626&amp;goto=newpost</link>
			<pubDate>Wed, 21 Jan 2026 09:18:31 GMT</pubDate>
			<description>salut a toutes et tous, 
mon...</description>
			<content:encoded><![CDATA[<div>salut a toutes et tous,<br />
mon niveau est débutant sans experience en arduino<br />
<br />
je cherche a savoir comment modifier un registre arduino uno qui a deja été charger en memoire<br />
exemple :<br />
registers[6] =  {0x4580A8, 0x80080C9, 0x4E42, 0x4B3, 0xBC8054, 0x580005} ;<br />
<br />
je souhaite modifier une des 6 valeurs c'est la valeurs 4 sur (registre 6 valeurs de 0 a 5)<br />
<br />
dans un Switch je déclare ma modif avec d'autre fonction avant et l'autre fonction &quot;&quot;&quot;fonctionne &quot;&quot;&quot;<br />
pour registers j'ai bien tenté QQ chose comme sa : <br />
uint32_t registers[4] =  &quot;0xBC803C&quot; ;<br />
ou de redeclaré dans mon Switch :<br />
uint32_t registers[6] =  {0x4580A8, 0x80080C9, 0x4E42, 0x4B3, <b>0xBC803C</b>, 0x580005} ;<br />
mais cela reste carément inerte ?<br />
il doit surement QQ chose que je fait mal ou tres mal ou qui manque<br />
auriez vous cette connaissance ou auriez vous un bout de code commenté que je puisse comprendre comment modifier cette valeur dans la memoire deja chargé de mon arduino uno <br />
une commande Write peut ètre ? <br />
<br />
cordialement Alain</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f2094/general-developpement/programmation-systeme/embarque/arduino/">Arduino</category>
			<dc:creator>f4dcd</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181626/general-developpement/programmation-systeme/embarque/arduino/modification-d-registre/</guid>
		</item>
	</channel>
</rss>
