<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>M.D-L, Auteur à PlaisirArduino</title>
	<atom:link href="https://plaisirarduino.fr/author/manuel/feed/" rel="self" type="application/rss+xml" />
	<link>https://plaisirarduino.fr/author/manuel/</link>
	<description></description>
	<lastBuildDate>Mon, 06 Sep 2021 08:10:46 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Clavier d&#8217;écran tactile NEXTION.</title>
		<link>https://plaisirarduino.fr/clavier-ecran-tactile-nextion/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Mon, 06 Sep 2021 08:10:45 +0000</pubDate>
				<category><![CDATA[Intermédiaire]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=3750</guid>

					<description><![CDATA[<p>Le but de ce projet est de vous donner les outils utiles afin de réaliser de la saisi de données sur un écran tactile NEXTION. Nous aborderons également la construction et programmation d'un clavier d'écran tactile avec l'éditeur NEXTION. Avant propos - Clavier d'écran tactile. L’intérêt principale d'un écran tactile &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/clavier-ecran-tactile-nextion/">Clavier d&rsquo;écran tactile NEXTION.</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Le but de ce projet est de vous donner les outils utiles afin de <strong>réaliser de la saisi de données s</strong>ur <strong>un écran tactile NEXTION.</strong> Nous aborderons également la <strong>construction </strong>et <strong>programmation </strong>d'un clavier d'écran tactile avec l'éditeur <strong>NEXTION</strong>.</p>



<h2 class="wp-block-heading" id="h-avant-propos-clavier-d-cran-tactile">Avant propos - <strong>Clavier d'écran tactile</strong>.</h2>



<p class="wp-block-paragraph">L’intérêt principale d'un écran tactile est de <strong>retourner</strong>,<strong> par un visuel graphique</strong>, <strong>des données système sur son état actuel</strong> de marche, arrêt, température, vitesse, niveau, débit et bien d'autres.<br>Mais également, <strong>d'offrir aussi</strong> <strong>la possibilité</strong> à l'utilisateur lambda <strong>d'agir sur le système en</strong> <strong>appuyant sur un bouton</strong>, en faisan un <strong>slide curseur </strong>ou bien de <strong>saisir </strong>puis <strong>charger </strong>des valeurs de données.<br><br>Sur un écran tactile il existe, à première vue, plusieurs façons d'<strong>agir ou transmettre des données à un système.</strong><br>Mais ce qui nous intéresse ici c'est la <strong>saisie </strong>puis le <strong>chargement </strong>de <strong>données</strong>. <br>Nous allons donc <strong>concevoir un petit formulaire doté d'un clavier d'écran tactile alphanumérique </strong>capable de <strong>saisir des données pour ensuite les charger </strong>à l'endroit de notre choix.</p>



<p class="wp-block-paragraph"><em>Nous ne nous attarderons pas sur comment <strong>crée un  projet</strong>, l<strong>e mettre en forme </strong>et les divers manipulations des <strong>composants , variables </strong>et <strong>événement tactiles&nbsp;</strong>au cours du tutoriel étant donné que nous l'avons fait au tutoriel "<strong><span class="has-inline-color has-vivid-cyan-blue-color"><span style="text-decoration: underline;">NEXTION editor "</span></span></strong>.<br>Par ailleurs pour ceux qui n’aurait pas chargé l'éditeur vous le trouverez via le lien ci-dessous.<br><a href="https://nextion.itead.cc/resources/download/nextion-editor/">https://nextion.itead.cc/resources/download/nextion-editor/</a><a href="https://plaisirarduino.fr/telechargement-des-codes-de-plaisirarduino/">https:</a></em></p>



<h2 class="wp-block-heading" id="h-le-projet-du-clavier-d-cran-tactile"><span style="text-decoration: underline;"><strong>Le projet</strong> du clavier d'écran tactile</span>.</h2>



<p class="wp-block-paragraph">Dans un premier temps nous <strong>affichons une page d'accueil nommée "<strong>Données</strong>"</strong> <strong>qui présente deux données</strong>. L'une de type "<strong>numérique</strong>" et l'autre de type "<strong>texte</strong>"<strong>.</strong><br>Puis dans le second temps nous <strong>affichons</strong> <strong>une seconde page nommée "Clavier" </strong>qui permettra la <strong>saisie </strong>et le <strong>chargement </strong>des données.</p>



<p class="wp-block-paragraph">Pour commencer <strong>créons la première page</strong> avec les <strong>deux composants utiles à nos données</strong> avec un <strong>bouton </strong>nommée "<strong>SAISI</strong>" permettant de passer au formulaire de saisi.</p>



<figure class="wp-block-image size-large"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-accueil.png"><img fetchpriority="high" decoding="async" width="802" height="485" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-accueil.png" alt="Aperçu de la page d'accueil avec les composant en place.
Clavier d'écran tactile" class="wp-image-4702" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-accueil.png 802w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-accueil-300x181.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-accueil-768x464.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-accueil-700x423.png 700w" sizes="(max-width: 802px) 100vw, 802px" /></a><figcaption>Page d'accueil</figcaption></figure>



<p class="wp-block-paragraph">Ensuite <strong>créons la seconde page</strong> qui vas contenir notre <strong>formulaire </strong>de saisi avec le <strong>clavier d'écran tactile</strong> <strong>NEXTION</strong>.<br>Mais tout d'abord attardons nous aux <strong>fonctionnalités attendus lors d'une saisi de données.</strong></p>



<h4 class="wp-block-heading" id="h-les-fonctionnalit-s-souhait-d-une-saisi"><span style="text-decoration: underline;"><strong>Les fonctionnalités</strong> souhaité d'une saisi.</span></h4>



<p class="wp-block-paragraph">Premièrement, la possibilité de <strong>visionner la valeur</strong> <strong>en cours de saisi.</strong><br>Deuxièmement, de <strong>saisir une donnée</strong> ce qui implique l'emploie d'un <strong><strong>Clavier</strong></strong> <strong>alphanumérique</strong>.<br>Troisièmement, la possibilité d'<strong>effacer tour à tour la dernière saisi ou les saisis complète.</strong><br>Quatrièmement, avoir la possibilité de <strong>sélectionner la saisi</strong> <strong>souhaité à charger.</strong></p>



<h5 class="wp-block-heading" id="h-les-composants-utiles-la-saisi-tactile"><span style="text-decoration: underline;"><strong>Les composants utiles </strong>à la saisi tactile.</span></h5>



<p class="wp-block-paragraph">Pour <strong>visualiser les données</strong> à saisir plaçons <strong>deux composants d'affichages</strong>. L'un de <strong>texte </strong>et l'autre <strong>numérique</strong>.<br>Ajoutons également <strong>deux boutons</strong> nommée "<strong>&lt;= Eff</strong>" pour <strong>effacer la saisi en cours</strong>.<br>En plus de cela ajoutons aussi <strong>deux boutons radio</strong> pour <strong>valider au choix le chargement des données</strong> renseignées.<br>Et pour finir un <strong>bouton "OK"</strong> qui <strong>charge le ou les données</strong> et passe à l'<strong>action suivante</strong> de retour à la page d'accueil.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" width="512" height="93" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Clavier-NEXTION-Zone-de-saisi.png" alt="Aperçu de la zone de saisi avec les composants en place.
Clavier d'écran tactile." class="wp-image-3873" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Clavier-NEXTION-Zone-de-saisi.png 512w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Clavier-NEXTION-Zone-de-saisi-300x54.png 300w" sizes="(max-width: 512px) 100vw, 512px" /></figure></div>



<p class="wp-block-paragraph">Pour saisir des données il nous faut donc un <strong>clavier alphanumérique. Ce dernier </strong>on vas le créer <strong>à l'aide de composants boutons.</strong></p>



<h5 class="wp-block-heading" id="h-les-composants-utiles-au-clavier-d-cran-tactile"><span style="text-decoration: underline;"><strong>Les composants utiles</strong> au clavier d'écran tactile.</span></h5>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" width="800" height="343" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Clavier-NEXTION-Clavier.png" alt="Aperçu du clavier d'écran tactile. Clavier alphanumérique azerty créer avec des composant boutons." class="wp-image-3872" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Clavier-NEXTION-Clavier.png 800w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Clavier-NEXTION-Clavier-300x129.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Clavier-NEXTION-Clavier-768x329.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Clavier-NEXTION-Clavier-700x300.png 700w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption>Clavier alphanumérique</figcaption></figure></div>



<h6 class="wp-block-heading" id="h-la-mise-en-forme-du-clavier-d-cran-tactile"><strong><span style="text-decoration: underline;">La mise en forme du clavier d'écran tactile</span>.</strong></h6>



<p class="wp-block-paragraph">Premièrement <strong>dimensionnons </strong>à notre convenance <strong>un boutons</strong> <strong>standard puis ensuite </strong>par un copié collé <strong>dupliquons le</strong>.</p>



<div class="wp-block-image"><figure class="alignleft"><img loading="lazy" decoding="async" width="205" height="71" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/05-Clavier-NEXTION-Boutons-alignement-attribute-1.png" alt="Aperçu du volet &quot;ATTRIBUTE&quot; et des paramètres  X et Y." class="wp-image-3900"/></figure></div>



<p class="wp-block-paragraph">Deuxièmement<strong>, </strong>grâce aux paramètres de positionnements "<strong>X</strong>" et "<strong>Y</strong>" du volet "<strong>Attribute</strong>" <strong>alignons les boutons</strong> entres eux.</p>



<p class="wp-block-paragraph">Pour cela, en fonction la <strong>largeur "A"</strong> du bouton standard et de <strong>l'écart "B" </strong>souhaité nous <strong>obtenons le pas "C" de positions</strong> sur l'axe "X".<br>Donc en<strong> ajoutant l'écart total mesuré </strong>nous obtenons le positionnement de chaque bouton<strong> sur l'axe "X".</strong><br>Suivant l'exemple ci dessous le prochain bouton (1) se positionnera à 78. Et ainsi de  suite pour les autres. (0+78 = 78 +78 = 156 + 78 =234 + ...)</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/04-Clavier-NEXTION-Boutons-alignement-1.png" alt="Aperçu des espaces de positionnement de deux boutons entre eux." class="wp-image-3958" width="302" height="299" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/04-Clavier-NEXTION-Boutons-alignement-1.png 535w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/04-Clavier-NEXTION-Boutons-alignement-1-150x150.png 150w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/04-Clavier-NEXTION-Boutons-alignement-1-300x298.png 300w" sizes="auto, (max-width: 302px) 100vw, 302px" /></figure></div>



<p class="wp-block-paragraph">Nous obtenons ainsi une <strong>ligne de boutons</strong> parfaitement aligné que nous pouvons a son tour <strong>copier et coller plus bas pour la réalisation de chaque ligne </strong>de notre clavier alphabétique.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="782" height="74" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Clavier-NEXTION-alignement-ligne-boutons.png" alt="Aperçu d'une ligne de boutons de 0 à 9. Clavier d'écran tactile." class="wp-image-3899" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Clavier-NEXTION-alignement-ligne-boutons.png 782w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Clavier-NEXTION-alignement-ligne-boutons-300x28.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Clavier-NEXTION-alignement-ligne-boutons-768x73.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Clavier-NEXTION-alignement-ligne-boutons-700x66.png 700w" sizes="auto, (max-width: 782px) 100vw, 782px" /></figure></div>



<p class="wp-block-paragraph">Pour <strong>l'alignement en hauteur</strong> de nos ligne de boutons répétons l'opération précédente mais<strong> sur l'axe "Y" avec une ligne de boutons.</strong><br>Nous faisons ensuite l<strong>'identification des boutons</strong> suivant leurs fonctions.<br>Pour finir<strong> plaçons les boutons "Espace" et "clear"</strong>.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="816" height="498" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/03-Clavier-NEXTION-Clavier-totale.png" alt="Aperçu du clavier d'écran tactile. Notre interface de saisi." class="wp-image-3889" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/03-Clavier-NEXTION-Clavier-totale.png 816w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/03-Clavier-NEXTION-Clavier-totale-300x183.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/03-Clavier-NEXTION-Clavier-totale-768x469.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/03-Clavier-NEXTION-Clavier-totale-268x164.png 268w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/03-Clavier-NEXTION-Clavier-totale-700x427.png 700w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure></div>



<p class="wp-block-paragraph">Notre clavier d'écran tactile de saisis est graphiquement prête et nous pouvons à présent passer à la programmation de la saisi.</p>



<h4 class="wp-block-heading" id="h-gestion-de-la-saisi"><strong><span style="text-decoration: underline;">Gestion de la saisi.</span></strong></h4>



<p class="wp-block-paragraph">Avant toute choses il faut penser à <strong>la grandeur numérique ou alphabétique des données</strong> utiles à saisir dans notre systèmes.<br>"<strong>t0</strong>" est <strong>configuré </strong>pour n'accepter que <strong>10 caractères</strong>. "<strong>n0</strong>" ne peut pas dépasser -2147483648 à 2147483647 bits par conséquent de <strong>ne pas dépasser la valeur de 999 999 999</strong>.<br>Il faut donc <strong>conditionner le composant de lettres&nbsp;</strong>sur <strong>dix </strong>(10) lettres et <strong>le composant</strong> <strong>de nombre</strong> <strong>sur neuf </strong>(9) <strong>chiffres</strong>.</p>



<h5 class="wp-block-heading" id="h-saisis-des-caract-res-alphab-tiques"><span style="text-decoration: underline;">Saisis des caractères alphabétiques.</span></h5>



<p class="wp-block-paragraph">En toute logique <strong>les chaines de caractères saisis se succèdent</strong> ce qui reviens donc à faire de la<em> <a href="https://fr.wikipedia.org/wiki/Concat%C3%A9nation">concaténation</a>.</em><br>Pour la programmation nous utilisons la <strong>Variables système numériques</strong> <strong>"sys1"</strong>, de nature <strong>globale</strong>, <strong>temporaires </strong>et <strong>fourni par l'éditeur</strong>. Elles n’ont <strong>pas besoin d’être déclaré </strong>et peuvent être <strong>lus ou écrits de n’importe quelle page.</strong> Entiers signés 32 bits. </p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="486" height="71" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/09-Clavier-NEXTION-Programme-sys.png" alt="Aperçu des Variables système numériques du clavier d'écran tactile." class="wp-image-3930" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/09-Clavier-NEXTION-Programme-sys.png 486w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/09-Clavier-NEXTION-Programme-sys-300x44.png 300w" sizes="auto, (max-width: 486px) 100vw, 486px" /></figure></div>



<p class="wp-block-paragraph">Nous <strong>conditionnons </strong>donc <strong>l'exécutions </strong>de la saisi alphabétique avec cette variable "<strong>sys1</strong>".<br>voyez l'exemple ci dessous avec la lettre "a".</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-a.png"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-a.png" alt="Aperçu du programme du bouton &quot;A&quot;' du clavier d'écran tactile." class="wp-image-4713" width="791" height="121" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-a.png 517w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-a-300x46.png 300w" sizes="auto, (max-width: 791px) 100vw, 791px" /></a></figure></div>



<p class="wp-block-paragraph">Finalement il ne reste plus qu'a <strong>copier puis ajuster ce programme pour les autres boutons alphabétiques.</strong><br>Une fois cela fait passons à la <strong>saisi des chiffres</strong> avec le<strong> clavier</strong> d'écran tactile </p>



<h5 class="wp-block-heading" id="h-saisi-des-caract-res-num-riques"><strong><span style="text-decoration: underline;">Saisi des caractères numériques.</span></strong></h5>



<p class="wp-block-paragraph">Pour la saisi des <strong>caractères numériques</strong> ou chiffres c'est différent. <br>Effectivement si on exécute le même principe de programmation que pour les lettres.<br>Le compilateur vas plutôt additionner les chiffres et notre<strong> </strong>saisi ne sera pas fidèle.<br><br>Nous partons donc du principe que <strong>chaque saisi de chiffres correspond tour à tour à une unité, dizaine, centaine, millier et ainsi de suite.</strong> Ce qui reviens à <strong>multiplier par dix la valeur <strong>de saisis</strong> actuelle</strong> pour <strong>l'additionner la prochaine saisi.</strong></p>



<p class="wp-block-paragraph">Pour la programmation nous utilisons la <strong>Variables système numériques</strong> <strong>"sys0"</strong>.<br>Voyez cela dans l'exemple ci dessous avec le chiffre un (1).</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-1.png"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-1.png" alt="Aperçu du programme d'une saisi numérique du clavier d'écran tactile." class="wp-image-4717" width="792" height="167" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-1.png 542w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-1-300x63.png 300w" sizes="auto, (max-width: 792px) 100vw, 792px" /></a></figure></div>



<p class="wp-block-paragraph">Bravos, à ce stade vous êtes <strong>en mesure de saisir des valeurs de données</strong> numériques et alphabétiques.<br>Mais qu'en est il en cas d'erreur ? </p>



<h5 class="wp-block-heading" id="h-effacement-d-une-saisi-alphab-tique"><strong><span style="text-decoration: underline;">Effacement d'une saisi alphabétique.</span></strong></h5>



<p class="wp-block-paragraph">Tout comme pour ajouter une lettre, <strong>pour en effacer une</strong>, il suffis de la <strong>retirer en faisant une soustraction</strong> par "<strong>-1</strong>" à la valeur actuel.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-eff_text.png"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-eff_text.png" alt="Aperçu du programme du bouton &quot;EFF&quot; des saisi alphabétique. Clavier d'écran tactile." class="wp-image-4719" width="648" height="164" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-eff_text.png 312w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-eff_text-300x76.png 300w" sizes="auto, (max-width: 648px) 100vw, 648px" /></a></figure></div>



<h5 class="wp-block-heading" id="h-effacement-d-une-saisi-num-rique"><strong><span style="text-decoration: underline;">Effacement d'une saisi numérique.</span></strong></h5>



<p class="wp-block-paragraph">Ensuite pour les chiffres nous exploitons le fait que <strong>la zone de saisi numérique n'admet pas les nombre décimale.</strong> Par conséquent en faisant <strong>une division par 10</strong> de la valeur actuelle elle vas <strong>retirer la dernier saisi </strong>.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-Efface-chiffre.png"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-Efface-chiffre.png" alt="Aperçu du bouton effacement de saisi numérique nommée &quot;EFF&quot;." class="wp-image-4720" width="757" height="168" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-Efface-chiffre.png 383w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-Efface-chiffre-300x67.png 300w" sizes="auto, (max-width: 757px) 100vw, 757px" /></a></figure></div>



<h5 class="wp-block-heading" id="h-effacer-toutes-les-saisis"><strong><span style="text-decoration: underline;">Effacer toutes les saisis.</span></strong></h5>



<p class="wp-block-paragraph">Maintenant pour <strong>effacer toutes les saisis</strong> nous utilisons bien-sur le <strong>boutons </strong>"<strong>Clear</strong>". <br>Sa programmation consiste donc à <strong>initialiser à </strong>zéro (0) toutes les donnée des <strong>variables utiles </strong>aux traitement de la saisi.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="774" height="124" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/12-Clavier-NEXTION-Programme-Clear-1.png" alt="Aperçu de la programmation du bouton effacement générale nommée &quot;CLEAR&quot;." class="wp-image-3942" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/12-Clavier-NEXTION-Programme-Clear-1.png 774w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/12-Clavier-NEXTION-Programme-Clear-1-300x48.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/12-Clavier-NEXTION-Programme-Clear-1-768x123.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/12-Clavier-NEXTION-Programme-Clear-1-700x112.png 700w" sizes="auto, (max-width: 774px) 100vw, 774px" /></figure></div>



<p class="wp-block-paragraph">A cette étape de notre projet, nous pouvons corriger nos saisis à volonté. Voyons donc la possibilité de les sélectionner pour valider leurs chargement vers le système.</p>



<h4 class="wp-block-heading" id="h-s-lection-d-une-zone-de-saisis"><strong><span style="text-decoration: underline;">Sélection d'une zone de saisis.</span></strong></h4>



<p class="wp-block-paragraph">Pour <strong>sélectionner la donnée</strong> que l'on souhaite charger nous avons intégrons deux <strong>boutons radio. Paramétrés à</strong> <strong>zéro </strong>(0) depuis le volet "Attribue" sur en "val" = 0 .</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/13-Clavier-NEXTION-Programme-bouton-radio.png" alt="Aperçu d'un bouton radio." class="wp-image-3943" width="80" height="85"/></figure></div>



<p class="wp-block-paragraph">Ils nous permettent de <strong>sélection la ou les données souhaitées </strong>dans notre système.<br>Chaque <strong>bouton radio est affecté à une zone de saisi</strong>. La validation de nos saisis est donc conditionné par l'<strong>état zéro, faux ou un, vrais du bouton radio</strong>.</p>



<p class="wp-block-paragraph">La <strong>saisis de nos données faites,</strong> nous pouvons finalement les <strong>valider</strong>. C'est la fin de notre saisis.</p>



<h4 class="wp-block-heading" id="h-fin-de-saisi"><strong><span style="text-decoration: underline;">Fin de saisi.</span></strong></h4>



<p class="wp-block-paragraph">Comme vous le comprenez déjà c'est <strong>Lors d'un appuie sur le boutons "OK"</strong> <strong>que l'on charge la ou les valeurs saisi</strong> vers les composants de la page d'accueil pour ensuite l'afficher.<br>Mais n’oublions pas aussi d'<strong>initialiser les variables, systèmes "<strong>sys0</strong>" et "<strong>sys1</strong>"</strong>, <strong>de traitement</strong> de la saisi.<br>Voyez l'exemple ci dessous.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-OK-2.png"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-OK-2.png" alt="Aperçu du programme au bouton &quot;OK&quot;" class="wp-image-4726" width="751" height="311" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-OK-2.png 502w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Clavier-bouton-OK-2-300x124.png 300w" sizes="auto, (max-width: 751px) 100vw, 751px" /></a></figure></div>



<p class="wp-block-paragraph">Nous y voila la saisis est terminé. Nous sommes<strong> capable de saisir des données grâce à un clavier d'écran tactile NEXTION <strong>alphanumérique</strong>.</strong><br><br>Mais nous souhaitons aller plus loin.<br>Maintenant que l'aspect fonctionnel du <strong>clavier d'écran tactile NEXTION</strong> est en place. Nous lui avons apporté une <strong>mise en style plus agréable au visuel.</strong></p>



<h2 class="wp-block-heading" id="h-mise-en-style-de-cran-tactile-nextion"><strong><span style="text-decoration: underline;">Mise en style de <strong>écran tactile NEXTION</strong>.</span></strong></h2>



<p class="wp-block-paragraph">En vous aidant du tutoriel <span style="text-decoration: underline;"><span class="has-inline-color has-vivid-cyan-blue-color">"Écran tactile NEXTION" </span></span>et d'un logiciel de dessin, voyez l'aperçus de ce qu'il vous est <strong>possible de réaliser.</strong></p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="810" height="488" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/15-Clavier-NEXTION-Clavier-aperçu-finale-2.png" alt="Aperçu de l'écran tactile NEXTION stylisé." class="wp-image-3950" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/15-Clavier-NEXTION-Clavier-aperçu-finale-2.png 810w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/15-Clavier-NEXTION-Clavier-aperçu-finale-2-300x181.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/15-Clavier-NEXTION-Clavier-aperçu-finale-2-768x463.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/04/15-Clavier-NEXTION-Clavier-aperçu-finale-2-700x422.png 700w" sizes="auto, (max-width: 810px) 100vw, 810px" /><figcaption>Trouvez ce clavier en bonus dans le programme "Clavierv2"</figcaption></figure></div>



<p class="has-text-align-center wp-block-paragraph"><strong>Votre imagination est sans limites</strong> ! Avec des images graphiques ou photos vous <strong>pouvez réaliser bien plus que cela</strong> !<br>Pour notre projet exemple nous utilisons des composants NEXTION en <strong>exploitation de saisi</strong>. Mais finalement, comme par exemple, le but est d<strong>'envoyer la donnée saisi vers </strong>une carte ARDUINO qui pilote une système.</p>



<h3 class="has-text-align-center wp-block-heading" id="h-bravos"><strong>BRAVOS!</strong></h3>



<p class="has-text-align-center wp-block-paragraph">Vous connaissez les bases pour <strong>réaliser une interface de saisi </strong>de données. <br><em><a aria-label="Téléchargez le programme (opens in a new tab)" rel="noreferrer noopener" href="https://plaisirarduino.fr/telechargement/" target="_blank">Téléchargez le programme</a></em> et <strong>amusez vous</strong> à l'intégrer à vos projets et à en <strong>améliorer ces fonctionnalités</strong>.<br><br>Merci de votre lecture et à bientôt !<br><br><a href="https://plaisirarduino.fr/"><em>PLAISIR ARDUINO.</em>fr</a></p>
<p>Cet article <a href="https://plaisirarduino.fr/clavier-ecran-tactile-nextion/">Clavier d&rsquo;écran tactile NEXTION.</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>NEXTION EDITOR l&#8217;éditeur pour écran tactile.</title>
		<link>https://plaisirarduino.fr/nextion-ecran-tactile-editeur/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Mon, 06 Sep 2021 08:09:48 +0000</pubDate>
				<category><![CDATA[Intermédiaire]]></category>
		<category><![CDATA[NEXTION EDITOR]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=3598</guid>

					<description><![CDATA[<p>Le but de ce tutoriel est de vous aiguiller étape après étapes dans l'utilisation de l'éditeur NEXTION et de ses composants pour la mise en forme de pages d'écran tactile. Le matériel. Écran tactile NEXTION et son alimentation 5V.Avoir une carte micro SD formaté en FAT32.Télécharger et installer l'éditeur logiciel &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/nextion-ecran-tactile-editeur/">NEXTION EDITOR l&rsquo;éditeur pour écran tactile.</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-accueil-resized.png"><img loading="lazy" decoding="async" width="488" height="308" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-accueil-resized.png" alt="Vue de face d'un écran tactile de marque NEXTION." class="wp-image-4601" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-accueil-resized.png 488w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-accueil-resized-300x189.png 300w" sizes="auto, (max-width: 488px) 100vw, 488px" /></a><figcaption>Écran tactile NEXTION</figcaption></figure></div>



<p class="wp-block-paragraph">Le but de ce tutoriel est de vous aiguiller étape après étapes dans l'utilisation de l'éditeur NEXTION et de ses composants pour la mise en forme de pages d'écran tactile. </p>



<h4 class="wp-block-heading" id="h-le-mat-riel"><span style="text-decoration: underline;">Le matériel.</span></h4>



<p class="wp-block-paragraph"><strong>Écran tactile NEXTION </strong>et son alimentation 5V.<br>Avoir une carte <strong>micro SD formaté en FAT32</strong>.<br>Télécharger et installer <strong>l'éditeur logiciel </strong><a href="https://nextion.itead.cc/resources/download/nextion-editor/">NEXION</a> sur votre PC.</p>



<h4 class="wp-block-heading" id="h-l-diteur-nextion"><span style="text-decoration: underline;">L'éditeur NEXTION.</span></h4>



<p class="wp-block-paragraph">Ouvrons l'éditeur NEXTION. ( En anglais)<br>Au centre de l'éditeur se trouve deux volets. "<strong>Recent projects</strong>" pour les <strong>récent projets</strong> et "<strong>About</strong>" qui nous informe sur la version utilisé et donne la possibilité de faire une <strong>mise à jour</strong> (latest version).<br>Commençons par observer son aspect. En plus de la <strong>barres de menus et de la barre d'outils fonctionnels </strong>l'éditeur est composé de <strong>sept (7) volets de travail</strong> détaillés dans le tableau qui suit. <br>A ce stade <strong>les volets de travail ne sont pas actifs </strong>car il nous faut <strong>crée un projet</strong>.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="576" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Editeur-NEXTION-présentation-1024x576.png" alt="Vue globale de l'éditeur NEXTION." class="wp-image-3759" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Editeur-NEXTION-présentation-1024x576.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Editeur-NEXTION-présentation-300x169.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Editeur-NEXTION-présentation-768x432.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Editeur-NEXTION-présentation-700x393.png 700w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/01-Editeur-NEXTION-présentation.png 1919w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<table id="tablepress-6" class="tablepress tablepress-id-6">
<thead>
<tr class="row-1">
	<th class="column-1">Volets.</th><th class="column-2">Fonctions.</th><th class="column-3">Outils.</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">Display.<br />
 (centre)</td><td class="column-2">Aperçu.</td><td class="column-3">Affiche l'aperçu de la pages projet sélectionné.</td>
</tr>
<tr class="row-3">
	<td class="column-1">Toolbox.<br />
(gauche)</td><td class="column-2">Composants <br />
d'affichages</td><td class="column-3">Texte                       / Zone de texte.<br />
Scrolling text           / Texte défilant.<br />
Number                  / Zone de nombre.<br />
Button                    / Commande Bouton.<br />
Progresse bar         / Bar de progression.<br />
Picture                    / Zone d'image.<br />
Crop                       / Couper une zone d'image par une autre.<br />
Hotspot                  / ????<br />
Gauge                     / jauge de niveaux ou seuils.<br />
Weveform               / Zone de tracé graphiques.<br />
Slider                       / Commande par glissement.<br />
Timer                       / Bloc d'appel de la fonction RTC exploitation de l'horodatage.<br />
Variable                   / Créé une variable.<br />
Dual-state button    / Commande bouton à deux états fixe.<br />
Checkbox                 / Commande de validation.<br />
Radio                       / Commande de validation.<br />
QRcode                    / QRcode.<br />
</td>
</tr>
<tr class="row-4">
	<td class="column-1">Picture.<br />
(gauche)</td><td class="column-2">Images.</td><td class="column-3">Ajouter une image.<br />
Supprimer une image.<br />
Remplacer une image par une autre.<br />
Insérer une image depuis nos fichiers.<br />
Déplacer de haut en bas parmi les images existantes.<br />
Supprimer toutes les images.</td>
</tr>
<tr class="row-5">
	<td class="column-1">Font<br />
(onglet sous "picture")</td><td class="column-2">Polices.</td><td class="column-3">Ajouter une Police.<br />
Supprimer une Police.<br />
Remplacer une Police par une autre.<br />
Insérer une Police depuis nos fichiers.<br />
Déplacer de haut en bas parmi les polices existantes.<br />
Aperçu de la Police sélectionnée.</td>
</tr>
<tr class="row-6">
	<td class="column-1">Page.<br />
(droite)</td><td class="column-2">Pages.</td><td class="column-3">Ajouter une page.<br />
Supprimer une page.<br />
Insérer une page depuis nos fichiers.<br />
Déplacer de haut en bas parmi les pages existantes.<br />
Faire une copie de page.<br />
Importer une page.<br />
Exporter une page.</td>
</tr>
<tr class="row-7">
	<td class="column-1">Atrribute.<br />
(droite)</td><td class="column-2">Paramétrages <br />
objets.</td><td class="column-3">Modifier l'apparence, le style ou les spécificités dynamique et visuel de l'objets sélectionné.<br />
Voire le tableau paramètres objets. (fin de tutoriels)</td>
</tr>
<tr class="row-8">
	<td class="column-1">Output.<br />
(bas)</td><td class="column-2">Résultats <br />
compilations</td><td class="column-3">Aucun.</td>
</tr>
<tr class="row-9">
	<td class="column-1">Event.<br />
(bas)</td><td class="column-2">Événements<br />
d'activation<br />
objet.</td><td class="column-3">Onglet "Touch Press Event(0)" / Appuis sur l'objet.<br />
Onglet "Touch Release Event(0)" / Relâchement d'appuis sur objet.<br />
Onglet "Preinitialize Event(0)" initialisation page à son appel.<br />
Onglet "Postinitialize Event(0)". Initialisation des positions d'objets.<br />
Checkbox "Send Component" ID Envoie l' ID de l'objet activé.<br />
Zone de saisi "User Code" Programmation.</td>
</tr>
</tbody>
</table>




<h4 class="wp-block-heading" id="h-cr-er-un-projet-avec-l-diteur-nextion"><span style="text-decoration: underline;">Créer un projet avec l'éditeur NEXTION.</span></h4>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/02-Editeur-NEXTION-nouveau-projet.png" alt="" class="wp-image-3760" width="87" height="144"/></figure></div>



<p class="wp-block-paragraph">Pour commencer créons un<strong> nouveau projet</strong>.<br>Dans la barres des menu "<strong>file</strong>" (= Fichier) puis "<strong>new</strong>" (= Nouveau).<br>L'utilitaire d'enregistrement s'ouvre puis à l'emplacement de notre choix <strong>créons un fichier</strong> repérable "<strong>NEXTION projet</strong>".<br>Nommons le "<strong>Tuto NEXTION</strong> <strong>Éditeur</strong>" -ou différemment si vous le souhaitez-, enregistrons et l'éditeur nous aiguille ensuite vers l'<strong>étape de configurations </strong>en ouvrant<strong> la fenêtre "Setting".</strong></p>



<h5 class="wp-block-heading" id="h-configurations-de-l-diteur-nextion"><span style="text-decoration: underline;">Configurations de l'éditeur NEXTION.</span></h5>



<p class="wp-block-paragraph">L'éditeur à besoins de <strong>connaitre le profil </strong>de votre écran tactile pour s'y adapter. Nous comprendrons cela plus tard lors de la mise en forme de nos pages.<br> <br>Recherchons et sélectionnons notre <strong>modèle d'écran</strong> suivant sa catégorie "<strong>BASIC</strong>", "<strong>ENHANCED</strong>" ou "<strong>INTELLIGENT</strong>" .<br>Dans notre cas pour le modèle <strong>NX8048K070</strong> la catégorie est "<strong>ENHANCED</strong>".<br><strong>N'appuyons pas encore sur OK!</strong>.</p>



<figure class="wp-block-image size-large"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/04-Editeur-NEXTION-Configurations.png"><img loading="lazy" decoding="async" width="881" height="661" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/04-Editeur-NEXTION-Configurations.png" alt="Vue de la fenêtre de configuration. Sélection du modèle d'écran tactile utilisé." class="wp-image-3762" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/04-Editeur-NEXTION-Configurations.png 881w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/04-Editeur-NEXTION-Configurations-300x225.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/04-Editeur-NEXTION-Configurations-768x576.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/04-Editeur-NEXTION-Configurations-700x525.png 700w" sizes="auto, (max-width: 881px) 100vw, 881px" /></a></figure>



<p class="wp-block-paragraph">Sélectionnons d'abord <strong>l'orientation de l'écran</strong> <strong>souhaité</strong> en fonction de l'exploitation de notre projet<strong>. </strong>Dans "<strong>Display</strong>" (= Affichage) à gauche de la fenêtre de configuration.<br><br>Divers choix d'orientations sont proposés <strong>Horizontale à 0° ou 180°&nbsp;</strong>ou <strong>verticale à 0° ou 180°.</strong>  Pour notre exemple nous faisons le choix  <br><strong>Horizontale à 0°</strong> puis validons sur "<strong>OK</strong>".<br>Note : l'orientation  à 180° est équivalent à un retournement de l'écran.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="882" height="658" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/05-Editeur-NEXTION-Configurations-Display.png" alt="Vue des configurations d'écran tactile.
Choix de la disposition Horizontale, vertical à 90°, Horizontale à 180° ou  vertical à 270°." class="wp-image-3763" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/05-Editeur-NEXTION-Configurations-Display.png 882w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/05-Editeur-NEXTION-Configurations-Display-300x224.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/05-Editeur-NEXTION-Configurations-Display-768x573.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/05-Editeur-NEXTION-Configurations-Display-700x522.png 700w" sizes="auto, (max-width: 882px) 100vw, 882px" /><figcaption>Fenêtre de configuration d'orientation</figcaption></figure></div>



<p class="wp-block-paragraph">Nous retournons systématiquement <strong>vers l'éditeur</strong>, les <strong>volets de travail</strong> sont à présent <strong>actifs </strong>et l'on a au centre <strong>l'onglet d'aperçu de notre écran.</strong><br></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="576" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Editeur-NEXTION-Editeur-prêt-1024x576.png" alt="Vue de l'éditeur NEXTION.
Les volets de travail sur les cotées, au centre l'onglet d'aperçu de notre écran tactile." class="wp-image-3764" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Editeur-NEXTION-Editeur-prêt-1024x576.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Editeur-NEXTION-Editeur-prêt-300x169.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Editeur-NEXTION-Editeur-prêt-768x432.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Editeur-NEXTION-Editeur-prêt-700x393.png 700w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/06-Editeur-NEXTION-Editeur-prêt.png 1917w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><br>Nous sommes prêt à la réalisation de notre écran tactile NEXTION.</p>



<h5 class="wp-block-heading" id="h-la-police-d-affichage"><span style="text-decoration: underline;">La police d'affichage.</span></h5>



<p class="wp-block-paragraph">Premièrement <strong>choisissons et configurons une police d'affichage</strong> utilisé à l'écran.</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/07-Editeur-NEXTION-Police.png" alt="Vue des onglets de menu. 
Tools, Setting, Help.
Tools est sélectionné en sous sélection active Font Générator." class="wp-image-3765" width="182" height="72"/></figure></div>



<p class="wp-block-paragraph">Dans "<strong>Tools</strong>" (= Outils<strong>) </strong>puis "<strong>Font&nbsp;generator</strong>" (=générateur de police) la fenêtre "<strong>Font&nbsp;generator</strong>" s'ouvre.<br>Puis choisissons <strong>une taille et un style de police</strong> via la liste "<strong>Height</strong>" et  celle qui se situe dans la zone d'aperçu "<strong>Preview Aréa</strong>". <br>Le caractère <strong>"X" donne un aperçu de sa taille</strong> <strong>et sa forme par rapport à l'écran.</strong><br>Pour démarrer notre exemple nous choisirons "<strong>56</strong>" et "<strong>Source code pro</strong>"</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="442" height="436" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/08-Editeur-NEXTION-Police-configuration.png" alt="Vue de la Pop-up Font générator. Mise en évidence des zone de paramétrage. Taille de police, Type de police et Zone de texte pour nommer la police d'écriture utilisé dans l'aperçu de l'éditeur NEXTION.
" class="wp-image-3766" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/08-Editeur-NEXTION-Police-configuration.png 442w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/08-Editeur-NEXTION-Police-configuration-300x296.png 300w" sizes="auto, (max-width: 442px) 100vw, 442px" /></figure></div>



<p class="wp-block-paragraph">Finalement, <strong>saisissons  le nom de notre police</strong> personnel "<strong>Source code pro_56</strong>" et validons sur "<strong>Generate font</strong>" <strong>générer une police.</strong><br>Enfin enregistrons celle ci dans le même fichier que notre projet "<strong>NEXTION projets</strong>" dans un fichier nommé "<strong>NEXTION polices</strong>".<br>Puis comme demandé par la pop-up qui suit <strong>ajoutons la police générée à notre projet en cliquant sur "OK".</strong><br>Nous retrouvons nos<strong> polices personnalisé dans le volet "Font</strong>" situé sous le volet<strong> "Picture</strong>". </p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="219" height="72" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/23-Editeur-NEXTION-fonts.png" alt="Vue du volet &quot;Font&quot; situé sous le volet &quot;Picture&quot;. Mise en évidence de la nouvelle police enregistré." class="wp-image-3782"/></figure></div>



<p class="wp-block-paragraph">Avant de passer à la réalisation de notre page d'accueil nous devons avant tout nous intéresser à la <strong>résolution de nos écrans</strong> et des <strong>images</strong> qui vont alimenter notre projet d'interface graphique.</p>



<h5 class="wp-block-heading" id="h-images-et-r-solutions"><span style="text-decoration: underline;">Images et résolutions.</span></h5>



<p class="wp-block-paragraph"><strong>Un projet d'affichage graphique sur un écran tactile </strong>implique un travail d'apparence sur images.<br>l’aspect le plus important du <strong>traitement des images</strong> est basé sur la <strong>résolutions.</strong><br><br>Pour ces raisons il nous faut souligner <strong>l'importance de leurs dimensionnement </strong>car elles risqueraient de ne pas <strong>être afficher de manière optimale</strong> donc prenons garde à faire une <strong>adéquation entre la résolution écran et celle de l'image.</strong><br>Étant donnée que les caractéristiques des écrans tactiles ne sont pas modifiables nous <strong>dimensionnons les images en fonction de la résolution</strong> indiqué par la <strong>référence de notre écran.</strong><br><br>Prenons le cas de notre écran NX8048 K070. Le chiffre <strong>8048 indique</strong> une résolution de <strong>800 pixels</strong> de largeur par <strong>480 pixels</strong> de hauteur. (80/48)<br><strong>Les images ne doivent donc pas dépasser les dimensions de résolution de l'écran que nous exploitons.</strong><br>Mais pour faire plus simple il suffis de regarder dans la barres d'informations système (écran) au bas de l'éditeur . </p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="575" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/12-Editeur-NEXTION-Resolution-1024x575.png" alt="Vue de la barres d'information système en bas de l'éditeur NEXTION.
Affiche les données écran.
Référence de l'écran NX8048 K070.
La résolution de 800 pixels de largeur et 480 pixels de hauteur. " class="wp-image-3770" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/12-Editeur-NEXTION-Resolution-1024x575.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/12-Editeur-NEXTION-Resolution-300x168.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/12-Editeur-NEXTION-Resolution-768x431.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/12-Editeur-NEXTION-Resolution-700x393.png 700w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/12-Editeur-NEXTION-Resolution.png 1923w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Mais en réalité nos <strong>images n'aurons jamais une résolution identique aux écrans tactiles</strong>. Par conséquent à chaque fois que l'on souhaite ajouter une image <strong>il nous faudra la dimensionner.</strong></p>



<h5 class="wp-block-heading" id="h-dimensionner-l-image-de-votre-choix"><span style="text-decoration: underline;">Dimensionner l'image de votre choix.</span></h5>



<p class="wp-block-paragraph">Pour la suite du projet nous vous proposons et invitons à suivre cette méthode -Parmi d'autre- pour dimensionner l'image de votre choix.<br>Ouvrez là sous "<strong>PAINT</strong>".<br>Passez en mode "sélection".<br>Faites un clic droit sur celle ci.<br>Sélectionnez "Redimensionner".</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/14-Editeur-NEXTION-Resolution-PAINT.png" alt="Sous PAINT. Vue de la Pop-up de redimensionnement d'image." class="wp-image-3772" width="296" height="426" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/14-Editeur-NEXTION-Resolution-PAINT.png 282w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/14-Editeur-NEXTION-Resolution-PAINT-208x300.png 208w" sizes="auto, (max-width: 296px) 100vw, 296px" /></figure></div>



<p class="wp-block-paragraph">Choisissez le mode "Pixel".<br>Décochez "conserver les proportions".<br>Entrez vos valeurs de résolutions horizontale et verticale.<br>Validez par "OK".<br>Si besoins ajustez la planche "paint" (blanc) à votre image.<br><strong>L'image et à présent dimensionné pour un affichage en fond d'écran. </strong><br><em>Pour d'autres dimensionnements plus  petit  qui vous seront utiles faite la même.</em><br>Faites<strong> </strong>tout de même<strong> attention à la qualité de l'image.</strong><br> <br>Afin de <strong>ne pas perdre l'image originale faite </strong>"<strong>enregistrer sous</strong>"  puis renommez la nouvelle image avec <strong>un nom qui lui est propre</strong> et pour une exploitation via l'éditeur créez un  <strong>fichier repérable "image NEXTION" dans le ficher "NEXTION projet" </strong>. <br><br>Après cela, l'image sélectionné est prête à être <strong>ajouter au projet. </strong><br><br>Cela vu, nous pouvons passer à la <strong>création de notre projet.</strong></p>



<h2 class="wp-block-heading" id="h-d-buter-un-projet-nextion"><strong><span style="text-decoration: underline;">Débuter un projet NEXTION.</span></strong></h2>



<p class="wp-block-paragraph">Lors de la création du projet "<strong>Etape NEXTION</strong>" l'éditeur à d'office inséré une <strong>page vierge</strong>, nommé "<strong>page0</strong>", que l'on trouve dans le volet "<strong>Page</strong>".<br>De toute évidence ce volet représente la <strong>structure de classement des pages</strong> de notre projet. </p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="218" height="99" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/15-Editeur-NEXTION-PAGE.png" alt="Vue du volet PAGE de l'éditeur NEXTION.
Ce volet représente la structure de classement des pages de notre projet. " class="wp-image-3773"/></figure></div>



<p class="wp-block-paragraph">Par simplicité de repérages à notre projet, <strong>renommons la page</strong> "<strong>accueil</strong>" en faisant un <strong>double clic </strong>dessus<strong>.</strong> Attention toutefois à <strong>ne pas dépasser les quatorze (14) caractères maximum.</strong><br><br>Nous sommes prêt pour la <strong>mise en forme d'une page d'accueil.</strong></p>



<h5 class="wp-block-heading" id="h-cr-e-une-page-d-accueil-l-cran-tactile"><strong><span style="text-decoration: underline;">Crée une page d’accueil à l'écran tactile.</span></strong></h5>



<p class="wp-block-paragraph">En premier lieu, Plaçons y un <strong>fond d'écran.</strong><br><strong>Cliquons sur notre page d'aperçu</strong> qui s'encadre en bleu et complète alors les volets "<strong>Event</strong>" et "<strong>Attribute</strong>".<br>Concentrons nous plus précisément sur le volet "<strong>Attribute</strong>".<br>Observons le tableau qui s'y trouve car en fonction des objets sélectionnés il contient <strong>les paramètres et données</strong> utiles à modifier pour<strong> l'aspect et les caractéristiques des composants</strong> que nous verrons plus tard.<br>Comme illustré ci dessous, notre page "<strong>accueil</strong>" fait partie de ces <strong>composants</strong>.</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/16-Editeur-NEXTION-ATTRIBUTE.png" alt="Vue du volet Attribute de l'éditeur NEXTION.
Contient les paramètres et données." class="wp-image-3774" width="150" height="332" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/16-Editeur-NEXTION-ATTRIBUTE.png 218w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/16-Editeur-NEXTION-ATTRIBUTE-135x300.png 135w" sizes="auto, (max-width: 150px) 100vw, 150px" /></figure></div>



<p class="wp-block-paragraph"><em>Trouvez en fin de tutoriel un tableau qui décrit les différentes fonctions de chaque paramètres que l'on peut y trouver en fonction des composants.</em><br><br><strong>Suivant les paramètres </strong>choisis nous pouvons<strong> crée un fond d'écran</strong> <strong>de couleur uni</strong> ou <strong>insérer une image.</strong><br><br>Pour donner plus d’intérêt à notre exemple nous choisissons d'insérer une image en modifiant le <strong>paramètre </strong>"<strong>sta</strong>" en mode "<strong>image</strong>".</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="206" height="48" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/18-Editeur-NEXTION-ATTRIBUTE-IMAGE.png" alt="Vue des paramètres &quot;sta&quot; en mode &quot;image&quot;." class="wp-image-3776"/></figure></div>



<p class="wp-block-paragraph">Cette action active le <strong>paramètre </strong>"<strong>pic</strong>" qui doit obligatoirement être complété par un double clic à son emplacement.<br><br>La<strong> fenêtre de sélection d'images</strong> s'ouvre mais à ce stade du projet elle est <strong>vide</strong>.<br>Il faut donc préalablement<strong> ajouter une image.</strong></p>



<h5 class="wp-block-heading" id="h-ajouter-une-image"><strong><span style="text-decoration: underline;">Ajouter une image</span></strong></h5>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/19-Editeur-NEXTION-PICTURE.png" alt="Vue du volet PICTURE de l'éditeur NEXTION.
" class="wp-image-3777" width="164" height="368" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/19-Editeur-NEXTION-PICTURE.png 217w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/19-Editeur-NEXTION-PICTURE-134x300.png 134w" sizes="auto, (max-width: 164px) 100vw, 164px" /></figure></div>



<p class="wp-block-paragraph">Utilisons <strong>le volet</strong> "<strong>Picture</strong>" (= Image). <br>La zone blanche sous la barre d'outils affichera de toute évidence les <strong>images contenus dans nôtre projets.</strong> <br><br>Cliquons sur <strong>plus "+" (Add)</strong> qui aura pour effet d'<strong>ouvrir l'utilitaire d’accès aux fichiers image </strong>de notre bibliothèque PC.<br><strong>Allons dans notre fichier repéré "image NEXTION", puis sélectionnons l'image</strong> notre choix et validons.<br><br>Après cela une pop-up nous indique que l'ajout au projet est un succès et nous invite à valider par "<strong>OK</strong>".<br>Notre<strong> image fait donc partie du projet</strong> et apparait dans le volet "<strong>Picture</strong>".<br>A noter que <strong>chaque images aura un indice de 0 à X</strong> pour l'identifier en paramètre de composants.</p>



<p class="wp-block-paragraph">La zone blanche sous la barre d'outils affichera de toute évidence les <strong>images contenus dans nôtre projets.</strong> <br>Cliquons sur <strong>plus "+" (Add)</strong> qui aura pour effet d'<strong>ouvrir l'utilitaire d’accès aux fichiers image </strong>de notre bibliothèque PC.<br><strong>Allons dans notre fichier repéré "image NEXTION", puis sélectionnons l'image</strong> notre choix et validons.<br>Après cela une pop-up nous indique que l'ajout au projet est un succès et nous invite à valider par "<strong>OK</strong>".<br><br>Notre<strong> image fait donc partie du projet</strong> et apparait dans le volet "<strong>Picture</strong>".</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="221" height="219" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/20-Editeur-NEXTION-PICTURE-fond-décran-1.png" alt="Vue du volet PICTURE de l'éditeur NEXTION. Complété de la nouvelle image." class="wp-image-3793" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/20-Editeur-NEXTION-PICTURE-fond-décran-1.png 221w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/20-Editeur-NEXTION-PICTURE-fond-décran-1-150x150.png 150w" sizes="auto, (max-width: 221px) 100vw, 221px" /></figure></div>



<p class="wp-block-paragraph">A noter que <strong>chaque images aura un indice de 0 à X</strong> pour l'identifier en paramètre de composants.</p>



<h5 class="wp-block-heading" id="h-le-fond-d-cran"><span style="text-decoration: underline;"><strong>Le fond d'écran</strong>.</span></h5>



<p class="wp-block-paragraph">Revenons au volet "<strong>Attribute</strong>" et faisons un<strong> double clic</strong> au paramètre "<strong>pic</strong>". La <strong>fenêtre de sélection</strong> est à présent fourni de notre image.<br><strong>Sélectionnons là </strong>et <strong>validons </strong>sur <strong>"OK"</strong>.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="575" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/26-Editeur-NEXTION-Fond-decran-1-1024x575.png" alt="Vue globale de l'éditeur NEXTION avec l'aperçue de l'écran tactile.
Mise en évidence de l'indice de la nouvelle image dans le volet ATTRIBUTE." class="wp-image-3797" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/26-Editeur-NEXTION-Fond-decran-1-1024x575.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/26-Editeur-NEXTION-Fond-decran-1-300x169.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/26-Editeur-NEXTION-Fond-decran-1-768x431.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/26-Editeur-NEXTION-Fond-decran-1-700x393.png 700w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/26-Editeur-NEXTION-Fond-decran-1.png 1921w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/27-Editeur-NEXTION-save-1.png" alt="LOGO disquette enregistrement." class="wp-image-3799" width="169" height="62" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/27-Editeur-NEXTION-save-1.png 272w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/27-Editeur-NEXTION-save-1-268x100.png 268w" sizes="auto, (max-width: 169px) 100vw, 169px" /></figure></div>



<p class="wp-block-paragraph">Bravo !! L'image s'affiche à l'aperçu !!<br>A ce stade nous <strong>sauvegardons notre travail</strong> en cliquant sur "<strong>Save</strong>" dans la barres d'outils.<br>Nous avons ainsi <strong>une page d’accueil </strong>stylisé et prête à recevoir nos textes d'informations ou d'instructions utilisateurs.</p>



<p class="wp-block-paragraph">L'exercice suivant consiste à <strong>afficher des textes d'instructions</strong> ou des <strong>informations utiles</strong> aux utilisateurs.</p>



<h5 class="wp-block-heading" id="h-affichage-de-textes"><span style="text-decoration: underline;"><strong>Affichage de textes</strong>.</span></h5>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/28-Editeur-NEXTION-Toolbox-1.png" alt="Vue volet TOOLBOX de l'éditeur NEXTION.
Mise en évidence la sélection TEXT." class="wp-image-3804" width="205" height="446" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/28-Editeur-NEXTION-Toolbox-1.png 216w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/28-Editeur-NEXTION-Toolbox-1-138x300.png 138w" sizes="auto, (max-width: 205px) 100vw, 205px" /></figure></div>



<p class="wp-block-paragraph">L'ajout d'un texte ce fait via le volet "<strong>Toolbox</strong>". <br>Nous y trouverons tout <strong>les composants utiles</strong> à la réalisation de nos commandes, retours d'actions systèmes et autres que nous verrons plus tard.<br><br>Cliquons donc sur<strong> le composant</strong> "<strong>Text</strong>".<br><strong>Le texte s'installe</strong> sous forme d'un rectangle bleu, en haut à gauche, dans l'aperçu d'écran.<br>Remarquons<strong> l'indication "t0</strong>" qui est en faite sa <strong>variable</strong> <strong>d'exploitation programme</strong>.<br><br>Il faut retenir que <strong>chaque composants installés à l'écran sera affecté d'une variable </strong>que nous pouvons <strong>renommer </strong>dans le volet<strong> "Attribute".</strong></p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/21-Editeur-NEXTION-Texte.png" alt="Vue du composant TEXT sur l'aperçu d'écran." class="wp-image-3780" width="122" height="43" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/21-Editeur-NEXTION-Texte.png 153w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/21-Editeur-NEXTION-Texte-150x54.png 150w" sizes="auto, (max-width: 122px) 100vw, 122px" /></figure></div>



<p class="wp-block-paragraph"><strong>Déplaçons </strong>le rectangle en le faisant glisser à l'endroit de notre choix puis <strong>redimensionnons</strong> le en tirant sur ses bords pour y voir l'affichage "<strong>Newtxt</strong>" inscrit par défaut.</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-1.png" alt="Vue de l'aperçu de l'écran tactile." class="wp-image-3820" width="311" height="187" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-1.png 800w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-1-300x180.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-1-768x461.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-1-700x420.png 700w" sizes="auto, (max-width: 311px) 100vw, 311px" /></figure></div>



<div class="wp-block-image"><figure class="alignleft"><img loading="lazy" decoding="async" width="216" height="560" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/30-Editeur-NEXTION-Text-Attribute-1.png" alt="Vue du volet ATTRIBUTE de l'éditeur NEXTION.
Mise en évidence du paramètre &quot;txt_maxl&quot;." class="wp-image-3812" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/30-Editeur-NEXTION-Text-Attribute-1.png 216w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/30-Editeur-NEXTION-Text-Attribute-1-116x300.png 116w" sizes="auto, (max-width: 216px) 100vw, 216px" /></figure></div>



<p class="wp-block-paragraph">Les <strong>paramètres </strong>de mise en <strong>formes </strong>et de <strong>propriétés </strong>sont accessibles dans le volet "<strong>Attribute</strong>".<br><br><strong>Modifions le texte</strong> "<strong>newtxt</strong>" par "<strong>Bienvenu</strong>" au paramètre "<strong>txt</strong>".</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="189" height="25" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/31-Editeur-NEXTION-Text-Attribute-txt.png" alt="" class="wp-image-3814"/></figure>



<p class="wp-block-paragraph">En ce qui concerne<strong> la longueur du texte</strong> prenons garde à adapter le paramètre <strong>"txt_maxl</strong>" au nombre de <strong>caractères maximum à afficher</strong>.<br>On peut aussi <strong>modifier le nom de variable du composant texte</strong> au paramètre "<strong>objname</strong>" mais comme nous n'avons pas de raison de le modifier nous en resterons là.<br><br><em>Rappelons que vous trouvez en fin de tutoriel un tableau qui décrit les différentes fonctions de chaque paramètres que l'on peut y trouver en fonction des composants.</em> <br><br>Nous avons à présent une<strong> page d'accueil digne de ce nom</strong> qui porte une <strong>instruction de</strong> "<strong>Bienvenu</strong>".</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="812" height="491" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-2.png" alt="Aperçu de l'écran tactile NEXTION depuis l'éditeur avec le composant TEXTE renseigné du mon BIENVENU." class="wp-image-3833" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-2.png 812w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-2-300x181.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-2-768x464.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/29-Editeur-NEXTION-Text-2-700x423.png 700w" sizes="auto, (max-width: 812px) 100vw, 812px" /></figure></div>



<p class="wp-block-paragraph">Il faut reconnaitre que cela est un peu léger comme instruction utilisateur.<br><br>Donc pour la suite de notre projet<strong> </strong>nous <strong>affichons une instruction</strong> utilisateur sous forme de <strong>texte défilant de droite à gauche</strong>.</p>



<h5 class="wp-block-heading" id="h-texte-d-filant"><strong><span style="text-decoration: underline;">Texte défilant.</span></strong></h5>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/32-Editeur-NEXTION-Scrolling-Text-t.png" alt="Vue du composant &quot;Scrolling text&quot; dans la &quot;toolbox.&quot;" class="wp-image-3816" width="139" height="37" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/32-Editeur-NEXTION-Scrolling-Text-t.png 275w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/32-Editeur-NEXTION-Scrolling-Text-t-268x74.png 268w" sizes="auto, (max-width: 139px) 100vw, 139px" /></figure></div>



<p class="wp-block-paragraph">Prenons le <strong>composant </strong>"<strong>Scrolling text</strong>" dans la "<strong>toolbox</strong>.</p>



<p class="wp-block-paragraph">Modifions le contenu et la forme de notre nouveau composants. Centrons le sur l'image.<br><br>Par contre comment modifier <strong>la police du texte si elle est trop grande ?</strong><br>Ce n'est <strong>pas possible </strong>car nous ne disposons que<strong> </strong>d'<strong>un seul </strong>type de <strong>police </strong>dans le volet "<strong>Fonts</strong>". Il faut <strong>crée une police de plus</strong>.<br><br>Comme déjà vu précédemment <strong>créons puis ajoutons une nouvelle police</strong>. <br>Il faudra en crée <strong>autant que nécessaire</strong> dans l'évolution du projet.<br>Par conséquent <strong>ajoutons une police de taille</strong> "<strong>24</strong>" et renseignons le paramètre "<strong>font</strong>" du texte défilant avec la<strong> valeur d'index de la nouvelle police</strong> dans le volet "<strong>Fonts</strong>".</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/33-Editeur-NEXTION-Scrolling-Text-parametre.png" alt="Vue des paramètres du composant Scrolling text." class="wp-image-3817" width="252" height="149"/></figure></div>



<p class="wp-block-paragraph">Il est possible de <strong>modifier la vitesse</strong>, le <strong>pas </strong>et le <strong>sens </strong>de défilement par "<strong>tim</strong>" "<strong>dis</strong>" et "<strong>dir</strong>".</p>



<p class="wp-block-paragraph">Affichons le texte "<strong>Touchez l'écran</strong>". Comme ont pouvait s'y attendre<strong> il ne défile pas.&nbsp;</strong></p>



<p class="wp-block-paragraph">De plus il faut reconnaitre que<strong> le fond blanc de la zone de texte</strong> par dessus notre belle image n'est <strong>pas très esthétique.</strong></p>



<div class="wp-block-image"><figure class="alignleft"><img loading="lazy" decoding="async" width="200" height="73" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/35-Editeur-NEXTION-Scrolling-Text-affichage-crop-image.png" alt="Vue des paramètres du composant TEXT.
Mise en évidence du paramètre STYLE en mode CROP IMAGE." class="wp-image-3824"/></figure></div>



<p class="wp-block-paragraph">Alors dans le but de<strong> rendre le fond de la zone de texte transparent</strong> nous changeons le paramètre "<strong>sta</strong>" en mode "<strong>crop image</strong>" ce qui implique de renseigner le paramètre "<strong>picc</strong>" par l<strong>'indice de l'image de fond d'écran</strong> dans notre cas zéro "0". </p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="205" height="28" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/36-Editeur-NEXTION-Scrolling-Text-affichage-picc.png" alt="Vue du paramètre PICC." class="wp-image-3825"/></figure></div>



<p class="wp-block-paragraph">En fonction de l'image de fond nous aurons besoins d'<strong>adapter la couleur de police au paramètre "pco".</strong></p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="202" height="29" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/37-Editeur-NEXTION-Scrolling-Text-affichage-pco.png" alt="Vue du paramètre PICC renseigné du paramètre de l'image à prendre en fond." class="wp-image-3827"/></figure></div>



<p class="wp-block-paragraph">Nous avons là une <strong>page d'accueil qui a plus de classe</strong> !!!</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="815" height="494" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/38-Editeur-NEXTION-Scrolling-Text-affichage-apercu-e1551899744540.png" alt="Aperçu de l'écran tactile avec les composants TEXTE en fond modifié." class="wp-image-3868" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/38-Editeur-NEXTION-Scrolling-Text-affichage-apercu-e1551899744540.png 815w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/38-Editeur-NEXTION-Scrolling-Text-affichage-apercu-e1551899744540-300x182.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/38-Editeur-NEXTION-Scrolling-Text-affichage-apercu-e1551899744540-768x466.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/38-Editeur-NEXTION-Scrolling-Text-affichage-apercu-e1551899744540-700x424.png 700w" sizes="auto, (max-width: 815px) 100vw, 815px" /></figure></div>



<p class="wp-block-paragraph"><strong>Toujours définir une zone tactile</strong> d'activation car un appuie sur un composants non programmée n'aura aucun effet à moins de les programmées aussi pour cela. Constatons cela sur les composants texte "<strong>Bienvenu</strong>" et "<strong>Touchez l’écran</strong>". </p>



<p class="wp-block-paragraph">Mais pour un <strong>premier aperçu dynamique</strong> du rendu <strong>graphique </strong>sans charger le programme dans l'écran tactile, l'éditeur est équipé d'un <strong>débogueur qui fait office de simulateur.</strong></p>



<h5 class="wp-block-heading" id="h-le-d-bogage-debug"><strong><span style="text-decoration: underline;">Le débogage. (Debug)</span></strong></h5>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/39-Editeur-NEXTION-Debug.png" alt="Vue du logo DEBUG." class="wp-image-3829" width="120" height="40"/></figure></div>



<p class="wp-block-paragraph">Utilisons "<strong>Debug</strong>" dans la barre d'outil, afin de<strong> tester nos configurations </strong>de mise en page et <strong>le rendu graphique de façon dynamique</strong>.<br><br>Cette outils est<strong> dédié au débogage</strong> qui entrainera donc <strong>une compilation</strong> et un enregistrement du projet avec un retour d'informations au volet "<strong>Output</strong>". Le débogueur ne s'ouvre pas si une <strong>erreur </strong>est <strong>présente</strong> et un<strong> message rouge </strong>apparait alors dans le volet "<strong>Output</strong>".</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/40-Editeur-NEXTION-Output.png" alt="Vue de la fenêtre de debug OUTPUT de l'éditeur NEXTION." class="wp-image-3830" width="790" height="233"/></figure></div>



<p class="wp-block-paragraph">Dans le cas contraire l<strong>e simulateur d'affichage </strong>s'ouvre et nous pouvons alors <strong>tester et constater les résultats.</strong></p>



<p class="wp-block-paragraph"><strong>Bravos !! </strong>A ce stade, vous <strong>franchissez, </strong>à présent,<strong> l'étape de mise en forme</strong> des afficheur <strong>NEXTION.</strong> <br><br>Alors maintenant que l'on <strong>maitrise la mise en forme des pages et des textes</strong> fermons le simulateur pour revenir à l'éditeur <strong>NEXTION</strong> et passons à présent à une chose essentiel à l'exploitation d'un écran tactile. Les<strong> événements tactiles.</strong></p>



<h5 class="wp-block-heading" id="h-cr-e-un-v-nement-tactile-en-page"><strong><span style="text-decoration: underline;">Crée un événement tactile en page.</span></strong></h5>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/42-Editeur-NEXTION-Page-add.png" alt="Vue du logo ADD. Ajout d'une page." class="wp-image-3839" width="83" height="66"/></figure></div>



<p class="wp-block-paragraph">Premièrement <strong>l'événement tactile</strong> que l'on vas créer consiste à <strong>passer à une page suivante en touchant l'écran</strong>. Ce qui, par conséquent, demande <strong>d'ajouter une page&nbsp;</strong>via le volet "<strong>page</strong>".<br>La mise en forme de cette dernière se ferra donc en répétant les actions précédentes.</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/43-Editeur-NEXTION-Page-SecondeEtape.png" alt="Vue du volet page avec en sélection la page nommée SECONDE ETAPE." class="wp-image-3841" width="227" height="99"/></figure></div>



<p class="wp-block-paragraph">Nommons la "<strong>SecondeEtape</strong>", ajoutons une <strong>image en fond d'écran </strong>et revenons ensuite à la page précédente.<br>Les événements sont générés dans <strong>le volet</strong> "<strong>Event</strong>" via les principaux onglets qui  sont:</p>



<ul class="wp-block-list"><li>"<strong>Touch Press Event</strong>". Événement lors d'un appui sur un<strong> composan</strong>t.</li><li>"<strong>Touch Release  Event(0</strong>)" Événement lors d'un appui puis relâchement sur un <strong>composant</strong> ou <strong>l'écran</strong>.</li><li>"<strong>Preinitialize Event(0)</strong>" Événement <strong>avant l'affichage </strong>d'une <strong>page</strong>. Utile pour <strong>initialiser </strong>des composants ou variables.</li><li>"<strong>Postinitialize Event(0)</strong>" Événement <strong>après l'affichage </strong>d'une <strong>page</strong>. </li><li><strong>"Page Exite Event(0"</strong> Événement <strong>à la fermeture </strong>de la page.</li></ul>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="718" height="227" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/44-Editeur-NEXTION-Event.png" alt="Vue du volet EVENT de l'éditeur NEXTION. Avec les 4 onglets.
Preinitialize event, Postinitialise event, Touch presse event, Touche release event." class="wp-image-3842" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/44-Editeur-NEXTION-Event.png 718w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/44-Editeur-NEXTION-Event-300x95.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/44-Editeur-NEXTION-Event-700x221.png 700w" sizes="auto, (max-width: 718px) 100vw, 718px" /></figure></div>



<p class="wp-block-paragraph"><em>Pour plus de détaille référez vous à ce lien</em> <a href="https://nextion.tech/editor_guide/"><span class="has-inline-color has-vivid-cyan-blue-color"><em><span style="text-decoration: underline;">Le guide de l’éditeur Nextion</span></em></span></a></p>



<p class="wp-block-paragraph"> Dans la zone de saisi de l'onglet "<strong>Touch Press Event(0)</strong>" écrivons l'instruction ci dessous.</p>



<figure class="wp-block-image is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/45-Editeur-NEXTION-instruction-page.png" alt="Vue de l'instruction saisi dans l'onglet &quot;Touch Press Event(0)&quot;." class="wp-image-3844" width="882" height="30" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/45-Editeur-NEXTION-instruction-page.png 529w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/45-Editeur-NEXTION-instruction-page-300x10.png 300w" sizes="auto, (max-width: 882px) 100vw, 882px" /></figure>



<div class="wp-block-image"><figure class="alignleft"><img loading="lazy" decoding="async" width="187" height="58" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/46-Editeur-NEXTION-Compile.png" alt="Vue du logo &quot;COMPILE &quot; sous la barre des menus de l'éditeur NEXTION." class="wp-image-3845"/></figure></div>



<p class="wp-block-paragraph">Testons premièrement<strong> l'exactitude de notre programmation</strong> d'événements en utilisant <strong>"Compile</strong>" sous la barre des menus. <br>Une compilation exécute <strong>l'enregistrement fichier de votre projet</strong> et de ce fait, renvoie ses résultats de compilations dans le volet "<strong>Output</strong>" et en cas d'erreurs le message s'affiche en rouge. <br>Deuxièmement, si tout est "ok" faisons un test par le "<strong>Débug</strong>".<br><br>Ça fonctionne bravo! Encore une étape de passé! Ainsi, vous touchez du doigt la <strong>programmation de votre projet</strong>. -Si l'on peux dire !!-<br><br>Mais retenons que <strong>chaque composants </strong>d'une page peut <strong>générer des événements </strong>en programmant dans leurs volet "<strong>EVENT</strong>".<br><br><strong>Restons sur la seconde page !</strong><br>La prochaine étape consistera donc à<strong> revenir à la page précédente en appuyant sur un bouton.</strong></p>



<h5 class="wp-block-heading" id="h-le-bouton"><span style="text-decoration: underline;">Le bouton.</span></h5>



<div class="wp-block-image"><figure class="alignleft"><img loading="lazy" decoding="async" width="187" height="58" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/47-Editeur-NEXTION-Bouton.png" alt="Vue du Logo et paramètre dans le volet &quot;Tollbox&quot; pour le composant bouton. " class="wp-image-3847"/></figure></div>



<p class="wp-block-paragraph">Une fois de plus servons nous dans la "<strong>Tollbox</strong>" pour <strong>le composant bouton</strong>. <br><br><strong>De la même façon que&nbsp;les objets déjà utilisés il est paramétrable en formes et styles.</strong><br>Affichons "<strong>RETOUR</strong>" dessus (txt).</p>



<div class="wp-block-image"><figure class="alignleft"><img loading="lazy" decoding="async" width="187" height="58" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/48-Editeur-NEXTION-Bouton-retour.png" alt="Vue du bouton. " class="wp-image-3849"/></figure></div>



<p class="wp-block-paragraph"><em>Rappelons une dernière fois que vous trouvez en fin de tutoriel un tableau qui décrit les différentes fonctions de chaque paramètres que l'on peut y trouver, en fonction des composants.</em></p>



<p class="wp-block-paragraph">Ensuite dans l'onglet "<strong>Touch Press Event</strong>" du bouton écrivons l'instruction</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/49-Editeur-NEXTION-Bouton-retour-event.png" alt="Vue de l'instruction &quot;Touch Press Event&quot; du bouton." class="wp-image-3851" width="221" height="27"/></figure></div>



<div class="wp-block-image"><figure class="alignleft"><img loading="lazy" decoding="async" width="203" height="67" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/50-Editeur-NEXTION-aide-contextuel.png" alt="Vue exemple de l' aide contextuelle à la programmation." class="wp-image-3852"/></figure></div>



<p class="wp-block-paragraph">En outre lors de la saisi une <strong>aide contextuelle</strong> nous assiste en proposant des raccourcis <strong>par mots clés</strong>. <br><br>Puis clôturons par une compilation et si tout est "Ok" faisons un essais "<strong>Debug</strong>".<br><br>Encore bravos, une seconde étape est une fois de plus de franchis !!<br>Ensuite abordons <strong>les bases des événements tactiles par bouton</strong> il est temps pour la <strong>prochaine étape d'utiliser la programmation des commandes à boutons pour renseigner une valeur en affichage.</strong></p>



<h5 class="wp-block-heading" id="h-afficher-des-donn-es"><span style="text-decoration: underline;"><strong>Afficher des do</strong>nnées.</span></h5>



<p class="wp-block-paragraph">La prochaine étape consistera, lors de l'appuie sur un bouton, à<strong> afficher</strong> <strong>deux type de données</strong>, l'une texte et l'autre numérique.</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/51-Editeur-NEXTION-Number.png" alt="Vue du logo de composant &quot;Number&quot; (=Nombre) qui permet d'afficher des valeurs numérique." class="wp-image-3855" width="188" height="62"/></figure></div>



<p class="wp-block-paragraph">En bref, pour cela, ajoutons <strong>les composant</strong> "<strong>text</strong>" (=Nombre) et <strong>"Number"</strong> (=Nombre) qui <strong>permet d'afficher des valeurs numérique et entière.</strong> <br><br>Nommons le boutons "<strong>Charge</strong> ".</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="819" height="497" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/52-Editeur-NEXTION-apercu-chargement-données.png" alt="Aperçu de l'écran tactile complété des divers composants TEXT, NOMBRE et BOUTONS ajouté précédemment." class="wp-image-3856" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/52-Editeur-NEXTION-apercu-chargement-données.png 819w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/52-Editeur-NEXTION-apercu-chargement-données-300x182.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/52-Editeur-NEXTION-apercu-chargement-données-768x466.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/52-Editeur-NEXTION-apercu-chargement-données-268x164.png 268w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/52-Editeur-NEXTION-apercu-chargement-données-700x425.png 700w" sizes="auto, (max-width: 819px) 100vw, 819px" /></figure></div>



<p class="wp-block-paragraph">Une fois les composants en forme et placés, sélectionnons le bouton "<strong>charge</strong>" puis <strong>programmons le.</strong><br><br>Écrivons les <strong>instructions</strong> ci-dessous. </p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="851" height="77" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/53-Editeur-NEXTION-instructions-chargements-données.png" alt="Vue des instructions au BOUTON CHARGE." class="wp-image-3858" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/53-Editeur-NEXTION-instructions-chargements-données.png 851w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/53-Editeur-NEXTION-instructions-chargements-données-300x27.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/53-Editeur-NEXTION-instructions-chargements-données-768x69.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/53-Editeur-NEXTION-instructions-chargements-données-700x63.png 700w" sizes="auto, (max-width: 851px) 100vw, 851px" /></figure>



<p class="wp-block-paragraph"><em><strong>Rappelons une dernière fois de prendre garde à la grandeur maximales que peut accepter chaque composants. </strong>Voire le paramètre "txt_maxl".</em><br><br>Finalement <strong>compilons et testons</strong> notre programme. <br>Un appuie sur le boutons "<strong>Charge</strong>" et s'affichent les données "<strong>12</strong>" et "<strong>Nombre</strong>" dans les composants.<br><br>Encore bravos !!!<br>Mais avant l'étape suivante <strong>revenons sur les instructions précédentes.</strong></p>



<h5 class="wp-block-heading" id="h-d-clarations-des-variables-sous-l-diteur-nextion"><span style="text-decoration: underline;"><strong>Déclarations des variables sous l'éditeur NEXTION</strong>.</span></h5>



<p class="has-very-dark-gray-color has-text-color wp-block-paragraph">N'oublions pas que dans tout programmes informatiques les déclaration sont primordiale.<br>Donc voici dessous le format de déclaration de variable.<br><strong>Variable</strong>.<strong>type</strong>.<br>Cependant, dans la programmation NEXTION, il faut <strong>réitérer cette façon de faire appel à une variable.</strong><br>Comme le montre l'exemple ci dessous.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="208" height="31" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/54-Editeur-NEXTION-Exemple-Déclaration.png" alt="Vue du format de déclaration de variable. Variable.val=5" class="wp-image-3859"/></figure>



<p class="wp-block-paragraph">Prenons le cas de notre exemple, "<strong>n0</strong>" et "<strong>t1</strong>" correspondent respectivement aux <strong>variables des composants</strong> numérique et texte.<br>Puis suivis du <strong>point "."  </strong>dit, par traduction, <strong>séparateur de période</strong>.<br>Pour conclure "<strong>val</strong>" et <strong>txt</strong>" correspondent respectivement aux <strong>type des variables </strong>numérique et texte.<br><strong>Il faut savoir que la programmation ne supporte pas les espaces.</strong><br>t0. val = "texte" ne fonctionne pas.(t0.val="texte" correcte)<br><br>Nous sommes donc <strong>capable de charger des données</strong> vers un composant texte ou numérique.<br>Mais nous pouvons tout aussi bien le faire vers <strong>une variable.</strong></p>



<h5 class="wp-block-heading" id="h-les-variables-nextion"><span style="text-decoration: underline;">Les variables NEXTION.</span></h5>



<p class="wp-block-paragraph">Considérons les <strong>composants </strong>à l'écran comme des <strong>entrées ou des sorties </strong>mais de type tactiles et graphiques.<br>Par conséquent pour <strong>traiter des données internes</strong> à l'affichage il faut utiliser des <strong>variables</strong>.</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/55-Editeur-NEXTION-Variable.png" alt="Vue du logo paramètre du  composant  &quot;Variable&quot;." class="wp-image-3860" width="190" height="44"/></figure></div>



<p class="wp-block-paragraph">Pour <strong>crée une variable</strong> une fois de plus nous devons faire appel à un <strong>composant </strong>qui porte le juste nom de "<strong>Variable</strong>".<br>En revanche contrairement aux autres composant il n'est pas installé dans l'aperçu mais <strong>dans le bandeau</strong> qui s'ouvre juste en dessous.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="576" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/56-Editeur-NEXTION-Variable-bandeau-1024x576.png" alt="Vue globale de l'éditeur. Mise en évidence de la zone de déclaration variables dans le bandeau qui s'ouvre juste en dessous de l'aperçu." class="wp-image-3862" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/56-Editeur-NEXTION-Variable-bandeau-1024x576.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/56-Editeur-NEXTION-Variable-bandeau-300x169.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/56-Editeur-NEXTION-Variable-bandeau-768x432.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/56-Editeur-NEXTION-Variable-bandeau-700x393.png 700w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/56-Editeur-NEXTION-Variable-bandeau.png 1919w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/57-Editeur-NEXTION-Variable-Va0.png" alt="Vue détaillé d'une variable. Carré inscrit va0 en haut à gauche." class="wp-image-3863" width="156" height="147"/></figure></div>



<p class="wp-block-paragraph">Par défaut elle aura le nom de "<strong>va0</strong>" mais comme tout les autres composants sont <strong>nom peut être modifié dans le volet ATTRIBUTE</strong>.</p>



<div class="wp-block-image"><figure class="alignleft"><img loading="lazy" decoding="async" width="200" height="47" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/58-Editeur-NEXTION-Variable-154.png" alt="Vue d'une instruction d'affectation de valeur à une variable. va0.val=154." class="wp-image-3864"/></figure></div>



<p class="wp-block-paragraph">Pour <strong>affecter une valeur</strong> à une variable respectons le format vu précédemment, en se rappelant de <strong>ne pas mettre d'espace.</strong><br>va0.val=154<br><br>Faisons l'exercice de <strong>charger une valeur dans la variable</strong> "<strong>va0</strong>" lors d'un appuie sur le bouton "<strong>charge</strong>". Ensuite additionnons à <strong>la variable</strong> "<strong>va0</strong>" la valeur du composant "<strong>n0</strong>". Et finalement <strong>affichons le résultat </strong>sur<strong> un autre composant numérique</strong> "<strong>n1</strong>".<br>Écrivons les instructions suivantes à la suite du programme.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="601" height="70" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/59-Editeur-NEXTION-Instructions-resultat.png" alt="Vue des instructions de chargement, calcul et affichage d'une valeur avec les variables." class="wp-image-3865" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/59-Editeur-NEXTION-Instructions-resultat.png 601w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/59-Editeur-NEXTION-Instructions-resultat-300x35.png 300w" sizes="auto, (max-width: 601px) 100vw, 601px" /></figure>



<p class="wp-block-paragraph">Une fois cela fait, faisons une compilation et un test.</p>



<figure class="wp-block-image size-large"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-affichage-donnees.png"><img loading="lazy" decoding="async" width="802" height="486" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-affichage-donnees.png" alt="" class="wp-image-4656" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-affichage-donnees.png 802w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-affichage-donnees-300x182.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-affichage-donnees-768x465.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2021/08/NEXTION-Ecran-affichage-donnees-700x424.png 700w" sizes="auto, (max-width: 802px) 100vw, 802px" /></a></figure>



<p class="wp-block-paragraph">Bravos, c'est finalement la <strong>dernière étape</strong> de l'exploration des divers fonctionnalités de l'éditeur <strong>NEXTION</strong>. En définitive nous sommes <strong>capable de manipuler des pages</strong>, leurs <strong>composants</strong>, leurs <strong>variables internes</strong> et <strong>générer des événements tactiles</strong>.</p>



<p class="wp-block-paragraph">Mais vous trépignez surement d'impatience à l'idée de voire <strong>le résultat</strong> <strong>de notre travail</strong> à l'écran tactile NEXTION et de tester votre programme !!</p>



<p class="wp-block-paragraph">Or patience, car avant cela il nous faut <strong>charger le programme dans l'écran tactile.</strong></p>



<h5 class="wp-block-heading" id="h-chargement-du-projet-de-l-diteur-nextion-vers-l-cran-tactile"><span style="text-decoration: underline;"><span class="has-inline-color has-black-color">Chargement du projet de l'éditeur NEXTION vers l'écran tactile.</span></span></h5>



<p class="wp-block-paragraph">Néanmoins, au préalable,<strong> préparons les branchements d'alimentation</strong> de l'écran, mais<strong> sans le connecter à l'Arduino.</strong><br><br>Pour ce faire, il vas donc nous falloir une <strong>carte micro "SD"</strong> formaté en "<strong>FAT32</strong>".</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/03/60-Editeur-NEXTION-Open-build-folder.png" alt="Vue des onglets de menu. 
Onglet File activé.
Choix en sélection &quot;Open build folder&quot;.
Affichage du dossier et de l'emplacement de destination SD." class="wp-image-3866" width="316" height="246"/></figure></div>



<p class="wp-block-paragraph">Puis ouvrir le dossier de construction "<strong>Open build folder</strong>" dans le menu "<strong>file</strong>" et rechercher le fichier projet "<strong>Etape NEXTION.tft</strong>".<br>Ensuite faire<strong>&nbsp;copie et le coller à l'emplacement de la carte "SD".</strong> <br><br>Par contre <strong>prenons garde&nbsp;</strong>à ce que le fichier soit<strong> le seul de type "tft"</strong>. Par conséquent, dédions Idéalement, une carte vierge juste pour cela.<br>Ensuite une fois le <strong>projet dans la carte</strong> <strong>SD </strong>insérons là à l'écran tactile. <br><br>A présent alimentons l'écran.</p>



<p class="wp-block-paragraph">En premier lieu, <strong>à l'allumage,</strong> il entre en <strong>phase d'initialisation</strong> et <strong>détecte la présence d'une carte "SD"</strong> puis charge les données contenus dans la carte vers sa mémoire interne. Par la suite affiche le message "<strong>Check Data</strong> <strong>100% / Update Successed"</strong> qui indique sont initialisation complète et terminé avec succès.<br>Maintenant <strong>désactivons puis réactivons l'alimentation </strong>de&nbsp;l'écran Afin qu'il <strong>se configure suivant les nouvelles données et exécute notre projet</strong>.<br>L'écran est<strong> </strong>ainsi <strong>prêt à être exploiter</strong> et n'attends plus que vos <strong>actions tactiles pour exécuter </strong>vos <strong>instructions.</strong><br><br>En fin de compte, c'est une belle<strong> avancé dans l'exploration des écrans tactiles NEXTION</strong> qui vous permettra la constructions de vos projets sur ce type de supports HMI.</p>



<h2 class="wp-block-heading" id="h-tableau-des-42-attribues-de-composants">Tableau des 42 attribues de composants.</h2>



<p class="wp-block-paragraph"> 
<table id="tablepress-5" class="tablepress tablepress-id-5">
<thead>
<tr class="row-1">
	<th class="column-1">Mnémoniques</th><th class="column-2">Fonctions.</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">id</td><td class="column-2">Identifiant de l'objet.</td>
</tr>
<tr class="row-3">
	<td class="column-1">objname</td><td class="column-2">Nom de l'objet. (à saisir)</td>
</tr>
<tr class="row-4">
	<td class="column-1">type</td><td class="column-2">Numéros du type d'objet.</td>
</tr>
<tr class="row-5">
	<td class="column-1">vscope</td><td class="column-2">Local / global.<br />
Portée de la variable.Visible localement dans la page en cours ou visible globalement dans toutes les pages.<br />
</td>
</tr>
<tr class="row-6">
	<td class="column-1">sta</td><td class="column-2">crop image / solid color / image.<br />
Remplissage du fond: image sans recadrage, couleur unie ou image.</td>
</tr>
<tr class="row-7">
	<td class="column-1">dez</td><td class="column-2">Horizontal / Vertical<br />
Direction de la barre de progression.<br />
Horizontal / vertical.</td>
</tr>
<tr class="row-8">
	<td class="column-1">style</td><td class="column-2">flat / border / 3D_down / 3D_up / 3D_Auto.<br />
Style d'affichage du bouton. Plat, bordure, 3D_Bas, 3D_haut ou 3D_Auto.</td>
</tr>
<tr class="row-9">
	<td class="column-1">key</td><td class="column-2">full qwerty-kebod\ -  numeric keboard\ -  speed dial-keybdC / None.<br />
Configuration du type de clavier utilisé en addition avec l'écran.</td>
</tr>
<tr class="row-10">
	<td class="column-1">pic</td><td class="column-2">Permet d'affecter une image au composant.<br />
Double clic pour activer la sélection d'images..</td>
</tr>
<tr class="row-11">
	<td class="column-1">picc</td><td class="column-2">Permet d'affecter une  image en coupe superposé.<br />
Double clic pour activer la sélection d'images..</td>
</tr>
<tr class="row-12">
	<td class="column-1">bco</td><td class="column-2">Couleur de fond par défaut. Choix de personnalisation en palette de couleur.</td>
</tr>
<tr class="row-13">
	<td class="column-1">bc02</td><td class="column-2">Couleur de fond par défaut lors d'une pression sur le bouton. Choix de personnalisation en palette de couleur.</td>
</tr>
<tr class="row-14">
	<td class="column-1">pco</td><td class="column-2">Couleur de police par défaut. Choix de personnalisation en palette de couleur.</td>
</tr>
<tr class="row-15">
	<td class="column-1">pc02</td><td class="column-2">Couleur de police par défaut lors d'une pression sur le composant. Choix de personnalisation en palette de couleur.</td>
</tr>
<tr class="row-16">
	<td class="column-1">hig</td><td class="column-2">Hauteur du curseur.<br />
En fonction de la taille.</td>
</tr>
<tr class="row-17">
	<td class="column-1">hiw</td><td class="column-2">Largeur du curseur.<br />
En fonction de la taille.</td>
</tr>
<tr class="row-18">
	<td class="column-1">val</td><td class="column-2">État initiale ou valeur attribué à un composant.<br />
Logique, analogique ou donnée numériques.</td>
</tr>
<tr class="row-19">
	<td class="column-1">maxval</td><td class="column-2">Valeur maximale de donnée de composant.</td>
</tr>
<tr class="row-20">
	<td class="column-1">minval</td><td class="column-2">Valeur minimale de donnée de composant.</td>
</tr>
<tr class="row-21">
	<td class="column-1">font</td><td class="column-2">Numéros de police par défaut.</td>
</tr>
<tr class="row-22">
	<td class="column-1">xcen</td><td class="column-2">Left / Center / Right.<br />
Positionnement horizontale de l'affichage. Gauche, centré ou à droite.</td>
</tr>
<tr class="row-23">
	<td class="column-1">ycen</td><td class="column-2">Left / Center / Right.<br />
Positionnement verticale de l'affichage. Gauche, centré ou à droite.</td>
</tr>
<tr class="row-24">
	<td class="column-1">pw</td><td class="column-2">Character / Password<br />
Type d'entrée.<br />
Caractère /mot de passe</td>
</tr>
<tr class="row-25">
	<td class="column-1">dir</td><td class="column-2">Left to Right / Right to Left / Up to Down / Down to Up.<br />
Sens de défilement.<br />
De gauche à droite, de droite à gauche, de haut en bas ou de bas en haut.</td>
</tr>
<tr class="row-26">
	<td class="column-1">tim</td><td class="column-2">Temps d'intervalle en ms (à saisir de 80 à 65535)<br />
Vitesse de défilement.</td>
</tr>
<tr class="row-27">
	<td class="column-1">dis</td><td class="column-2">Distance de défilement en pixels (à saisir de 2 à 50).<br />
Définis le pas d'avance plus ou moins grand.</td>
</tr>
<tr class="row-28">
	<td class="column-1">txt</td><td class="column-2">Contenu du message ou données à afficher au composant. (à saisir).<br />
Texte ou hyperliens QRcode</td>
</tr>
<tr class="row-29">
	<td class="column-1">txt_maxl</td><td class="column-2">Taille maximum du nombre de caractères contenu dans l'affichage. (à saisir).</td>
</tr>
<tr class="row-30">
	<td class="column-1">isbr</td><td class="column-2">True / False<br />
Envoloppe. Vrais ou faux.</td>
</tr>
<tr class="row-31">
	<td class="column-1">lenth</td><td class="column-2">Montre le nombre de chiffres maxi à afficher.<br />
0-auto, Max-10</td>
</tr>
<tr class="row-32">
	<td class="column-1">format</td><td class="column-2">Decimal /Currency / Hex<br />
Type de format.<br />
Décimal / segmenté / Hexadécimale.</td>
</tr>
<tr class="row-33">
	<td class="column-1">spax</td><td class="column-2">Espacement horizontal entre les caractères des mots contenu dans l'affichage depuis le point de positionnement "xcen/ycen"  (à saisir de 0 à 255).</td>
</tr>
<tr class="row-34">
	<td class="column-1">spay</td><td class="column-2">Espacement verticale entre les caractères des mots contenu dans l'affichage depuis le point de positionnement "xcen/ycen"  (à saisir de 0 à 255).<br />
</td>
</tr>
<tr class="row-35">
	<td class="column-1">x</td><td class="column-2">Coordonnées en abscisse de positionnement du bouton. Utile pour l'alignement de plusieurs objets. (à saisir suivant résolution écran)</td>
</tr>
<tr class="row-36">
	<td class="column-1">y</td><td class="column-2">Coordonnées en ordonnées de positionnement du bouton. Utile pour l'alignement de plusieurs objets. (à saisir suivant résolution écran)</td>
</tr>
<tr class="row-37">
	<td class="column-1">w</td><td class="column-2">Largeur du bouton. (à saisir).</td>
</tr>
<tr class="row-38">
	<td class="column-1">h</td><td class="column-2">Hauteur du bouton. (à saisir).</td>
</tr>
<tr class="row-39">
	<td class="column-1">tim</td><td class="column-2">Défini le temps d'activation en ms.<br />
50 à 65535.</td>
</tr>
<tr class="row-40">
	<td class="column-1">en</td><td class="column-2">Activation du "timer"<br />
0 = Désactivé, 1 = Activé</td>
</tr>
<tr class="row-41">
	<td class="column-1">gdw</td><td class="column-2">Largeur de la grille.<br />
0 = Aucune.</td>
</tr>
<tr class="row-42">
	<td class="column-1">gdh</td><td class="column-2">Hauteur de la grille.<br />
0 = Aucune.</td>
</tr>
<tr class="row-43">
	<td class="column-1">ch</td><td class="column-2">Nombre de canaux d'affichages.<br />
Mini 1, maxi 4.<br />
</td>
</tr>
<tr class="row-44">
	<td class="column-1"></td><td class="column-2"></td>
</tr>
</tbody>
</table>
 </p>



<p class="wp-block-paragraph">Quant à vous, <em><a href="https://plaisirarduino.fr/telechargement/"><strong><span class="has-inline-color has-vivid-cyan-blue-color">Téléchargez</span></strong></a> </em>l'exemple <em><span class="has-inline-color has-vivid-cyan-blue-color"><span style="text-decoration: underline;">"Tuto NEXTION Éditeur"</span></span></em> dans la rubrique "Download" et amusez vous avec les bases de ce tutoriel pour créer vos projet et découvrir les autres composants !!<br>Rejoignez nous aussi sur le projet <span class="has-inline-color has-vivid-cyan-blue-color"><span style="text-decoration: underline;"><em>"Clavier NEXTION"</em></span></span> et élargissez vos compétences pour optimiser vos projets. <br><br>Encore une fois, <strong>merci de votre lecture</strong>.</p>



<p class="has-text-align-center wp-block-paragraph"><strong><em><a href="https://plaisirarduino.fr/" target="_blank" rel="noreferrer noopener"><span class="has-inline-color has-vivid-cyan-blue-color"><span style="text-decoration: underline;">PlaisirArduino.fr</span></span></a></em></strong></p>



<p class="has-text-align-center wp-block-paragraph" id="h-fin-1"><strong><a href="https://plaisirarduino.fr/"><em><span class="has-inline-color has-vivid-cyan-blue-color"><span style="text-decoration: underline;">FIN</span></span></em></a></strong></p>
<p>Cet article <a href="https://plaisirarduino.fr/nextion-ecran-tactile-editeur/">NEXTION EDITOR l&rsquo;éditeur pour écran tactile.</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MENU LCD PAR POTENTIOMÈTRE</title>
		<link>https://plaisirarduino.fr/menu-lcd-saisi-potentiometre/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Sun, 10 Mar 2019 19:21:02 +0000</pubDate>
				<category><![CDATA[Projet]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=2938</guid>

					<description><![CDATA[<p>Pour faire suite à vos observations sur la disponibilité limité de broches exploitables (1) du projet exemple "LCD_MENU ARDUINO" . Voici un en réponse à vos attentes un projet exemple qui libèrera deux entrées dans vos projets. Il est vrai que l'exploitation d'un afficheur LCD 8bit est gourmand en brochages. &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/menu-lcd-saisi-potentiometre/">MENU LCD PAR POTENTIOMÈTRE</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Pour faire suite à vos observations sur la disponibilité limité de broches exploitables (1) du projet exemple <strong><em>"</em><a href="https://plaisirarduino.fr/cree-un-menu-sur-lcd-avec-arduino/"><span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;"><em>LCD_M</em><em>ENU ARDUINO</em></span></span></a><em>" </em></strong>. Voici un en réponse à vos attentes un projet exemple qui libèrera deux entrées dans vos projets.</p>
<p><figure id="attachment_2266" aria-describedby="caption-attachment-2266" style="width: 1054px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-2266 size-full" title="Afficheur LCD." src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min.png" alt="" width="1054" height="468" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min.png 1054w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-300x133.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-768x341.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-1024x455.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-700x311.png 700w" sizes="auto, (max-width: 1054px) 100vw, 1054px" /><figcaption id="caption-attachment-2266" class="wp-caption-text">Afficheur LCD.</figcaption></figure></p>
<p>Il est vrai que l'exploitation d'un afficheur LCD 8bit est gourmand en brochages.<br />
Ainsi le but de ce projet est de<strong> récupérer deux entrées supplémentaires, en supprimant les</strong> <strong>boutons PLUS (+) et MOINS (-), en les remplaçant par un POTENTIOMÈTRE.</strong></p>
<h4><strong><span style="text-decoration: underline; color: #0000ff;">Le matériel</span></strong></h4>
<ul>
<li>Carte Arduino UNO.</li>
<li>Un afficheur LCD. 16X2.</li>
<li>Deux (2) LED -Rouge -Vert.</li>
<li>Trois (3) résistances de charge de 220 ohm.(pour les boutons hors pull_up).</li>
<li>1 bouton poussoir.</li>
<li>Un potentiomètre de 10k ohm pour l'écran LCD.</li>
<li>Un potentiomètre de 10k ohm pour l'évolution dans le MENU.</li>
</ul>
<p><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">LE SCHÉMA DES BRANCHEMENTS.</span></span></strong></p>
<p><figure id="attachment_2951" aria-describedby="caption-attachment-2951" style="width: 1031px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2951 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Menu-commande-LED-potar-schéma.png" alt="" width="1031" height="625" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Menu-commande-LED-potar-schéma.png 1031w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Menu-commande-LED-potar-schéma-300x182.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Menu-commande-LED-potar-schéma-768x466.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Menu-commande-LED-potar-schéma-1024x621.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Menu-commande-LED-potar-schéma-700x424.png 700w" sizes="auto, (max-width: 1031px) 100vw, 1031px" /><figcaption id="caption-attachment-2951" class="wp-caption-text">Schéma des branchements.</figcaption></figure></p>
<h4><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Étude de projet.</span></span></strong></h4>
<p>Toutefois grâce aux précédents projets <span style="text-decoration: underline;"><strong><span style="color: #33cccc; text-decoration: underline;"><a style="color: #33cccc; text-decoration: underline;" href="https://plaisirarduino.fr/thermostat-temperature-arduino/">Menu_Thermostat</a></span></strong></span> et&nbsp; <a href="https://plaisirarduino.fr/cree-un-menu-sur-lcd-avec-arduino/"><span style="text-decoration: underline;"><strong><span style="color: #33cccc; text-decoration: underline;">Menu_LCD_commande_LED</span></strong></span></a> nous avons vu comment piloter un projet à l'aide d'un MENU et d'un clavier à boutons.</p>
<p>En effet, &nbsp;vous avez sûrement constaté que l'exploitation d'un <strong>afficheur LCD</strong>&nbsp;(8 ou 4 bits)<strong> utilise déjà 6 entrées au minimum.</strong><br />
De surcroît pour naviguer dans le menu il nous faut <strong>trois (3) boutons minimum pour l'exploitation du menu</strong> PLUS, MOINS et ENTRÉE.<br />
En somme cela nous fait un total de neuf (9) entrées exploitées rien que pour notre interface.<br />
Ce qui par conséquent mise à part les broches zéro (0) et un (1) <strong>ne laisse plus qu'une broche d'</strong> <a href="https://plaisirarduino.fr/les-entrees-sortie-de-la-platine-arduino/"><span style="text-decoration: underline; color: #33cccc;">entrée/sortie</span></a> <strong>exploitable</strong>.<br />
Suivant le schéma des projets précédents; la broche treize (13).</p>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">Évolution du menu par potentiomètre.</span></strong></span></h4>
<p>Il faut donc repenser la sélection des fenêtres et la saisie des paramètres dans le menu. Nous utiliserons donc <strong>la valeur de retour d'un potentiomètre&nbsp;</strong> pour incrémenter les fenêtres et la valeur de saisie.</p>
<p>Pour commencer&nbsp; nous faisons <a href="https://plaisirarduino.fr/signaux-dentrees-et-sortie-analogique/"><span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;">l'acquisition</span></span></a> du potentiomètre en divisant par cent sa valeur pour <strong>obtenir stabilité en butée du potentiomètre et une valeur de 0 à 10.</strong></p>
<p>Ensuite pour la <strong>sélection des fenêtres,</strong> nous<strong> ajustons la mesure&nbsp;traité avec le nombre des repères de fenêtres</strong> par une mise en butée de un (1) à six(6).<br />
Enfin pour <strong>la saisie</strong> nous <strong>ajustons la mesure traité</strong> par une mise en butée de un (1) à neuf(9) pour la<strong> valeur de chaque chiffre de saisie.</strong></p>
<p><img loading="lazy" decoding="async" class="wp-image-3595 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-Acquisition.png" alt="" width="694" height="177" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-Acquisition.png 798w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-Acquisition-300x77.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-Acquisition-768x196.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-Acquisition-700x179.png 700w" sizes="auto, (max-width: 694px) 100vw, 694px" /></p>
<p>Étant donné que <strong>la sélection et la saisie n'utilisent pas les mêmes valeurs,&nbsp;</strong>il va donc falloir <strong>deux variables distinctes</strong> pour chacune de ces deux étapes.</p>
<h4><span style="text-decoration: underline; color: #0000ff;"><strong>La sélection des fenêtres.</strong></span></h4>
<p>Tout d'abord, la sélection des fenêtres s’effectuera suivant le principe du projet <span style="text-decoration: underline;"><strong><span style="color: #33cccc; text-decoration: underline;"><a style="color: #33cccc; text-decoration: underline;" href="https://plaisirarduino.fr/cree-un-menu-sur-lcd-avec-arduino/">Menu_LCD_commande_LED</a></span></strong></span> et sur l'incrémentation de la <strong>variable de "selection"</strong>.</p>
<h4><span style="color: #0000ff;"><strong><span style="text-decoration: underline;">La saisie des données de paramètres.</span></strong></span></h4>
<p>La saisie des valeurs de paramètres s’effectue comme pour le projet cité ci-dessus avec l'incrémentation de la <strong>variable "incremente".<br />
</strong></p>
<p>Toutefois par la suppression du bouton MOINS "-" il n'est <strong>plus possible de sortir du mode de saisi</strong> <strong>sans</strong> <strong>avoir validé une valeur.</strong><br />
Afin de ne pas valider une saisi erroné ou non souhaité nous créons<strong> une fenêtre pour confirmer la saisi.<br />
</strong></p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-3596 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-confirmation.png" alt="" width="957" height="228" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-confirmation.png 957w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-confirmation-300x71.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-confirmation-768x183.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-confirmation-700x167.png 700w" sizes="auto, (max-width: 957px) 100vw, 957px" /></p>
<h4><span style="text-decoration: underline; color: #0000ff;"><strong>Ce qui change dans la structure.</strong></span></h4>
<p><strong>l’aspect le plus important de cet exemple est que la structure du menu restent sensiblement les mêmes</strong> que les projets précédents.<br />
Néanmoins nous <strong>avons ajouté une fenêtre de retour</strong> sur laquelle un appui sur le bouton ENTRÉE permet un <strong>retour à la fenêtre de lecture.</strong></p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-3570 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-retour.png" alt="" width="851" height="205" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-retour.png 851w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-retour-300x72.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-retour-768x185.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/02/Menu-potar-fenetre-retour-700x169.png 700w" sizes="auto, (max-width: 851px) 100vw, 851px" /></p>
<p>Finalement la principale chose qui change est dans le fait que <strong>le menu conserve l'état de sélection actuel en fonction de la position du potentiomètre.</strong><br />
Malgré cela, au bout du compte, nous y gagnons deux entrées supplémentaires !</p>
<h5 style="text-align: center;"><strong><span style="color: #0000ff;">FIN.</span></strong></h5>
<p><em>En définitif, &nbsp;vous avez là un outil d’exploitation compatible avec des projets exploitant un écran</em> <a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/"><span style="text-decoration: underline;"><strong><span style="color: #33cccc; text-decoration: underline;">LCD</span></strong></span>.</a><em><br />
</em><em>Vous pouvez à présent <strong>créer votre propre menu et opérer une saisie de données à transmettre à votre système.</strong> Explorez et amusez-vous à l’adapter à vos projets.</em></p>
<p><em><strong>En téléchargeant le sketch « <a href="https://plaisirarduino.fr/telechargement/"><span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;">MENU_LCD_SAISI_POTAR</span></span></a></strong> <strong>» vous découvrirez sans difficultés sa construction ainsi que ses différentes</strong> <a href="https://plaisirarduino.fr/les-fonctions/"><strong><span style="color: #33cccc;">fonctions.</span></strong></a> Ces fonctions ne contiennent aucune particularité que nous n’ayons pas abordé jusque là, voici donc pourquoi nous ne les détaillerons pas.</em></p>
<h2 style="text-align: center;"><strong>MERCI.</strong></h2>
<h4 style="text-align: center;"><em><strong><a href="https://plaisirarduino.fr/">Plaisir Arduino.fr</a></strong></em></h4>
<p>Cet article <a href="https://plaisirarduino.fr/menu-lcd-saisi-potentiometre/">MENU LCD PAR POTENTIOMÈTRE</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Comment piloter depuis le moniteur Aduino ?</title>
		<link>https://plaisirarduino.fr/moniteur-serie-2/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Sun, 20 Jan 2019 04:56:24 +0000</pubDate>
				<category><![CDATA[Projet]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=1067</guid>

					<description><![CDATA[<p>Les buts de ce projet est: De piloter et faire varier l'intensité lumineuse de trois LED en envoyant des données depuis le moniteur série. Connaître d'autres méthodes d'exploitation du moniteur série. Avoir la possibilité d'ajuster des variables en temps réel dans son projet sans téléverser. Avant tout, nous allons avoir &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/moniteur-serie-2/">Comment piloter depuis le moniteur Aduino ?</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3 style="text-align: left;"><span style="text-decoration: underline;">Les buts de ce projet est:</span></h3>
<ul>
<li>De <strong>piloter</strong> et faire varier l'intensité lumineuse de trois LED <strong>en </strong>envoyant des données<strong> depuis le moniteur série</strong>.</li>
<li>Connaître d'<strong>autres méthodes d'exploitation du moniteur série</strong>.</li>
<li>Avoir la possibilité <strong>d'ajuster des variables en temps réel </strong>dans son projet<strong> sans téléverser</strong>.</li>
</ul>
<p style="text-align: left;"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/04/Mointeur-série-pilote-materiel.png"><img loading="lazy" decoding="async" class=" wp-image-1092 alignleft" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/04/Mointeur-série-pilote-materiel-107x150.png" alt="Mointeur série pilote materiel" width="160" height="224" /><strong><span style="color: #000000;">Avant tout, nous allons avoir besoin de:</span></strong></a></p>
<ul>
<li><span style="color: #000000;">Trois diodes électroluminescentes (rouge)</span></li>
<li><span style="color: #000000;">Trois résistances de 220 ohms.</span></li>
</ul>
<p><span style="color: #000000;">Nous brancherons nos diodes aux broches </span><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/04/Mointeur-série-pilote-materiel.png">PWM</a> repérées  <strong>"~"</strong> et prévues pour l’exploitation du signal en MLI.</p>
<h6><span style="text-decoration: underline;">Notre schéma de branchements.</span></h6>
<p><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/04/Mointeur-série-pilote-schéma.png"><img loading="lazy" decoding="async" class="alignnone wp-image-1097 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/04/Mointeur-série-pilote-schéma.png" alt="Mointeur série pilote schéma" width="794" height="527" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/04/Mointeur-série-pilote-schéma.png 794w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/04/Mointeur-série-pilote-schéma-300x199.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/04/Mointeur-série-pilote-schéma-700x465.png 700w" sizes="auto, (max-width: 794px) 100vw, 794px" /></a></p>
<h3 style="text-align: center;"><strong><span style="text-decoration: underline; color: #0000ff;">Comment piloter nos équipements ?</span></strong></h3>
<p>En premier lieu, il nous faut <strong>sélectionner la LED</strong> que l'on souhaite piloter. Dans notre cas la led1, led2 ou led3.<br />Puis, il lui <strong>appliquer une valeur</strong> de pilotage allant de 0 à 255.</p>
<p>Par conséquent, cela nous fait <strong>deux</strong> <strong>étapes</strong>. C'est-à-dire la <strong>sélection </strong>et le<strong> pilotage</strong>.</p>
<p>Afin de réaliser ces deux étapes, plus précisément, nous utilisons <strong>des méthodes de la classe <span style="color: #ff6600;">Serial</span>. </strong></p>
<p>De sorte que la <strong>sélection</strong> des LED soit <strong>claire et simple,</strong> nous utiliserons des <strong>mots clés</strong> propre à chacune d'elles. Soit <span style="color: #000000;"><strong>led1, led2 et led3.<br /></strong>Le <strong>pilotage</strong> étant, lui, sur une <strong>base numérique.</strong><br /></span></p>
<p>De toute évidence, nous avons<strong> deux types de données à traiter</strong>.<br />Une première de <strong>type alphabétiques</strong> <strong><span style="color: #33cccc;">String</span> </strong>et la suivante de <strong>type numériques</strong> <strong><span style="color: #33cccc;">int</span></strong> "Integer" ou <strong><span style="color: #33cccc;">byte</span></strong><span style="color: #33cccc;"><span style="color: #000000;"> "byte"</span></span>.<br />Par conséquent, cela nous fait <strong>deux étapes d'acquisition. La première pour le mot clé et la seconde pour la valeur de pilotage.</strong></p>
<h3 style="text-align: center;"><span style="text-decoration: underline; color: #0000ff;"><strong>Le programme.</strong></span></h3>
<p style="text-align: justify;">Tout d’abord, le moniteur affiche un <strong>message d'ouverture et d'informations</strong> puis les diodes s'allument en test.  Les <strong>déclarations et configurations sont donc faites</strong>.</p>
<p>Tout est prêt pour commencer la programmation.</p>
<h5 style="text-align: justify;"><span style="color: #0000ff;"><span style="text-decoration: underline;"><strong>Premièrement:</strong></span>  L'acquisition des données séries.</span></h5>
<p>Commençons par la <strong>première donnée utile </strong>qui est un <strong>mot clé envoyé</strong> depuis le moniteur.</p>
<p style="text-align: left;">Tout d'abord, avec la méthode <span style="color: #ff6600;"><strong>Serial</strong></span>.<strong><span style="color: #ff6600;">available</span>();</strong> nous savons<strong> recevoir des données</strong> <strong> pour les lire.-</strong><strong><br /></strong>Mais contrairement au <strong><span style="color: #008080;"><a style="color: #008080;" href="https://plaisirarduino.fr/moniteur-serie/">tutoriel "Moniteur série"</a></span></strong>, <strong>pour les mots clés</strong>, nous utilisons la méthode <strong><span style="color: #ff6600;">Serial</span>.<span style="color: #ff6600;">readString</span>(); </strong>afin de lire le buffer sans avoir à recomposer les données de type <span style="color: #33cccc;"><strong>String</strong>.<span style="color: #000000;"><br /></span></span></p>
<p style="text-align: left;"><span style="color: #ff0000;"><img loading="lazy" decoding="async" class=" wp-image-3515 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/03-Mointeur-série-pilote-acquisition.png" alt="" width="832" height="109" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/03-Mointeur-série-pilote-acquisition.png 548w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/03-Mointeur-série-pilote-acquisition-300x39.png 300w" sizes="auto, (max-width: 832px) 100vw, 832px" /></span></p>
<p style="text-align: left;"><span style="color: #0000ff;"><strong><span style="text-decoration: underline;">Deuxièmement</span>:</strong>  Le traitement des données séries reçu.</span></p>
<p><strong><span style="text-decoration: underline;">le mot clé.</span><br /></strong>Ensuite il va falloir <strong>reconnaître le mot clé envoyé</strong> depuis le moniteur série<strong> par rapport aux mots clés</strong> <strong>prédéfinis</strong> <strong>dans un</strong> <strong><span style="color: #008080;"><a style="color: #008080;" href="https://plaisirarduino.fr/tableau-de-donnees/">tableau</a></span></strong> de type <strong><span style="color: #33cccc;">String</span></strong>.</p>
<p><span style="color: #ff0000;"><img loading="lazy" decoding="async" class="size-full wp-image-3516 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/04-Mointeur-série-pilote-tableau-mots-clés.png" alt="" width="579" height="18" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/04-Mointeur-série-pilote-tableau-mots-clés.png 579w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/04-Mointeur-série-pilote-tableau-mots-clés-300x9.png 300w" sizes="auto, (max-width: 579px) 100vw, 579px" /></span></p>
<p>De la même manière que pour deux variables, il vous suffira, dans une condition d'exécution <span style="color: #808000;"><strong>if</strong></span>(), de réaliser une <strong>comparaison de la donnée série par rapport aux mots clés du tableau.</strong></p>
<p>En outre, de la condition exécution l'utilisation d'une boucle <span style="color: #808000;"><strong>for</strong></span>() est utile pour <strong>scruter le tableau et </strong><strong>comparer la donnée</strong><strong> reçue.</strong></p>
<p>Puis une  fois la condition d'exécution vrai, on <strong>valide la donnée </strong> et on stoppe la boucle de scan par un <span style="color: #808000;"><strong>break</strong><span style="color: #000000;">.</span></span></p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-3524 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/05-Mointeur-série-pilote-scan-tableau.png" alt="" width="751" height="204" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/05-Mointeur-série-pilote-scan-tableau.png 751w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/05-Mointeur-série-pilote-scan-tableau-300x81.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/05-Mointeur-série-pilote-scan-tableau-700x190.png 700w" sizes="auto, (max-width: 751px) 100vw, 751px" /></p>
<p><span style="text-decoration: underline;"><strong>Les données de pilotage.</strong></span></p>
<p>Finalement, nous utilisons la<strong> donnée de pilotage  </strong>afin de sécuriser les systèmes.<br />Dans une condition d'exécution, nous <strong>contrôlons la donnée</strong> reçue pour interdire l'envoi d'une valeur de pilotage, aberrante.</p>
<p>Aussi pour les <strong>données de pilotages</strong> de type <span style="color: #33cccc;"><strong>int, </strong></span>nous utilisons la méthode <strong><span style="color: #ff6600;">Serial</span>.<span style="color: #ff6600;">parseInt</span>();</strong> qui permet de réaliser la lecture des données séries numériques et de les convertir en type <span style="color: #33cccc;"><strong>int</strong></span>.</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-3518 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/06-Mointeur-série-pilote-acquision-donnée.png" alt="" width="731" height="207" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/06-Mointeur-série-pilote-acquision-donnée.png 731w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/06-Mointeur-série-pilote-acquision-donnée-300x85.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/06-Mointeur-série-pilote-acquision-donnée-700x198.png 700w" sizes="auto, (max-width: 731px) 100vw, 731px" /></p>
<h5><span style="color: #0000ff;"><strong><span style="text-decoration: underline;">Troisièmement</span>:</strong> L'exécution du programme.</span></h5>
<p>En ce qui concerne l'exécution programme. Comme nous l'avons vu plus haut -Comment piloter nos équipements ?- il y a <strong>deux étapes à réaliser</strong>. Afin d'exécuter nos <strong>deux modes d'acquisition, </strong>nous utilisons <span style="color: #808000;"><strong>switch</strong></span>() et une <strong>variable de transition "etape"</strong> permettant le passage d'une étape à l'autre.</p>
<h5><span style="color: #0000ff;"><strong><span style="text-decoration: underline;">Quatrièmement</span>:</strong> Le paramétrage du moniteur.</span></h5>
<p style="text-align: justify;">Comme vu lors du <span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;"><strong><a style="color: #33cccc; text-decoration: underline;" href="https://plaisirarduino.fr/moniteur-serie/"><span style="color: #008080; text-decoration: underline;">tutoriel "Moniteur série"</span></a></strong></span></span>, il ne faut pas oublier que, les données sont traitées sur <strong>la présence ou l'absence de saut de ligne et des retours chariot.</strong><br />N'oublions donc pas de paramétrer le moniteur en mode <strong>« Pas de fin de ligne » .</strong><br />Nous pouvons à présent tester le programme et envoyer des valeurs.</p>
<p><span style="color: #ff0000;"> <img loading="lazy" decoding="async" class="size-full wp-image-3519 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/07-Mointeur-série-pilote-affichage-base.png" alt="" width="548" height="365" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/07-Mointeur-série-pilote-affichage-base.png 548w, https://plaisirarduino.fr/arduino/wp-content/uploads/2019/01/07-Mointeur-série-pilote-affichage-base-300x200.png 300w" sizes="auto, (max-width: 548px) 100vw, 548px" /></span></p>
<p style="text-align: justify;">Grâce à <strong> ce programme en exemple, il vous est possible</strong> de modifier est de <strong>piloter en temps réel sans</strong> avoir à continuellement <strong>téléverser</strong>.<br />Ainsi, vous <strong>interagissez directement avec le système de votre projet.</strong> Cela est très utile<strong> pour des phases de tests et d'ajustements de projet</strong>. Amusez vous à l'intégrer à vos projets.</p>
<p>Vous découvrirez au fur et à mesure de votre progression qu'il existe d'autres méthodes pratiques pour exploiter le moniteur série.</p>
<p style="text-align: justify;">Pour conclure, <span style="color: #008080;"><strong><a style="color: #008080;" href="https://plaisirarduino.fr/telechargement/">téléchargez</a></strong></span> le programme "Moniteur_serie_pilote" <strong>amusez vous à l'intégrer à vos projets</strong>. Encore une fois, <span style="color: #0000ff;"><strong>merci de votre lecture</strong></span>.</p>
<p style="text-align: center;"><strong><a href="https://plaisirarduino.fr/"><em><span style="text-decoration: underline; color: #008080;">Plaisir Arduino.</span></em></a></strong></p>


<p class="wp-block-paragraph"></p>
<p>Cet article <a href="https://plaisirarduino.fr/moniteur-serie-2/">Comment piloter depuis le moniteur Aduino ?</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Thermostat créé avec un LCD et Arduino.</title>
		<link>https://plaisirarduino.fr/thermostat-temperature-arduino/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Fri, 02 Mar 2018 19:56:41 +0000</pubDate>
				<category><![CDATA[Projet]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=2704</guid>

					<description><![CDATA[<p> Le thermostat. Le but de ce projet est de réaliser un thermostat et de donner quelques notions de gestion de ce type de projet. LE THERMOSTAT. Un thermostat est principalement utilisé pour surveiller un environnement thermique ambiant et pour piloter un système de chauffe. Il se compose principalement d'une sonde &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/thermostat-temperature-arduino/">Thermostat créé avec un LCD et Arduino.</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: center;"><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;"> Le thermostat.</span></span></strong></h1>
<h1 style="text-align: center;"><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;"><img loading="lazy" decoding="async" class="alignnone wp-image-2764" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/thermostat.jpg" alt="thermostat" width="240" height="160" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/thermostat.jpg 640w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/thermostat-300x200.jpg 300w" sizes="auto, (max-width: 240px) 100vw, 240px" /></span></span></h1>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/L5qG0IbKY14" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe><br />
Le but de ce projet est de <strong>réaliser un thermostat</strong> et de donner quelques notions de <strong>gestion de ce type de projet. </strong></p>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">LE THERMOSTAT.</span></strong></span></h4>
<p>Un thermostat est principalement utilisé pour <strong>surveiller un environnement thermique</strong> ambiant et pour <strong>piloter un système de chauffe</strong>.</p>
<p><b>I</b>l se compose principalement d'une<strong> sonde de température, d'une sortie de pilotage,d'un clavier de boutons et d'un afficheur.</strong></p>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">LE MATÉRIEL.</span></strong></span></h4>
<p><strong>Un potentiomètre</strong> qui simulera la variation de température.<br />
<strong>Une LED de couleur verte</strong> branchée en sortie qui simulera l'activation de notre système.<br />
<strong>Une autre LED de couleur rouge</strong> branchée en sortie qui simulera l'activation d'un défaut système.</p>
<p>Ci-dessous la liste du matériel utilisé:</p>
<ul>
<li>Une carte Arduino.</li>
<li>Un afficheur <strong><a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/"><em>LCD</em> </a></strong>. 16X2.</li>
<li>Deux (2) LED Rouge et Vert.</li>
<li>Trois (3) résistances de charge de 220 ohm.</li>
<li>Trois (3) boutons poussoirs.</li>
<li>Deux (2) potentiomètres de 10k ohm.</li>
</ul>
<h4><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">LE SCHÉMA.</span></span><br />
</strong></h4>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-2931 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Thermostat-schéma-e1520167285432.png" alt="" width="1045" height="653" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Thermostat-schéma-e1520167285432.png 1045w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Thermostat-schéma-e1520167285432-300x187.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Thermostat-schéma-e1520167285432-768x480.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Thermostat-schéma-e1520167285432-1024x640.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/03/01-Thermostat-schéma-e1520167285432-700x437.png 700w" sizes="auto, (max-width: 1045px) 100vw, 1045px" /></p>
<h4></h4>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">NOTRE CAHIER DES CHARGES.</span></strong></span></h4>
<p>Avoir un menu capable de :</p>
<ol>
<li>Afficher la température actuelle.</li>
<li>Indiquer la tendance de la température sur un temps défini.</li>
<li>Enregistrer les températures minimum et maximum.</li>
<li>Signaler les alarmes de dépassement seuil MINI et MAXI et les remettre à zéro.</li>
<li>Modifier les valeurs de paramètres de seuils.</li>
<li>Piloter des sorties en fonction du traitement signal.</li>
<li>Retourner l'état du système.</li>
</ol>
<h4><strong><span style="text-decoration: underline; color: #0000ff;">ÉTUDE DU PROJET THERMOSTAT.</span></strong><span style="color: #0000ff;"><br />
</span></h4>
<h6><strong><span style="color: #0000ff;">1 -La température.</span></strong></h6>
<p>Dans un premier temps pour <strong>connaître la température ambiante d'un milieu,</strong> il nous faut faire<a href="https://plaisirarduino.fr/signaux-dentrees-et-sortie-analogique/"><em> <span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;">l’acquisition d'un signal analogique</span></span></em></a> de la sonde de température.</p>
<h6><strong><span style="color: #0000ff;">2 - La tendance.</span></strong></h6>
<p>L'indication de tendance d’évènements fonctionne suivant le principe d'<strong>enregistrement cadencé</strong> sur un temps défini. Une comparaison dans le temps de la valeur N-1 est faite avec la valeur actuelle. En fonction de <strong>l'écart négatif, positif</strong> ou nul, on <strong>affichera un symbole</strong> à  l'écran LCD à l’occurrence une <strong>flèche allant vers le bas , le haut ou double</strong> pour une valeur stable.</p>
<p><figure id="attachment_2905" aria-describedby="caption-attachment-2905" style="width: 306px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2905 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Tendance.png" alt="" width="306" height="144" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Tendance.png 306w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Tendance-300x141.png 300w" sizes="auto, (max-width: 306px) 100vw, 306px" /><figcaption id="caption-attachment-2905" class="wp-caption-text">Symboles des tendances. + - =</figcaption></figure></p>
<p><strong>L'affichage de la tendance de la température ambiante</strong> permet une surveillance active de notre application. C'est un petit plus à notre thermostat.</p>
<h6><strong><span style="color: #0000ff;">3 - Le MINI/MAXI enregistré.</span><br />
</strong></h6>
<p>Nous souhaitons également avoir<strong> une surveillance des évènements du système.</strong> Pour cela, nous intégrons <strong>l'enregistrement des mesures de températures maximum et minimum</strong>.<br />
L'<strong>initialisation des ces valeurs</strong> doit également être possible <strong>par une commande à l'afficheur LCD.</strong></p>
<h6><strong><span style="color: #0000ff;">4 - Les alarmes et leurs signalements.</span></strong></h6>
<p>Les alarmes seront <strong>activées lors du franchissement des seuils MINI et MAXI</strong> définis en fonction de l'application par l'utilisateur.</p>
<p>Un thermostat dédié à la surveillance d'une application a pour but de <strong>signaler et ou de </strong><strong>piloter un système pour réaliser une action palliative</strong> lors de dysfonctionnements.<br />
Dans notre cas, les alarmes seront signalées par l'allumage de la <strong>LED rouge mais</strong> également par l<strong>'activation d'un pointeur à la fenêtre des mesures MINI et MAXI des températures.</strong></p>
<p>De toute évidence,<strong> une alarme qui </strong><strong>signale un dysfonctionnement</strong> doit par conséquent <strong>être maintenue</strong>.<br />
L'alarme sera donc <strong>acquittée seulement par l'action de l'utilisateur.</strong></p>
<h6><strong><span style="color: #0000ff;">5 - La modification des seuils de températures.</span></strong></h6>
<p>Comme cités ci-dessus, nous avons déjà deux seuils connus:<strong> le MAXI et le MINI.</strong></p>
<p>En plus des seuils MINI et MAXI, notre système doit être activé et désactivé à des températures définies en fonction de l'application et par l'utilisateur.<br />
D’ailleurs,<strong> la température définie</strong> pour la <strong>mise à l’arrêt</strong> d'un système de chauffage est ce que l'on appelle <strong>la consigne.</strong></p>
<p>Tout d'abord,  <strong>le point de consigne:<br />
</strong><strong> C'est un seuil</strong> auquel un système<strong> doit maintenir une application à un état ou une grandeur physique de fonctionnement</strong>. Dans notre cas, c'est une température mais cela peut être un débit, une pression, une position ou une vitesse.</p>
<p>Pour notre projet, nous l’appellerons <strong>seuil d' "ARRÊT".</strong></p>
<p>En suite, l<strong>e seuil de "MARCHE":</strong><br />
A l'inverse du point de consigne, nous avons <strong>le seuil MARCHE</strong> qui va définir la mise en <strong>service du système.</strong></p>
<p>Ils doivent être <strong>ajustés et adaptés </strong><strong>à volonté suivant la configuration et la demande d'exploitation des projets.<br />
</strong>Par conséquent, il va nous falloir <strong>la possibilité de modifier ces seuils</strong> via l'afficheur L.C.D.</p>
<p>Attention! Les seuils de températures ne doivent pas être croisés.</p>
<p>C'est-à-dire que le seuil <strong>d ’ARRÊT </strong><strong>doit toujours être supérieur au seuil de MARCHE.</strong></p>
<p>Ce qui implique également que <strong>le seuil MAXI doit toujours être supérieur au point de consigne</strong>. Mais aussi que <strong>le seuil MINI doit toujours être inférieur au seuil de MARCHE </strong>et inversement.</p>
<p>Donc, il va nous falloir<strong> contrôler les valeurs</strong><strong> lors de la saisie</strong> pour que ces conditions soient respectées.</p>
<h6><strong><span style="color: #0000ff;">6 - Les sorties.</span><br />
</strong></h6>
<p>L' <strong>activation des sorties </strong>est le résultat  du traitement du signal <strong>en fonction des seuils définis</strong> par le projet.<br />
Dans notre cas, nous avons deux sorties. L'une pour le pilotage du système matérialisé par une LED verte et l'autre pour le signalement d'alarmes par une LED rouge.</p>
<p>Conformément à notre projet, <strong>le pilotage de la sortie se fera en mode tout ou rien.</strong></p>
<h6><strong><span style="color: #0000ff;">7 - Le retour d'état.</span><br />
</strong></h6>
<p>Étant donné que  l'activation des <strong>sorties définit l'état de fonctionnement</strong> du système, nous en profitons donc pour <strong>retourner cet état</strong> MARCHE ou ARRÊT par l'affichage d'un message <strong>STOP ou RUN</strong> <strong>à l'afficheur L.C.D.</strong> Sont également affichés <strong>les états d'alarmes.</strong></p>
<p>Nous avons à présent réuni  toutes les particularités de notre projet pour passer à l'étape de <strong>programmation du menu. </strong></p>
<h4><strong><span style="text-decoration: underline; color: #0000ff;">Le menu du thermostat.</span></strong></h4>
<p>Plus concrètement, nous allons maintenant étudier<strong> le menu </strong>qui nous permettra de<strong> visualiser la température ambiante </strong>ainsi que sa tendance et qui nous permettra de <strong>saisir les valeurs de seuils.</strong></p>
<p>Suivant le cahier des charges, notre menu est composé d'une <strong>fenêtre de LECTURE </strong>pour la <strong><span style="color: #ff0000;">visualisation de la température</span> , <span style="color: #339966;">l'état du système</span> et <span style="color: #ff6600;">sa tendance</span>.</strong></p>
<p><figure id="attachment_2897" aria-describedby="caption-attachment-2897" style="width: 1036px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2897 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-fenetre-de-lecture.png" alt="" width="1036" height="234" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-fenetre-de-lecture.png 1036w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-fenetre-de-lecture-300x68.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-fenetre-de-lecture-768x173.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-fenetre-de-lecture-1024x231.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-fenetre-de-lecture-700x158.png 700w" sizes="auto, (max-width: 1036px) 100vw, 1036px" /><figcaption id="caption-attachment-2897" class="wp-caption-text">Fenêtre de lecture.</figcaption></figure></p>
<p>Somme toute, le projet est simple.<strong> Mais la complexité réside dans la conception du MENU.</strong></p>
<p>Premièrement, il faut <strong>penser la structure de notre menu</strong>. (Sur une feuille de papier !!)<br />
Voyez ci-dessous la structure qui va nous servir à la <strong>construction du programme MENU.</strong></p>
<p style="text-align: center;">Ci-dessous la structure du menu.</p>
<p><img loading="lazy" decoding="async" class="wp-image-2892 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Structure-menu..png" alt="" width="530" height="752" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Structure-menu..png 446w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Structure-menu.-211x300.png 211w" sizes="auto, (max-width: 530px) 100vw, 530px" /></p>
<h6><strong><span style="color: #0000ff;">PARAMÉTRAGE ET VISUALISATION DE DONNÉES.</span></strong></h6>
<p>Un appui sur <strong>ENTRÉE</strong> affiche les fenêtres de <strong>SÉLECTIONS de PARAMÈTRES</strong> à faire défiler par un appui sur le bouton<strong> PLUS(+).<br />
</strong>Un second appui sur <strong>ENTRÉE</strong> permet la <strong>SAISIE</strong> <strong>d'une valeur au paramètre sélectionné.<br />
</strong>Ensuite, à la fin du processus de saisie,  un appui sur <strong>ENTRÉE</strong> valide la saisie et<strong> retourne le menu à la fenêtre de LECTURE</strong>.</p>
<p>De plus, s'ajoutent <strong>deux fenêtres supplémentaires </strong>aux paramètres<strong> .</strong><br />
Une fenêtre pour la<strong> visualisation des températures MINI et MAXI</strong> <strong>mesurées</strong> et la suivante de<strong> de remise à zéro des alarmes et des mesures</strong> MINI / MAXI.</p>
<p>En outre, un appui sur<strong> le bouton MOINS (-) permet un retour à la fenêtre de LECTURE</strong> <strong>depuis les positions de SÉLECTION</strong>.</p>
<p>D'autre part, un <strong>retour systématique à la fenêtre de lecture</strong> sera effectué <strong>si aucune action au clavier n'est détectée </strong>pendant un certain temps.</p>
<h6><strong><span style="color: #0000ff;">SIGNALISATIONS LCD.</span><br />
</strong></h6>
<p>Lors d'une<strong> alarme, c</strong>elle-ci sera <strong>signalée par l'allumage de la LED rouge mais également via l'affichage LCD.<br />
</strong>Un<strong><span style="color: #ff0000;"> pointeur d'alarme</span> sous forme d'une <span style="color: #ff0000;">flèche</span> sera visible à la fenêtre des enregistrements de températures mini et maxi</strong><strong>.</strong></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2899" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Pointeur-dalarme.png" alt="" width="1036" height="234" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Pointeur-dalarme.png 1036w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Pointeur-dalarme-300x68.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Pointeur-dalarme-768x173.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Pointeur-dalarme-1024x231.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Pointeur-dalarme-700x158.png 700w" sizes="auto, (max-width: 1036px) 100vw, 1036px" /></p>
<p><strong>La fenêtre RAZ </strong>est prévue pour l’<strong>acquittement des alarmes</strong> mais aussi pour <strong>initialiser les valeurs mini/maxi</strong> enregistrées. Ce qui notamment <strong>effacera aussi le pointeur d'alarme</strong>.</p>
<h4><span style="text-decoration: underline; color: #0000ff;"><strong><span style="color: #0000ff; text-decoration: underline;">LE PROGRAMME</span>. </strong></span></h4>
<p>Dans le cas d'un MENU L.C.D., <strong>chaque action sur un bouton sélectionne un CAS particulier d'affichag</strong><strong>e.</strong><br />
Notre programme se basera donc essentiellement sur<strong> l'application de</strong> <a href="https://plaisirarduino.fr/switch-case/"><span style="color: #33cccc;">switch().</span></a></p>
<h6><strong><span style="color: #0000ff;">LE CLAVIER.</span></strong></h6>
<p>Tout d'abord, <strong>le clavier</strong> sera géré par une fonction nommée "<strong>boutons()</strong>"<strong> qui retournera les états d'activation de chaque bouton.</strong><strong><br />
</strong></p>
<h6><strong><span style="color: #0000ff;">L'AFFICHAGE DES FENÊTRES.</span></strong></h6>
<p>Pour commencer, il est  à noter qu'un affichage à répétition de boucle sur un afficheur LCD n'est pas conseillé, surtout si l'on effectue un rafraîchissement d'écran. ("clear()")<br />
Par conséquent, nous avons fait en sorte que l'affichage ne s'active qu'une seule fois.<br />
Pour cela, nous <strong>"verrouillons" les fenêtres en effectuant un conditionnement d’exécution des cas par les appuis de boutons.<br />
</strong> Une variable nommée<strong> "fenêtre" servira de "verrou"</strong> mais également de <strong>repère pour la sélection de chaque CAS de FENÊTRES.</strong></p>
<p><strong><br />
</strong>Aussi, nous faisons le choix d'utiliser une<strong> table de données, de type "String", contenant les noms de paramètres</strong> afin d<strong>'activer un affichage  standard via une fonction.</strong> Ce qui permet d'éviter la répétition des lignes de codes similaires.<strong><br />
</strong></p>
<h6><strong><span style="color: #0000ff;">LA SAISIE DE VALEUR AUX PARAMÈTRES.</span><br />
</strong></h6>
<p>Comme nous l'avons évoqué dans l'étude de projet, nous effectuons la <strong>mise en butée de la saisie (+/-1) </strong> en fonction des valeurs voisines respectives à chaque paramètre.</p>
<p>En revanche, lors d'une saisie, contrairement à l'affichage standard qui n'est activé qu'une seule fois;  une <strong>actualisation constante de la valeur est nécessaire.</strong></p>
<h6><strong><span style="color: #0000ff;">LES DONNÉES PROGRAMMES.</span></strong></h6>
<p>Afin de manipuler plus facilement les données et leurs affichages respectifs,  nous utilisons deux tableaux.<br />
Ces tableaux contiennent <strong> les valeurs de paramètres de chaque seuil et leurs noms respectifs.</strong> Ces données sont <strong>organisées en fonction de leur position d'affichage.</strong><br />
C'est-à-dire que la donnée du tableau des valeurs de seuils correspond à la donnée du tableau du nom du seuil.</p>
<p>Par exemple l'index 2 du tableau "nom_parametres[2]" qui contient "MARCHE" correspond à la valeur d'index 2 au tableau "parametres[2]" qui contient 25.(par défaut ).</p>
<p><strong>L'index 0 du tableau "parametres[0]" est utilisé pour le chargement de la valeur signal.</strong></p>
<h6 style="text-align: center;"><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">PRÉSENTATION DU MENU THERMOSTAT.</span></strong></span></h6>
<p><figure id="attachment_2894" aria-describedby="caption-attachment-2894" style="width: 523px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2894" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Structure-menu.-image.png" alt="" width="523" height="736" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Structure-menu.-image.png 462w, https://plaisirarduino.fr/arduino/wp-content/uploads/2018/02/02-Thermostat-Structure-menu.-image-213x300.png 213w" sizes="auto, (max-width: 523px) 100vw, 523px" /><figcaption id="caption-attachment-2894" class="wp-caption-text">Représentation de l'affichage du menu.</figcaption></figure></p>
<h4></h4>
<p><em>En définitif,  vous avez là un outil d’exploitation compatible avec des projets exploitant un signal analogique avec un écran</em> <a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/"><span style="text-decoration: underline; color: #33cccc;">LCD.</span></a><em><br />
</em><em>Vous pouvez à présent <strong>créer votre propre menu et opérer une saisie de données à transmettre à votre système.</strong> Explorez et amusez-vous à l’adapter à vos projets.</em></p>
<p><em><strong>En téléchargeant le sketch «</strong><a href="https://plaisirarduino.fr/telechargement/"><span style="text-decoration: underline; color: #33cccc;"> MENU_THERMOSTAT_LCD</span></a> <strong>» vous découvrirez sans difficultés sa construction ainsi que ses différentes</strong> <a href="https://plaisirarduino.fr/les-fonctions/"><span style="text-decoration: underline; color: #33cccc;">fonctions.</span></a> Ces fonctions ne contiennent aucune particularité que nous n’ayons pas abordé jusque là, voici donc pourquoi nous ne les détaillerons pas.</em></p>
<h2 style="text-align: center;"><strong><span style="color: #0000ff;">MERCI.</span></strong></h2>
<h4 style="text-align: center;"><em><strong><a href="https://plaisirarduino.fr/">Plaisir Arduino.fr</a></strong></em></h4>
<h3><strong> </strong></h3>
<p>Cet article <a href="https://plaisirarduino.fr/thermostat-temperature-arduino/">Thermostat créé avec un LCD et Arduino.</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Créer un MENU &#8211; LCD avec Arduino.</title>
		<link>https://plaisirarduino.fr/cree-un-menu-sur-lcd-avec-arduino/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Fri, 14 Jul 2017 17:50:32 +0000</pubDate>
				<category><![CDATA[Projet]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=2445</guid>

					<description><![CDATA[<p>&#160; &#160; La principale fonction d'un afficheur LCD est de renvoyer des informations à l'utilisateur d'un système. Mais il peut également donner la possibilité de saisir des données pour piloter ce système. Prenons l'exemple d'un thermostat d'ambiance. A l'aide d'une commande de boutons, on peut saisir, la consigne de température &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/cree-un-menu-sur-lcd-avec-arduino/">Créer un MENU &#8211; LCD avec Arduino.</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><figure id="attachment_2266" aria-describedby="caption-attachment-2266" style="width: 507px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2266" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min.png" alt="lcd-min" width="507" height="225" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min.png 1054w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-300x133.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-768x341.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-1024x455.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-700x311.png 700w" sizes="auto, (max-width: 507px) 100vw, 507px" /><figcaption id="caption-attachment-2266" class="wp-caption-text">Afficheur LCD.</figcaption></figure></p>
<p>&nbsp;</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/nKuJ7b8vPWc" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>&nbsp;</p>
<p><strong>La principale fonction d'un afficheur <a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/"><span style="text-decoration: underline;"><em><span style="color: #00ccff; text-decoration: underline;">LCD</span></em></span> </a>est de renvoyer des informations à l'utilisateur d'un système.</strong> Mais il peut également<strong> donner la possibilité de saisir des données pour piloter ce système</strong>. Prenons l'exemple d'un thermostat d'ambiance. A l'aide d'une commande de boutons, on peut saisir, la consigne de température voulue dans une pièce.</p>
<p>L’intérêt de ce projet réside dans le fait qu'<strong>il n'est plus utile d'accéder au programme source pour modifier une valeur et de téléverser pour agir sur le système</strong>. Ainsi le pilotage du système est rendu, de toute évidence,  <strong>accessible à des utilisateurs lambdas.</strong></p>
<p>Le but de notre projet va être, donc au travers d'un programme exemple que nous vous proposons, de <strong>faire varier l'intensité lumineuse de plusieurs LED (2) via un afficheur <a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/"><span style="text-decoration: underline;"><em><span style="color: #00ccff; text-decoration: underline;">LCD</span></em></span></a></strong>  et<strong> un clavier de boutons PLUS (+), MOINS (-), ENTRÉE. </strong></p>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">1 - Le matériel.</span></strong></span></h4>
<ul>
<li>Une carte Arduino.</li>
<li>Un afficheur <strong><a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/"><span style="text-decoration: underline;"><em><span style="color: #00ccff; text-decoration: underline;">LCD</span></em></span> </a></strong>. 16X2.</li>
<li>deux (2) LED Rouge et Vert.</li>
<li>Trois résistances de charge de 220 ohm.</li>
<li>Trois Boutons poussoirs.</li>
<li>Deux potentiomètres de 10k ohm.</li>
</ul>
<h4> <strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">2 - Les branchements.</span></span></strong></h4>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2560" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/05/01-Schéma-cablage.png" alt="01 - Schéma cablage" width="709" height="464" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/05/01-Schéma-cablage.png 709w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/05/01-Schéma-cablage-300x196.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/05/01-Schéma-cablage-700x458.png 700w" sizes="auto, (max-width: 709px) 100vw, 709px" /></p>
<h3 style="text-align: left;"><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">Étude du projet.</span></strong></span></h3>
<p><strong>D'abord nous avons trois boutons poussoirs. PLUS (+), MOINS (-) et ENTRÉE</strong>.<br />
Évidemment,<strong> les boutons poussoirs serviront à naviguer</strong> <strong>dans un menu et</strong> c'est aussi  grâce à eux que nous pourrons<strong> saisir une donnée puis l'affecter à l'une des LED</strong>.<br />
<strong>La <em><a href="https://plaisirarduino.fr/les-fonctions/"><span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;">fonction</span></span></a> <span style="text-decoration: underline;">clavier() </span></em><em>contrôle</em> <em><span style="text-decoration: underline; color: #33cccc;"><a style="color: #33cccc; text-decoration: underline;" href="https://plaisirarduino.fr/les-entrees-sortie-de-la-platine-arduino/">l'état des boutons.</a></span></em></strong> et renvoie les actions de chaque bouton à sa <strong>variable de retour nommé "action".</strong></p>
<p><strong>Pour affecter une donnée à l'une des LED, il faut avoir la possibilité de les sélectionner. </strong>Alors il va de ce fait falloir<strong> créer un <span style="text-decoration: underline;">menu de sélection.</span></strong><br />
<strong>La <em><a href="https://plaisirarduino.fr/les-fonctions/"><span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;">fonction</span></span></a></em> <span style="text-decoration: underline;"><em>menu()</em></span> activera l’affichage de chaque fenêtre en fonction des actions sur les boutons</strong> et par conséquent elle aura <strong>en paramètre la variable de retour</strong> de la <strong><em><a href="https://plaisirarduino.fr/les-fonctions/"><span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;">fonction</span></span></a></em> clavier().</strong></p>
<p>En clair, <strong>l<span style="text-decoration: underline;">e plus gros du travail réside dans la conception du menu</span>.</strong> Car gérer un afficheur <span style="color: #33cccc;"><strong><span style="text-decoration: underline;"><em><a style="color: #33cccc; text-decoration: underline;" href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/">LCD</a></em></span> </strong></span> et deux LED nous savons le faire.<br />
<em><strong>Consultez au besoin le tuto <span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;"><a style="color: #33cccc; text-decoration: underline;" href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/">l'afficheur LCD, comment l'exploiter ?</a></span></span>. </strong></em></p>
<p>Mais avant de passer au menu, il faut tout d'abord <strong>s'intéresser à deux points</strong> essentiels concernant <strong>la donnée. </strong><strong>L'unité et s</strong><strong>a grandeur d'exploitation.</strong></p>
<h4><strong><span style="text-decoration: underline; color: #0000ff;">1 L'unité de la donnée.</span></strong></h4>
<p>Effectivement il y a plusieurs façons de piloter un système.<br />
Prenons pour exemple des systèmes qui nécessitent <strong>l'utilisation de données en degrés Celsius, en degrés angulaire, en mètres, ou autres</strong>.</p>
<p>En partant de notre exemple, <strong>le pourcentage % est </strong><strong>l</strong><strong>'unité la plus parlante et la plus simple à exploiter</strong> pour un utilisateur aux commandes d'un système de variations de puissances. Cette unité est donc préférable<strong> si plusieurs utilisateurs ont accès au système.</strong></p>
<h4><strong><span style="text-decoration: underline; color: #0000ff;">2 Grandeur de la donnée.</span></strong></h4>
<p>En fonction du système, d'autre <strong>projets peuvent utiliser </strong>des valeurs angulaires allant jusqu’à 180° ou 360°  (servomoteur) , une température ou une distance précise etc... .<br />
Certains projets, en fonction de leurs équipements et de leurs précisions auront besoin d'une<strong> valeur de données bien plus grande</strong> comme 450mm ou plus.</p>
<p>Il faut souligner qu’<strong>une valeur plus grande que la grandeur de la donnée peut compromettre le bon fonctionnement de vos projets.</strong><br />
A l'inverse, <strong>une valeur négative ou trop petite peut également être source de problèmes.<br />
</strong>En effet, pour assurer un bon pilotage et sécuriser votre système <strong><span style="text-decoration: underline;"> il ne faut pas dépasser la grandeur et la valeur minimale </span>imposées par le système.<br />
</strong></p>
<p>Par conséquent, il faut<strong> limiter la valeur de saisie entre ces deux bornes mini et maxi.</strong><br />
Ainsi une personne non averti ne pourra <strong>pas saisir une donnée aberrante</strong> pour le système.</p>
<p>Dans notre cas, pour piloter les LED nous utilisons une <strong>modulation de puissance allant de</strong> <strong>0</strong> <strong>à 255 points</strong>.<strong> La grandeur maximale pour notre donnée est donc de 255 et la valeur minimale de 0. </strong>Au delà de ces valeurs le système réagira de façon non désiré ou aléatoire.<strong><br />
</strong></p>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">3.La limitation de donnée.</span></strong></span></h4>
<p>Nous avons <strong>différencié deux types de données:</strong></p>
<p><strong> </strong> "<strong>Numérique</strong>" pour des nombres et  "<strong>Pourcentage</strong>" pour une valeur en pourcentage.</p>
<h6><strong><span style="text-decoration: underline; color: #0000ff;">Numérique.</span></strong></h6>
<p><strong>Pour limiter la saisie d'une valeur numérique chaque chiffre est limité en fonction de la valeur maximum de la donnée  exploitable.</strong><br />
Pour notre exemple, nous<strong> limiterons la saisie à 255 (PWM). Ce qui revient à contrôler</strong>, si le chiffre de <strong>la centaine <span style="text-decoration: underline;">est égale à 2, </span>dans ce cas la dizaine</strong> <span style="text-decoration: underline;">aura pour valeur maximum 5</span> et de même <strong>pour la dizaine, si elle est égale à 5,</strong> <strong>l'unité</strong> <span style="text-decoration: underline;">aura pour valeur maximum 5</span>.</p>
<h6><strong><span style="text-decoration: underline; color: #0000ff;">La donnée en pourcentage.</span></strong></h6>
<p>Étant donné que la valeur de saisie sera<span style="color: #33cccc;"><strong><span style="text-decoration: underline;"><em><a style="color: #33cccc; text-decoration: underline;" href="https://plaisirarduino.fr/signaux-dentrees-et-sortie-analogique/"> préalablement conditionné</a><span style="color: #33cccc; text-decoration: underline;">e</span></em></span>, </strong></span>dans le programme source, <strong>entre 0% et 100%</strong> <strong>l'utilisation d'une valeur erronée n'est plus possible.</strong></p>
<p>Il est à noter  cependant, que <strong>deux données différentes seront utiles</strong>.<br />
En effet dans notre cas, <strong>le pilotage à besoin d'une donnée différent</strong><strong>e</strong> de celle de<strong> l'affichage.<br />
</strong>Il faudra donc<strong> opérer une mise à l’échelle vers une valeur adéquate de pilotage.<br />
</strong>Soit de 0 à 255 PWM.<br />
Cela implique<strong> deux variables différentes. L'une pour l'activation de l'affichage et l'autre pour le pilotage.</strong></p>
<h4><strong><span style="text-decoration: underline; color: #0000ff;">La saisie de la donnée.</span></strong></h4>
<p>En bref, si on laisse la possibilité d'une saisie non limitée, nous avons<strong> trois modes de saisie.</strong></p>
<ul>
<li><strong> Non limité. (Paramètre 0).</strong></li>
<li><strong>Valeur maximum. (Paramètre 1).<br />
</strong></li>
<li><strong>Pourcentage. (Paramètre 2).</strong></li>
</ul>
<p><strong>Incrémenter une donnée</strong> pour des projets nécessitant <strong>jusqu'à 360° ou 800 mm</strong> serait évidemment <strong>un peu long</strong>. Par conséquent, <strong>il est judicieux d'agir sur chaque chiffre</strong> du nombre  composant la donnée.</p>
<p>De toute évidence, en saisissant chaque <span style="text-decoration: underline;">chiffre,</span> <strong>la donnée ne pourra pas être supérieure à neuf (9) ou inférieure à zéro (0).</strong> Elle <strong>évoluera donc entre ces deux bornes, </strong>ce qui nous permet néanmoins, de saisir des valeurs allant de 0 à 9999 au besoin.<strong><br />
</strong></p>
<p>La <span style="text-decoration: underline;"> <strong><em><a href="https://plaisirarduino.fr/les-fonctions/"><span style="color: #33cccc; text-decoration: underline;">fonction</span></a></em></strong> <strong>saisie (mode,X,Y,Z)</strong></span> est là pour contrôler la saisie de la donnée<em>.<br />
</em>Elle a<strong> comme paramètre la variable "mode" pour la sélection du mode de saisie et pour chaque chiffre X, Y et Z,  la valeur maximum</strong> de la donnée.<br />
<span style="text-decoration: underline;">En fonction du mode de saisie choisie,</span> elle<strong> adapte la grandeur de saisie pour chaque chiffre de la donnée. Elle met à l’échelle ou recompose la donnée saisie puis la charge pour l'affichage et renvoie la valeur de pilotage.</strong></p>
<ul>
<li><span style="text-decoration: underline;">En </span><strong><span style="text-decoration: underline;">mode pourcentage</span>:<br />
</strong>La saisie est immédiate. Pour apporter <strong>plus de souplesse à la saisie, </strong> la <strong>correction de donnée</strong> est réalisée <strong>depuis la valeur actuelle</strong>.</li>
<li><span style="text-decoration: underline;"><strong>En mode numérique:<br />
</strong></span>Par contre, la saisie se fait au troisième et dernier chiffre saisi. L<strong>a donnée est ensuite chargée dans une variable</strong> prévue pour le <strong>pilotage et l'affichage de la sélection.</strong> Dans notre cas, c'est l'unité du nombre 255. La correction de données reprendra depuis zéro.</li>
</ul>
<p>Le programme sera donc exploitable<strong> en fonction du mode de saisie choisi et de la grandeur de la donnée.</strong></p>
<p><span style="text-decoration: underline;"><strong>Note </strong></span>: libre à vous de <strong>modifier la valeur maxi</strong> <strong>de la donnée et l'affichage de l'unité</strong> dans le menu.</p>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">3.4 Le nombre d'organes à piloter.<br />
</span></strong></span></h4>
<p><strong>Le nombre d'organes à piloter définira le nombre de fenêtre de sélection à créer dans votre menu.</strong></p>
<p>Ici,  nous avons seulement deux LED à piloter.<br />
Vous pouvez bien-sûr<strong> en fonction des capacités de votre carte et des besoins de votre projet,  ajouter autant de fenêtre de sélection que vous le souhaitez.</strong> Afin de compléter l'exemple nous en avons crée trois de plus.</p>
<p>Nous pouvons, à présent, <strong>passer au montage de notre menu.</strong></p>
<h3><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">4 Le menu.</span></span></strong></h3>
<p>Avant de se lancer dans la programmation d'un menu, il faut avant tout<strong> avoir un repère de travail. </strong>Ce qui veut dire, <strong>penser</strong> <strong>à la structure</strong> <strong>et établir</strong> <strong>un schéma représentatif du menu.</strong></p>
<p>Voici un schéma représentatif de la structure du <strong>menu avec les actions utiles</strong> pour passer d'une fenêtre à l'autre.</p>
<p><img loading="lazy" decoding="async" class="wp-image-2690 size-full aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/02-LCD-projet-structure-menu-e1497268820313.png" alt="02 - LCD projet structure menu" width="479" height="663" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/02-LCD-projet-structure-menu-e1497268820313.png 479w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/02-LCD-projet-structure-menu-e1497268820313-217x300.png 217w" sizes="auto, (max-width: 479px) 100vw, 479px" /></p>
<p>A première vue, <strong>une action sur les boutons implique une sélection de fenêtres</strong>. A chaque fenêtre est <strong>attribuée un numéro. Ces numéros</strong> permettent<strong> d'activer l'affichage </strong>et de  <strong>verrouiller une position dans le menu</strong>.<br />
Il y a deux<strong> "sous fenêtres". La onze (11) permet de verrouiller l'étape de la sélection des LED et la douze (12)</strong><strong> permet de verrouiller l'étape de paramétrage.</strong></p>
<p><strong>La fenêtre de sélection "RAZ" </strong>est en fait, l’accès à <strong>un sous-menu</strong> dans lequel, il nous est possible de <strong>mettre à zéro toutes les données</strong> par la<strong> sélection du choix OUI (O) ou NON (N)</strong>. Voici donc la structure de ce sous-menu "RAZ".</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-2674 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/03-LCD-projet-structure-sous-menu-RAZ-e1497352483110.png" alt="03 - LCD projet structure sous menu RAZ" width="553" height="658" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/03-LCD-projet-structure-sous-menu-RAZ-e1497352483110.png 553w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/03-LCD-projet-structure-sous-menu-RAZ-e1497352483110-252x300.png 252w" sizes="auto, (max-width: 553px) 100vw, 553px" /></p>
<h4><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">3.2 Les fenêtres.<br />
</span></span></strong></h4>
<p>Pour créer le menu, il faut utiliser la <strong><em><a href="https://plaisirarduino.fr/les-fonctions/"><span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;"> fonction</span></span></a></em> menu().<br />
</strong>Elle permet de générer l'affichage des fenêtres<strong>.</strong><br />
L'activation des affichages des fenêtres <strong>se fait en fonction des actions sur les boutons et la position actuelle verrouillée dans le menu</strong>.<br />
Pour cette raison, la<strong> <em><a href="https://plaisirarduino.fr/les-fonctions/"><span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;">fonction</span></span></a></em></strong> à<strong> pour paramètre la variable de retour "action" de la <em><a href="https://plaisirarduino.fr/les-fonctions/"><span style="text-decoration: underline;"><span style="color: #33cccc; text-decoration: underline;">fonction</span></span></a></em></strong> <strong>clavier().</strong></p>
<p>Ci-dessous, l'illustration du menu.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-2711 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/04-LCD-projet-structure-image-e1497468783709.png" alt="04 - LCD projet structure image" width="457" height="658" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/04-LCD-projet-structure-image-e1497468783709.png 457w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/06/04-LCD-projet-structure-image-e1497468783709-208x300.png 208w" sizes="auto, (max-width: 457px) 100vw, 457px" /></p>
<p>Voyons maintenant<strong> comment va se dérouler la validation de la donnée.</strong></p>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">4 Validation de données.</span></strong></span></h4>
<p>Durant la saisie en cours,<strong> l'</strong><strong>actualisation de la valeur </strong>se fait <strong>dans la boucle principale </strong>(loop).<strong><br />
</strong></p>
<p>Une fois <strong>la sélection validée,</strong> la fenêtre de <strong>paramétrage est active,</strong> on peut alors<strong> saisir une valeur, puis la valider</strong><strong>.</strong> Cette valeur est ensuite <strong>affectée à une variable</strong> prévue au <span style="text-decoration: underline;"><strong>pilotage</strong></span> de la sélection et à <span style="text-decoration: underline;"><strong>l'affichage</strong></span>.</p>
<p>Pour finir, l<strong>'affichage retourne à la fenêtre de lecture. </strong>Dans notre exemple, celle de la LED une (1) et  deux (2).</p>
<h4><strong><span style="text-decoration: underline; color: #0000ff;">C'est ainsi que le programme LCD MENU se termine !</span></strong></h4>
<p>Partant de cet exemple, vous<strong> pouvez piloter d'autres systèmes que des LED</strong>. Comme des systèmes  équipés de<strong> sondes de température, de servomoteurs ou bien de moteurs à courant continu et bien d'autres.</strong></p>
<h3 style="text-align: center;"><strong><span style="color: #0000ff;">FIN.</span></strong></h3>
<p><em>Vous avez là un premier outil d'exploitation d'écran <strong><a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/"><span style="text-decoration: underline;"><span style="color: #00ccff; text-decoration: underline;">LCD</span></span></a></strong>. Vous pouvez à présent <strong>créer votre propre menu et opérer une saisie de données à transmettre à votre système.</strong> Explorez et amusez vous à l'adapter à vos projets.</em></p>
<p><strong><em>En téléchargeant le sketch "</em></strong><a href="https://plaisirarduino.fr/telechargement/"><span style="text-decoration: underline;"><em><span style="color: #33cccc; text-decoration: underline;">LCD_MENU ARDUINO</span></em></span></a><strong><em>" vous découvrirez sans difficulté la construction des différentes</em></strong> <span style="text-decoration: underline;"><em><span style="color: #33cccc; text-decoration: underline;"><a style="color: #33cccc; text-decoration: underline;" href="https://plaisirarduino.fr/les-fonctions/">fonction</a>s</span></em></span><strong><em><span style="color: #33cccc;">. </span></em></strong><em>Ces fonctions ne contiennent aucune particularité que nous n'ayons pas abordé jusque là, voici donc pourquoi nous ne les détaillerons pas.<br />
</em></p>
<p><em><span style="text-decoration: underline;"><strong>Remarque:</strong></span> Il est possible d'utiliser des bibliothèques que vous trouverez sur le net . Mais, ce projet a pour but de faire comprendre et maîtriser les différentes méthodes de base de la bibliothèque &lt;&lt;<strong><span style="color: #ff9900;">LiquidCrystal</span>.h</strong>&gt;&gt; et l'exploitation d'un écran <strong><a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/"><span style="text-decoration: underline;"><span style="color: #00ccff; text-decoration: underline;">LCD</span></span></a></strong>.<br />
Un tableau string aurait également pu être utilisé pour générer les affichages. Mais pour plus de lisibilité, nous n'avons pas utilisé cette méthode.<br />
</em></p>
<p><em>Nous vous invitons à nous faire part de vos commentaires et propositions.<br />
</em></p>
<h2 style="text-align: center;"><strong><span style="color: #0000ff;">MERCI.</span></strong></h2>
<h4 style="text-align: center;"><span style="text-decoration: underline;"><em><strong><a href="https://plaisirarduino.fr/"><span style="color: #0000ff; text-decoration: underline;">Plaisir Arduino.fr</span></a></strong></em></span></h4>
<h3 style="text-align: center;"><strong><span style="color: #0000ff;"> </span></strong></h3>
<p>Cet article <a href="https://plaisirarduino.fr/cree-un-menu-sur-lcd-avec-arduino/">Créer un MENU &#8211; LCD avec Arduino.</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bibliothèque, comment l&#8217;explorer ?</title>
		<link>https://plaisirarduino.fr/explorer-une-bibliotheque/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Tue, 18 Apr 2017 18:09:35 +0000</pubDate>
				<category><![CDATA[Débutant Arduino]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=2344</guid>

					<description><![CDATA[<p>Explorer une bibliothèque. La bibliothèque est incontournable dans l'univers Arduino pour l'exploitation de multiple composants ou la gestion de communication entre composants et l'Arduino. Vous avez sûrement déjà utilisé &#60;&#60;LiquidCrystal.h&#62;&#62; pour un afficheur LCD ou &#60;&#60;Servo.h&#62;&#62; pour des servomoteurs et &#60;&#60;SPI.h&#62;&#62; pour le traitement de la communication SPI. Mais, il y en &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/explorer-une-bibliotheque/">Bibliothèque, comment l&rsquo;explorer ?</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: center;"><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Explorer une bibliothèque.</span> </span></strong></h1>
<p style="text-align: justify;">La bibliothèque est incontournable dans l'univers Arduino pour<strong> l'exploitation de multiple composants ou la gestion de communication</strong> entre composants et l'Arduino. Vous avez sûrement déjà utilisé <strong>&lt;&lt;<span style="color: #ff6600;">LiquidCrystal</span>.h&gt;&gt; pour un afficheur LCD </strong> ou <strong>&lt;&lt;<span style="color: #ff6600;">Servo</span>.h&gt;&gt;</strong> <strong>pour des servomoteurs</strong> et <strong>&lt;&lt;<span style="color: #ff6600;">SPI</span>.h&gt;&gt;</strong> pour le traitement de la <strong>communication SPI</strong>. Mais, il y en a bien d'autres.</p>
<p style="text-align: justify;">Avant toute chose , il faut préalablement <span style="text-decoration: underline;"><em><strong><span style="color: #33cccc;"><a style="color: #33cccc; text-decoration: underline;" href="https://plaisirarduino.fr/bibliotheque/">installer puis inclure la bibliothèque </a></span></strong></em></span>dans notre programme<strong>.</strong></p>
<p style="text-align: justify;">Tout comme vous, à mes débuts, je me suis fié aux divers exemples trouvés dans l'IDE ou sur le net sans me demander<strong> pourquoi et</strong> <strong>comment on utilisait les bibliothèques</strong>. Puis avec l'expérience, je me suis documenté et me suis aperçu que je n'exploitais qu'à moitié certaines bibliothèques alors qu'elles me<strong> proposaient d'autres possibilités intéressantes</strong>.</p>
<p style="text-align: justify;">C'est pour cela donc, que dans ce tutoriel, nous allons <strong><span style="text-decoration: underline;">apprendre à "lire" une bibliothèque et identifier ce dont il nous faut pour son exploitation optimale.<br />
</span></strong></p>
<p style="text-align: justify;">Nous explorerons la bibliothèque <strong>&lt;&lt;<span style="color: #ff6600;">Servo</span>.h&gt;&gt; </strong>pour nos exemples.</p>
<h4 style="text-align: justify;"><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">De quoi est composé une bibliothèque ?</span></span></strong></h4>
<p style="text-align: justify;">En fait, <strong>c'est un dossier</strong>. Il contient des dossiers et fichiers de<strong> code programme</strong>. Il y a principalement trois fichiers et un dossier à explorer.</p>
<ul style="text-align: justify;">
<li><strong>Le fichier d'entête</strong>. Repérable par ".h"</li>
<li><strong>Le fichier sources</strong>. Repérable par ".cpp"</li>
<li><strong>Le dossier "exemple"</strong>. Qui contient des codes sources en exemple d'utilisation.</li>
<li><strong>Le fichier de syntaxe des couleurs</strong>. Qui contient les consignes de couleurs à appliquer pour chaque type de mots-clés.</li>
</ul>
<p style="text-align: justify;">Ici, nous nous concentrerons particulièrement sur <strong>le fichier d'entête, </strong>Puis nous verrons le fichier "exemple" et "syntaxe".</p>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">Comment explorer une bibliothèque ?</span></strong></span></h4>
<p style="text-align: justify;">Tout d'abord, commencez par rechercher et trouver <strong>le fichier d'entête</strong> de la bibliothèque qui est en l’occurrence pour nos exemples <strong>"Servo.h"</strong>.</p>
<p style="text-align: justify;">Deux solutions pour trouver ce fichier.</p>
<h4><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/08-Bibliotheque.png" alt="08 - Bibliotheque" width="154" height="168" /></h4>
<h6><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Première solution.</span></span></strong></h6>
<p><img loading="lazy" decoding="async" class="alignleft" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/07-Bibliotheque.png" alt="07 - Bibliotheque" width="56" height="40" />Exécutez une <strong>recherche de fichiers depuis le menu "DÉMARRER"</strong> en tapant "Servo.h".  Ensuite, ouvrez-le et <strong>suivez les étapes 5 et 6 de la solution suivante.</strong></p>
<h6><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/06-Bibliotheque.png" alt="06 - Bibliotheque" width="295" height="135" /></h6>
<h6><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Deuxième solution.</span></span></strong></h6>
<ol>
<li style="text-align: justify;">Premièrement, <span style="text-decoration: underline;">si vous n'avez pas modifié son emplacement par défaut à l'installation</span>, allez sur vôtre<strong> disque local "C:" dans le dossier "programme files".</strong></li>
<li style="text-align: justify;">Ensuite, ouvrez le dossier "<strong>Arduino</strong>"</li>
<li style="text-align: justify;">Puis, le dossier "<strong>libraries</strong>".</li>
<li style="text-align: justify;">Après, le dossier "<strong>Servo</strong>".</li>
<li style="text-align: justify;">Ouvrir le dossier "<strong>src</strong>".</li>
<li style="text-align: justify;">Finalement, le fichier "<strong>Servo</strong>.<strong>h</strong>" apparaît.</li>
</ol>
<h4><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">Explorons le fichier.</span></strong></span></h4>
<p style="text-align: justify;">Une fois que vous avez trouvé l'emplacement du fichier "Servo.h", ouvrez-le.</p>
<p style="text-align: justify;">A première vue, on a pas l'impression que ce fichier est un code programme car il est <strong>présenté sous format" texte".</strong> De ce fait, il est exploitable par un éditeur de texte comme "NotePad", "WordPad" ou le "Bloc-notes".</p>
<p style="text-align: justify;">De toute évidence, vous constaterez qu'il est en anglais. Donc pour cette étape, un <strong>travail de traduction des commentaires sera très utile à la compréhension</strong> du programme. Je vous invite donc à le faire avec un traducteur de votre choix.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;"><strong><span style="color: #ff0000; text-decoration: underline;">Ne surtout pas apporter de modifications à ce document! </span>Surtout si vous n'avez pas d'idée précise de ce que vous faite.</strong></span> Alors dans ce cas, ne<strong><span style="text-decoration: underline;"><span style="color: #ff0000; text-decoration: underline;"> JAMAIS accepter d'enregistrer des modifications</span></span> </strong>car cela entraînerait le dysfonctionnement de la bibliothèque et provoquerait des erreurs lors du téléversement.</p>
<p style="text-align: justify;">Mais <strong>quel est son rôle ?</strong></p>
<h4 style="text-align: justify;"><strong><span style="text-decoration: underline; color: #0000ff;">le rôle du fichier d'entête. </span></strong></h4>
<p style="text-align: justify;">Le rôle du fichier d'en-tête est de <strong>mettre en place la structure principale de la bibliothèque.</strong> Il informe le compilateur de tout ce qu'il lui faut pour exécuter la bibliothèque et va en quelque sorte <strong>s'occuper de "déclarer"</strong>. Il n'y a <strong>pas d'exécution de fonctions,</strong> <strong>ces dernières se font dans le fichier source</strong> ".<strong>cpp</strong>".</p>
<p style="text-align: justify;">On dit qu'il contient <strong>le prototype de la bibliothèque.</strong></p>
<p style="text-align: justify;"> Clairement,  nous avons découpé le fichier en plusieurs parties.</p>
<ul>
<li>La présentation.</li>
<li>L'inclusion.</li>
<li>La déclaration.</li>
<li>La classe.</li>
</ul>
<h4><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Les grandes parties du fichier d'entête ".h"</span></span></strong></h4>
<h6><strong><span style="text-decoration: underline; color: #0000ff;">1) La présentation.</span></strong></h6>
<p style="text-align: justify;">En somme, après traduction, elle vous indique<strong> la version, le ou les auteurs, ainsi que les conditions générales d'utilisation (GNU).</strong> C'est obligatoire et recommandé pour la distribution.</p>
<p><img loading="lazy" decoding="async" class="wp-image-2468 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/09-Bibliotheque.png" alt="09 - Bibliotheque" width="675" height="257" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/09-Bibliotheque.png 954w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/09-Bibliotheque-300x114.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/09-Bibliotheque-768x292.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/09-Bibliotheque-700x266.png 700w" sizes="auto, (max-width: 675px) 100vw, 675px" /></p>
<p>Il faut aussi souligner que ce texte est un commentaire balisé par ceci  "/* */" ce qui vous permet d'identifier la première partie de la présentation générale.</p>
<p>Ensuite, vous avez une seconde partie. L’aspect le plus important de cette partie, c'est qu'elle <strong>décrit le fonctionnement globale de la bibliothèque.</strong></p>
<p><img loading="lazy" decoding="async" class="wp-image-2472 size-full aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/10-Bibliotheque-e1490024090108.png" alt="10 - Bibliotheque" width="1408" height="538" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/10-Bibliotheque-e1490024090108.png 1408w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/10-Bibliotheque-e1490024090108-300x115.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/10-Bibliotheque-e1490024090108-768x293.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/10-Bibliotheque-e1490024090108-1024x391.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/10-Bibliotheque-e1490024090108-700x267.png 700w" sizes="auto, (max-width: 1408px) 100vw, 1408px" /></p>
<p style="text-align: justify;">Cependant, toutes les bibliothèques ne le font pas. Dans celle-ci sont citées et mentionnées avec un descriptif, toutes les <strong><span style="color: #000000;">méthodes, dont vous avez besoin pour exploiter vos programmes. </span></strong><span style="color: #000000;">N</span>ous y viendrons en détail par la suite.</p>
<p style="text-align: justify;">Après la présentation, poursuivons à présent, vers<strong> le code programme</strong> qui s'en suit.</p>
<h6 style="text-align: justify;"><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">2) L'inclusion.</span></span></strong></h6>
<p style="text-align: justify;">Voyons tout d'abord, les lignes du code ci-dessous.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2474" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/12-Bibliotheque.png" alt="12 - Bibliotheque" width="247" height="82" /></p>
<p style="text-align: justify;">Les deux premières lignes <strong>permettent au compilateur l'inclusion de la bibliothèque</strong> dans votre projet. La troisième ligne quand à elle inclue au sein même de la bibliothèque une autre bibliothèque.</p>
<p style="text-align: justify;">Par contre, <strong>"ifndef"</strong> signifie en anglais "<strong>if not defined</strong>" soit en français <strong>"si n'est pas défini". </strong>Nous avons donc là une condition "<span style="text-decoration: underline;"><strong><em><span style="color: #ff0000; text-decoration: underline;">if</span></em></strong></span>". Cette condition permet lors de la compilation d'un programme de <strong>ne pas systématiquement la compiler</strong>. On trouve ici un exemple important, à savoir, que l'on a une <strong>compilation conditionnelle des bibliothèques.</strong></p>
<p style="text-align: justify;">Par conséquent, suite à notre condition d’exécution, il faut bien-sûr indiquer au compilateur <strong>quoi exécuter !!</strong></p>
<p style="text-align: justify;">Cela ce fait avec l'instruction #<strong>endif. </strong>"<strong>end</strong><strong>if</strong>" qui signifie en français "<strong>fin</strong> <strong>de</strong> <strong>si</strong>". On comprend que la condition d'exécution s’arrête là.<strong> On trouve cette instruction à la fin du fichier d'entête.</strong></p>
<p><img loading="lazy" decoding="async" class="wp-image-2476 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/13-Bibliotheque.png" alt="13 - Bibliotheque" width="505" height="116" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/13-Bibliotheque.png 700w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/13-Bibliotheque-300x69.png 300w" sizes="auto, (max-width: 505px) 100vw, 505px" /></p>
<p style="text-align: justify;">J'attire votre attention sur le fait que <span style="text-decoration: underline;"><strong>tout le programme du fichier d'entête est contenu dans ces instructions.</strong></span> Vous le constaterez en explorant le fichier.<span style="text-decoration: underline;"><strong><br />
</strong></span></p>
<p style="text-align: justify;">Poursuivons vers la partie suivante.</p>
<p><img loading="lazy" decoding="async" class="size-full wp-image-2478 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/14-Bibliotheque.png" alt="14 - Bibliotheque" width="721" height="176" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/14-Bibliotheque.png 721w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/14-Bibliotheque-300x73.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/14-Bibliotheque-700x171.png 700w" sizes="auto, (max-width: 721px) 100vw, 721px" /></p>
<p style="text-align: justify;">Celle-ci fait appel aux <strong>versions d'Arduino utilisées AVR SAM ou SAMD.</strong> Effectivement, il existe plusieurs versions possibles de compilations. De ce fait, le compilateur doit donc<strong> être capable de s'adapter aux divers environnements d'exploitation proposés</strong>. Mais là aussi, nous n’approfondirons pas. Sachez juste que cette partie<strong> définie votre environnement de travail pour adapter le travail du compilateur.</strong></p>
<p style="text-align: justify;">Vous avez sans doute remarqué les instructions suivantes. #<strong>if</strong> <strong>defined</strong> pour <span style="text-decoration: underline;">si définis</span>, #<strong>elif defined</strong> pour <span style="text-decoration: underline;">si non définis</span>, #<strong>else</strong> pour <span style="text-decoration: underline;">sinon</span> et finalement <strong>#endif</strong> pour <span style="text-decoration: underline;">fin de if.</span> Vous l'avez compris, c'est <strong>un ensemble d’instructions conditionnelles en fonction des versions possibles.</strong></p>
<h6><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">3) Les déclarations.</span></strong></span></h6>
<p style="text-align: justify;">A ce niveau du programme, nous avons deux<strong> parties distinctes</strong>. Les <span style="color: #0000ff;"><span style="color: #008000;">variables</span> </span>et la <span style="color: #0000ff;">classe</span>. Nous décomposerons donc cette partie en deux et nous ignorerons celle encadrée en noir qui nous est étrangère. <em> Les commentaires ont été traduit p</em><em>our une approche plus compréhensible.</em></p>
<p><img loading="lazy" decoding="async" class="wp-image-2502 size-full aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/21-Bibliotheque-e1490277874630.png" alt="21 - Bibliotheque" width="1418" height="666" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/21-Bibliotheque-e1490277874630.png 1418w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/21-Bibliotheque-e1490277874630-300x141.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/21-Bibliotheque-e1490277874630-768x361.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/21-Bibliotheque-e1490277874630-1024x481.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/21-Bibliotheque-e1490277874630-700x329.png 700w" sizes="auto, (max-width: 1418px) 100vw, 1418px" /></p>
<h6><strong><span style="text-decoration: underline; color: #0000ff;">3.1) Les variables.</span></strong></h6>
<p style="text-align: justify;">En premier lieu, nous avons les <em><span style="text-decoration: underline;"><span style="color: #ff0000; text-decoration: underline;">déclarations de variables</span></span></em> utiles au traitement de tout programme. A cette étape de notre exemple, on intègre une donnée à chaque variable.</p>
<h6><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">3.2) La classe.<br />
</span></span></strong></h6>
<p style="text-align: justify;">Finalement, nous voici dans <strong>la "déclaration" de ce que l'on appelle une <span style="color: #0000ff;">classe</span></strong>.</p>
<p style="text-align: justify;">L'instruction "<strong>class" </strong><strong>et son bloc d'instructions "{ }"</strong> <strong>permet de nommer et de créer une <span style="color: #ff0000;">classe</span>.</strong> Dans notre exemple ci-dessous elle est nommée <span style="color: #000000;"><strong>Servo</strong></span>.</p>
<p style="text-align: justify;"><strong><span style="color: #0000ff;">class</span> Servo<span style="color: #008000;"> { Bloc d'instructions à exécuter }</span>; </strong>// Déclaration d'une classe.</p>
<p style="text-align: justify;">Une fois nommée,<strong> la classe <span style="text-decoration: underline;">permettra d'initialiser un objet</span> auquel elle sera rattachée pour<span style="color: #000000;"> que ce dernier puisse faire appel au constructeur et aux méthodes qu'elle contient.<br />
</span></strong><span style="color: #000000;">Cela étant dit une classe peut être aussi utilisée sans objet.<br />
</span></p>
<p style="text-align: justify;">Examinez l'illustration ci-dessous.</p>
<p style="text-align: justify;"><img loading="lazy" decoding="async" class=" wp-image-2517 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/24-Bibliotheque.png" alt="24 - Bibliotheque" width="355" height="245" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/24-Bibliotheque.png 495w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/24-Bibliotheque-300x207.png 300w" sizes="auto, (max-width: 355px) 100vw, 355px" />Notamment, il y a <strong><span style="color: #008000;">deux parties très importantes</span></strong> de la "<strong>classe</strong>". La partie "<strong><span style="color: #008000;">public<span style="color: #000000;">:</span></span></strong><span style="color: #008000;"><span style="color: #000000;">"</span></span> et <span style="color: #008000;"><span style="color: #000000;">"</span></span><strong><span style="color: #008000;">private<span style="color: #000000;">:</span></span></strong><span style="color: #008000;"><span style="color: #000000;">"</span></span>. En français<strong> <span style="text-decoration: underline;">public et privé</span></strong>. Mais en fait leur véritable nom est <strong><span style="color: #008000;">modificateurs d'accès</span>.</strong> Comme le nom l'indique, <strong>ils conditionnent l'accès ou non à certaines </strong>instructions utilisées à l’intérieur de la classe.<span style="text-decoration: underline;"><br />
</span></p>
<p style="text-align: justify;"><strong><span style="color: #008000;">Public <span style="color: #000000;">permet aux utilisateurs</span></span></strong><span style="color: #008000;"><span style="color: #000000;"> au travers de l'IDE</span></span><strong><span style="color: #008000;"><span style="color: #000000;"> d’accéder aux instructions qui lui sont confiées</span></span></strong>. Par contre <strong><span style="color: #008000;">private<span style="color: #000000;"> interdit l'accès aux instructions qui lui sont <span style="color: #008000;">confiées.</span></span></span></strong></p>
<p style="text-align: justify;">Observons ensuite la partie <span style="color: #008000;">public. <span style="color: #000000;">N</span></span>ous avons, le <strong><span style="color: #ff0000;">constructeur</span>. </strong></p>
<h5><strong><span style="text-decoration: underline; color: #ff0000;">3.2.1) Le Constructeur.</span></strong></h5>
<p><img loading="lazy" decoding="async" class="wp-image-2520 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/23-Bibliotheque-e1490300488555.png" alt="23 - Bibliotheque" width="320" height="221" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/23-Bibliotheque-e1490300488555.png 495w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/23-Bibliotheque-e1490300488555-300x207.png 300w" sizes="auto, (max-width: 320px) 100vw, 320px" /></p>
<p style="text-align: justify;">Vous le reconnaîtrez par le fait qu'<span style="text-decoration: underline;"><strong>il porte le nom de la classe</strong></span><strong> suivi de parenthèses</strong> (comme pour un appel de <em>fonction</em>) et qu'il est<strong> placé juste après l'instruction "<span style="color: #008000;">public</span>:".</strong> Notez que, dans notre exemple ci-dessus, il ne possède aucun paramètre.</p>
<p style="text-align: justify;"><strong>Contrairement à notre exemple "servo", i</strong>l est possible que dans d'autres librairies, vous trouviez<strong> plusieurs constructeurs qui portent le même nom.</strong> Si vous observez (entre parenthèses) vous constaterez que ces librairies n'ont <strong>pas toutes les mêmes types ou nombres de paramètres</strong>. Néanmoins, <strong>le compilateur est capable de faire la différence</strong> et de ce fait, il laisse aux utilisateurs la <strong>possibilité de configurer le projet de différentes manières en fonction du <em><span style="text-decoration: underline;"><span style="color: #ff0000; text-decoration: underline;">type ou du nombre de données</span></span></em> renseigné.</strong></p>
<p>Prenons pour exemple la bibliothèque <strong>&lt;&lt;<span style="color: #ff6600;">LiquidCrystal</span>.h&gt;&gt; </strong>et observez ci-dessous les différences.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2490" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/19-Bibliotheque.png" alt="19 - Bibliotheque" width="546" height="242" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/19-Bibliotheque.png 546w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/19-Bibliotheque-300x133.png 300w" sizes="auto, (max-width: 546px) 100vw, 546px" /></p>
<p style="text-align: justify;">Nous avons<strong> quatre méthodes paramétrables toutes différentes</strong> l'une de l'autre. Ces dernières nous <strong>indiquent le type et le nombre de données à utiliser</strong> pour chaque paramètre. Les paramètres ont également été nommés? ce qui n'est pas toujours le cas.</p>
<p style="text-align: justify;">Mais à quoi sert le <strong><span style="color: #ff0000;">constructeur</span> </strong>?</p>
<p>Le <span style="color: #ff0000;">constructeur</span> <strong><span style="text-decoration: underline;">permet aux utilisateurs de renseigner et configurer un objet qui lui est rattaché</span> avec des données externes. </strong>Voyez l'exemple ci-dessous.<strong><br />
</strong></p>
<p><img loading="lazy" decoding="async" class="wp-image-2493 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/20-Bibliotheque.png" alt="20 - Bibliotheque" width="499" height="67" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/20-Bibliotheque.png 387w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/20-Bibliotheque-300x40.png 300w" sizes="auto, (max-width: 499px) 100vw, 499px" /></p>
<p style="text-align: justify;">Ci-dessus <strong><span style="color: #ff6600;">LiquidCrystal</span> est notre classe</strong> puis nous avons<strong> créé un objet "lcd"</strong> et <strong>indiqué en paramètre</strong> le numéro des broches utilisées pour exploiter note afficheur LCD.</p>
<p style="text-align: justify;">Voici ce que cela donne à l'IDE avec la bibliothèque Servo.</p>
<p><img loading="lazy" decoding="async" class="wp-image-2513 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/22-Bibliotheque-e1490295069890.png" alt="22 - Bibliotheque" width="455" height="102" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/22-Bibliotheque-e1490295069890.png 308w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/22-Bibliotheque-e1490295069890-300x67.png 300w" sizes="auto, (max-width: 455px) 100vw, 455px" /></p>
<p style="text-align: justify;">On retrouve notre<strong> classe<span style="color: #ff6600;"> <span style="color: #000000;">"</span>Servo<span style="color: #000000;">"</span></span></strong><span style="color: #ff6600;"><span style="color: #000000;"> et notre <strong>objet "mon_servo"</strong>. Notamment, il n'y a <strong>pas de paramètres</strong> à renseigner car il n'a <strong>pas été déclaré pour cela.</strong> </span></span></p>
<p style="text-align: justify;">En déclarant notre objet, nous pouvons à présent depuis l'IDE faire appel à ce qui suit, c'est-à-dire les <strong>méthodes</strong>.</p>
<h5><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">3.2.2) Les méthodes.</span></strong></span></h5>
<p><img loading="lazy" decoding="async" class=" wp-image-2522 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/23.1-Bibliotheque.png" alt="23.1 - Bibliotheque" width="371" height="256" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/23.1-Bibliotheque.png 495w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/23.1-Bibliotheque-300x207.png 300w" sizes="auto, (max-width: 371px) 100vw, 371px" /></p>
<p style="text-align: justify;"><span style="color: #0000ff;"><span style="color: #000000;"><strong>Les méthodes</strong> <strong>sont en réalité des <span style="text-decoration: underline;"><em><span style="color: #ff0000; text-decoration: underline;">fonctions</span></em></span></strong> <strong>nommées méthodes pour les identifier comme appartenant à une bibliothèque</strong> et les différencier des <strong><span style="text-decoration: underline;"><em><span style="color: #ff0000; text-decoration: underline;">fonctions</span></em></span></strong> classiques que l'on peut créer dans nos programmes. Elles aussi peuvent être paramétrées ou non. </span></span>A cette étape du programme, nous avons la<strong> déclaration des <span style="color: #0000ff;">méthodes</span>. Un <span style="text-decoration: underline;"><em><span style="color: #ff0000; text-decoration: underline;">type</span> </em></span>et un <em><span style="text-decoration: underline;"><span style="color: #ff0000; text-decoration: underline;">nom</span> <span style="color: #ff0000; text-decoration: underline;">symbolique</span></span></em> sont attribués à la méthode et à ses paramètres.</strong> Exactement comme on le ferait pour une fonction.</p>
<p><strong><span style="color: #00ccff;">type </span>nomSymbolique (<span style="color: #00ccff;">type </span>nomSymbolique </strong><strong>) ;<br />
</strong></p>
<p><strong><span style="color: #00ccff;">uint8_t</span> attach (<span style="color: #008000;"><span style="color: #00ccff;">int</span> </span><span style="color: #008000;"><span style="color: #000000;">pin</span></span>); // attache la broche donnée au canal libre suivant, définit pinMode, renvoie le numéro de canal ou 0 si défaut.</strong></p>
<p style="text-align: justify;">Notez l'<strong>absence des accolades et des instructions</strong> aux méthodes. En effet, comme nous l'avons dit plus haut <strong>le fichier ".h" s'occupe principalement de la déclaration</strong>.<strong> La partie "exécutive" étant exécutée dans le fichier source ".cpp". </strong>Dans notre exemple (ci-dessus encadré en bleu), nous avons là toutes les méthodes utiles pour exploiter un servomoteur.<strong><br />
</strong></p>
<p style="text-align: justify;">Finalement, pour toutes bibliothèques <strong>si vous cherchez les méthodes</strong>, dont vous avez besoin, <strong>c'est à cet endroit que vous les trouverez</strong>. Certes, il ne vous est pas nécessaire de connaître leur programmation mais seulement leur utilité.</p>
<h5><strong><span style="text-decoration: underline; color: #0000ff;">Les exemples.</span></strong></h5>
<p style="text-align: justify;">Dans la plupart des bibliothèques <strong>les méthodes sont expliquées avec des commentaires.</strong> Mais dans certain cas, cela n'est pas fait. Heureusement dans ces cas là,<strong> les éditeurs intègrent toujours des exemples d'exploitation à leurs bibliothèques.</strong> A travers les exemples, vous trouverez les commentaires sur l'utilisation de chaque méthode.<strong><br />
</strong></p>
<p style="text-align: justify;">C'est pourquoi vous trouverez dans le dossier de chaque bibliothèque, <strong>un dossier nommé "examples</strong>". Toutefois, il n'est pas utile de passer par le dossier mais de simplement <strong>lancer l'exemple depuis l'IDE </strong>en cliquant sur<strong> "Fichier" </strong>ensuite sélectionnez<strong> "Exemple" </strong>puis le <strong>nom de la bibliothèque</strong> que l'on souhaite exploiter.</p>
<h5><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">Les mises en forme</span></strong></span></h5>
<p style="text-align: justify;">Cela à titre d'information. Quand vous utilisez une bibliothèque, <strong>la <span style="color: #ff6600;">classe</span> et les <span style="color: #ff6600;">méthodes </span>s'affichent à l'IDE en orange. </strong>C'est fait pour signaler leur utilisation dans un fichier de bibliothèque et vous assurer que vous l'avez bien orthographié. Aussi de cette façon, si vous déclarez, par hasard, <strong>une variable qui porte le même nom qu'une méthode utilisée dans l'une des bibliothèque incluse à votre programme;</strong> cette variable changera de couleur vous indiquant par conséquent qu'elle ne peut pas être utilisée comme telle.</p>
<p style="text-align: justify;">Ce jeu de couleur est appliqué dans un fichier nommé "<strong>Keywords</strong>.<strong>txt</strong>".</p>
<p style="text-align: justify;">Voici ce qu'il contient:</p>
<p><img loading="lazy" decoding="async" class=" wp-image-2525 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/25-Bibliotheque-1.png" alt="25 - Bibliotheque" width="242" height="271" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/25-Bibliotheque-1.png 378w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/25-Bibliotheque-1-267x300.png 267w" sizes="auto, (max-width: 242px) 100vw, 242px" /></p>
<p style="text-align: justify;">En fait, ici sont regroupés des mots-clés en<strong> deux catégories de format de couleurs</strong>. Le premier "KEYWORD1" et le second "KEYWORD2". Évidemment, les mots-clés <strong>choisis sont ceux utilisés pour les méthodes de la classe Servo.</strong></p>
<ul style="text-align: justify;">
<li>KEYWORD1 applique un c<strong>aractère gras et la couleur orange</strong>  aux mots-clés.</li>
<li>KEYWORD2 applique <strong>seulement la couleur orange</strong> aux mots-clés.</li>
</ul>
<p style="text-align: justify;">Il vous sera utile de connaître ce fichier le jour où vous créerez vous-même vos bibliothèques. Ce qui sera un sujet bientôt abordé.</p>
<p style="text-align: justify;">Vous savez à présent<strong> comment explorer le fichier "H" et comment identifier les méthodes utiles pour l'exploitation d'une bibliothèque</strong>. Amusez-vous à explorer les autres bibliothèques pour en comprendre le fonctionnement.</p>
<h3 style="text-align: center;"><strong><span style="color: #0000ff;">MERCI.</span></strong></h3>
<h3 style="text-align: center;"><em><span style="text-decoration: underline;"><a href="https://plaisirarduino.fr/tutoriel/">PlaisirArduino/tutoriel.</a></span></em></h3>
<h3 style="text-align: center;"><strong><span style="color: #0000ff;">FIN.</span></strong></h3>
<p>&nbsp;</p>
<p>Cet article <a href="https://plaisirarduino.fr/explorer-une-bibliotheque/">Bibliothèque, comment l&rsquo;explorer ?</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>L&#8217;afficheur LCD. Qu&#8217;est ce que c&#8217;est ?</title>
		<link>https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Tue, 18 Apr 2017 18:08:38 +0000</pubDate>
				<category><![CDATA[Débutant Arduino]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=2260</guid>

					<description><![CDATA[<p>l'afficheur LCD. Tout d’abord que veut dire LCD ? LCD est l'abréviation du terme anglais "Liquid Crystal Display" qui signifie en français  "Écran à cristaux liquides". D’où afficheur LCD. L'afficheur LCD est en particulier une interface visuelle entre un système (projet) et l'homme (utilisateur). Son rôle est de transmettre les &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/">L&rsquo;afficheur LCD. Qu&rsquo;est ce que c&rsquo;est ?</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: center;"><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">l'afficheur LCD.</span></span></strong></h1>
<p style="text-align: justify;">Tout d’abord<span class="_Tgc"><strong><span style="text-decoration: underline;"> que veut dire LCD</span> ?</strong></span> LCD est l'abréviation du terme anglais "<em><strong>L</strong>iquid <strong>C</strong>rystal<strong> D</strong>isplay</em>" qui signifie en français  "<strong>Écran à cristaux liquides</strong>". D’où afficheur <strong>LCD</strong>.</p>
<p style="text-align: justify;">L'afficheur LCD est en particulier une <strong>interface visuelle entre un système</strong> (projet)<strong> et l'homme </strong>(utilisateur). Son rôle est de transmettre les informations utiles d'un système à un utilisateur. Il<strong> affichera donc des données</strong> susceptibles d'être exploiter par l'utilisateur d'un système.</p>
<p><figure id="attachment_2266" aria-describedby="caption-attachment-2266" style="width: 1054px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-2266 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min.png" alt="Vue de face d'un afficheur LCD." width="1054" height="468" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min.png 1054w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-300x133.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-768x341.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-1024x455.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-min-700x311.png 700w" sizes="auto, (max-width: 1054px) 100vw, 1054px" /><figcaption id="caption-attachment-2266" class="wp-caption-text">1602A (v2.0)</figcaption></figure></p>
<p>Nous utiliserons le modèle 1602A (V2.0) que l'on trouve dans le kit Arduino (2012).</p>
<h3><strong><span style="text-decoration: underline; color: #3366ff;">Comprendre l'afficheur</span><span style="text-decoration: underline;"><br />
</span></strong></h3>
<p style="text-align: justify;">Pour commencer nous détaillerons le <span style="text-decoration: underline;"><strong><span style="color: #00ccff;"><em><a style="color: #00ccff; text-decoration: underline;" href="https://www.openhacks.com/uploadsproductos/eone-1602a1.pdf">datasheet  de l 'afficheur 1602A (V2.0)</a>.</em></span></strong></span> C' est un document fourni par le constructeur dans lequel est<strong> détaillé ses caractéristiques, son fonctionnement et ses différentes utilisations possibles</strong>. Il est une <strong>source de renseignements très utile pour la maîtrise de son exploitation</strong>. Les datasheet sont, pour la plupart, en anglais.<strong> Aidez vous de <span style="text-decoration: underline; color: #00ccff;"><em>Google traduction</em></span> pour les traduire.</strong></p>
<h4><strong><span style="text-decoration: underline; color: #3366ff;">1 - Les caractéristiques.</span></strong></h4>
<p style="text-align: justify;"><strong>La première information</strong> à connaître<strong> est le nombre de caractère affichable par ligne</strong>. Pour ce modèle, c'est 16 caractères sur deux lignes soit au total 32 caractères. De toute évidence, on retrouve cette information <strong>dans le datasheet sous la forme 16 X 02.</strong> Mais aussi dans la référence <strong><span style="color: #800080;">16</span>02</strong> A.</p>
<p style="text-align: justify;">On recueille également l'information du mode de <strong> transmission de données</strong> sur <strong>quatre (4) ou huit (8) bits</strong>.</p>
<p><figure id="attachment_2272" aria-describedby="caption-attachment-2272" style="width: 320px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2272" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/02-LCD.png" alt="Caractéristiques globales de l’afficheur LCD." width="320" height="179" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/02-LCD.png 427w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/02-LCD-300x168.png 300w" sizes="auto, (max-width: 320px) 100vw, 320px" /><figcaption id="caption-attachment-2272" class="wp-caption-text"><strong>Caractéristiques globales de l’afficheur LCD.</strong></figcaption></figure></p>
<p>En outre, <strong>les informations suivantes à connaître </strong>sont<strong> les tensions d'exploitations, caractéristiques électriques et mécaniques de l'afficheur LCD.</strong></p>
<p><figure id="attachment_2271" aria-describedby="caption-attachment-2271" style="width: 485px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2271" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/01-LCD-e1482099809744.png" alt="Tableau des tensions d'exploitations, caractéristiques électriques et mécaniques" width="485" height="388" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/01-LCD-e1482099809744.png 802w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/01-LCD-e1482099809744-300x240.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/01-LCD-e1482099809744-768x615.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/01-LCD-e1482099809744-700x560.png 700w" sizes="auto, (max-width: 485px) 100vw, 485px" /><figcaption id="caption-attachment-2271" class="wp-caption-text"><strong>Tableau des tensions d'exploitations, caractéristiques électriques et mécaniques</strong></figcaption></figure></p>
<h4><strong><span style="text-decoration: underline; color: #3366ff;">2 - Le brochage.</span></strong></h4>
<p style="text-align: justify;">Le tableau ci-dessous représente bien le <strong>rôle de chaque broche et définit le brochage de l'afficheur LCD .</strong></p>
<p><figure id="attachment_2279" aria-describedby="caption-attachment-2279" style="width: 760px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-2279 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/03-LCD-1.png" alt="Tableau descriptif des fonctions de broches." width="760" height="428" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/03-LCD-1.png 760w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/03-LCD-1-300x169.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/03-LCD-1-700x393.png 700w" sizes="auto, (max-width: 760px) 100vw, 760px" /><figcaption id="caption-attachment-2279" class="wp-caption-text"><strong>Tableau descriptif du brochage.</strong></figcaption></figure></p>
<ul>
<li style="text-align: justify;">Premièrement, les<strong><span style="color: #008000;"> broches 1, 2 et 3</span></strong> sont dédiées à <strong><span style="color: #008000;">l'alimentation</span></strong>. La <strong>broche 1 et 2</strong> pour<strong> l'alimentation générale</strong>. La <strong>broche 3</strong> pour le branchement d'un potentiomètre qui <strong>contrôle le contraste de l'afficheur</strong>.</li>
<li style="text-align: justify;">Deuxièmement, les <strong><span style="color: #ff0000;">broches 4, 5 et 6</span></strong> pour le <strong><span style="color: #ff0000;">pilotage de la</span></strong> <strong><span style="color: #ff0000;">transmission des données</span></strong>. Elles pilotent l'écriture ou la lecture de données.</li>
<li style="text-align: justify;">Troisièmement, les <strong><span style="color: #ffff00;">broches de 7 à 14</span></strong>  pour le <strong><span style="color: #ffff00;">transfert des données elles-mêmes.</span></strong></li>
<li style="text-align: justify;">Et pour finir, les <strong><span style="color: #800080;">broches 15 et 16</span></strong> pour <strong><span style="color: #800080;">l'alimentation du rétro-éclairage</span></strong>.</li>
</ul>
<p style="text-align: justify;">Grâce à ces informations <strong>nous connaissons le brochage de l'afficheur</strong>. De plus nous avons en appui <strong>un schéma de raccordement.</strong></p>
<p><figure id="attachment_2290" aria-describedby="caption-attachment-2290" style="width: 456px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2290 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/04-LCD-schéma-e1482184623177.png" alt="04-lcd-schema" width="456" height="367" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/04-LCD-schéma-e1482184623177.png 456w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/04-LCD-schéma-e1482184623177-300x241.png 300w" sizes="auto, (max-width: 456px) 100vw, 456px" /><figcaption id="caption-attachment-2290" class="wp-caption-text">Schéma de câblage.<strong><span style="color: #ff0000;"> !! Ne pas câbler le fil rouge !!</span></strong>.</figcaption></figure></p>
<p style="text-align: justify;">Ce schéma illustre bien <strong>les branchements de l'alimentation principale et de ces auxiliaires.</strong> Nous avons ajouté<strong> le repérage des broches</strong>. Il y a une erreur signalée en rouge. <span style="text-decoration: underline;"><strong><span style="color: #ff0000; text-decoration: underline;">Ne pas câbler ce fil</span><span style="color: #ff0000; text-decoration: underline;">.</span></strong></span></p>
<p style="text-align: justify;">Nous avons donc maintenant <strong>suffisamment d'informations pour brancher l'afficheur LCD en toute confiance.</strong></p>
<h4><strong><span style="text-decoration: underline; color: #3366ff;">3 - Les branchements de l'afficheur LCD.</span></strong></h4>
<p><figure id="attachment_2381" aria-describedby="caption-attachment-2381" style="width: 889px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2381 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/02/Afficheur-LCD.jpg" alt="Afficheur LCD" width="889" height="731" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/02/Afficheur-LCD.jpg 889w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/02/Afficheur-LCD-300x247.jpg 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/02/Afficheur-LCD-768x632.jpg 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/02/Afficheur-LCD-700x576.jpg 700w" sizes="auto, (max-width: 889px) 100vw, 889px" /><figcaption id="caption-attachment-2381" class="wp-caption-text">Schéma des branchements.</figcaption></figure></p>
<p>A présent que tout est en place. Comment l'activer et le piloter? De toute évidence? il nous faudra lui envoyer des données . <strong>Mais quelles données envoyer et comment ?</strong><strong><br />
</strong></p>
<h4><strong><span style="text-decoration: underline; color: #3366ff;">4 - La transmissions de données.</span></strong></h4>
<p style="text-align: justify;">Observez le schéma ci-dessous. Nous avons ajouté<strong> le brochage</strong> suivant les repères du tableau. De plus, vous constaterez bien-sûr, la représentation de <strong>deux "modules"</strong>. Le<strong> <span style="color: #0000ff;">ST7066U</span></strong> et le <strong><span style="color: #339966;">ST7065C<span style="color: #000000;">.</span></span></strong></p>
<p><figure id="attachment_2292" aria-describedby="caption-attachment-2292" style="width: 707px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2292" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/05-LCD-schéma-transmission.png" alt="Schéma de transmission des données." width="707" height="291" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/05-LCD-schéma-transmission.png 703w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/05-LCD-schéma-transmission-300x124.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/05-LCD-schéma-transmission-700x289.png 700w" sizes="auto, (max-width: 707px) 100vw, 707px" /><figcaption id="caption-attachment-2292" class="wp-caption-text"><strong>Schéma de transmission des données.</strong></figcaption></figure></p>
<p style="text-align: justify;">Le ST7066U et le ST7065C sont <strong>des puces électronique utilisées en particulier pour piloter des matrices d'afficheurs LCD et</strong> <strong>capables de</strong> <strong>piloter 40 segments respectivement</strong>. Comme, par exemple, un<strong><span style="color: #00ccff;"><em><span style="text-decoration: underline;"><a style="color: #00ccff; text-decoration: underline;" href="https://plaisirarduino.fr/max-7219/"> MAX7219 avec une matrice à LED 8X8</a></span></em></span>.</strong></p>
<p><figure id="attachment_2304" aria-describedby="caption-attachment-2304" style="width: 360px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2304" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-Arriere-min.jpg" alt="Image arrière de l'afficheur." width="360" height="240" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-Arriere-min.jpg 3888w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-Arriere-min-300x200.jpg 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-Arriere-min-768x512.jpg 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-Arriere-min-1024x683.jpg 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/LCD-Arriere-min-700x467.jpg 700w" sizes="auto, (max-width: 360px) 100vw, 360px" /><figcaption id="caption-attachment-2304" class="wp-caption-text"><strong>Localisation des deux puces</strong></figcaption></figure></p>
<p><img loading="lazy" decoding="async" class="alignright wp-image-2297" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/06-LCD-Matrice.png" alt="Représentation d'une matrice de caractères LCD" width="55" height="86" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/06-LCD-Matrice.png 289w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/06-LCD-Matrice-192x300.png 192w" sizes="auto, (max-width: 55px) 100vw, 55px" /></p>
<p style="text-align: justify;">En effet <strong>l'afficheur est composé de plusieurs matrices </strong>chacune d'elle indépendante. Ci-contre la représentation d'une matrice affichant le caractère "A".</p>
<p style="text-align: justify;">En définitive, il y<strong> a 32 matrices de cinq points sur huit (5X8) disposés sur deux lignes</strong> qui composent l'afficheur représenté ci-dessous.</p>
<p><figure id="attachment_2334" aria-describedby="caption-attachment-2334" style="width: 2897px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-2334 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/08-LCD-Matrice-afficheur-complet-1.png" alt="Affichage des matrices 5X8." width="2897" height="1069" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/08-LCD-Matrice-afficheur-complet-1.png 2897w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/08-LCD-Matrice-afficheur-complet-1-300x111.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/08-LCD-Matrice-afficheur-complet-1-768x283.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/08-LCD-Matrice-afficheur-complet-1-1024x378.png 1024w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/08-LCD-Matrice-afficheur-complet-1-700x258.png 700w" sizes="auto, (max-width: 2897px) 100vw, 2897px" /><figcaption id="caption-attachment-2334" class="wp-caption-text"><strong>Affichage des matrices 5X8.</strong></figcaption></figure></p>
<p style="text-align: justify;">En fait, <strong>les pilotes reçoivent les données,</strong> les interprètent et <strong>affichent les caractères</strong> voulus aux positions souhaitées. Mais pour cela, il faut leur <strong>transmettre des données.</strong></p>
<p style="text-align: justify;">D'ailleurs, les deux<strong> logigrammes de transmission</strong> de données ci-dessous. L'un <strong> Writing data</strong> pour la<strong> réception</strong> <strong>de données </strong> et l'autre <strong>Reading data</strong> pour la<strong> transmission de données. </strong>Cependant, la seule <strong>chose qui diffère</strong> entre ces deux diagrammes, c'est<strong> l'état à la broche "RW" en rouge</strong>.<strong><br />
</strong></p>
<p><figure id="attachment_2319" aria-describedby="caption-attachment-2319" style="width: 807px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-2319 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-réception-1-1.png" alt="Diagramme de réception de données." width="807" height="515" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-réception-1-1.png 807w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-réception-1-1-300x191.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-réception-1-1-768x490.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-réception-1-1-700x447.png 700w" sizes="auto, (max-width: 807px) 100vw, 807px" /><figcaption id="caption-attachment-2319" class="wp-caption-text"><strong>Diagramme de réception de données.</strong></figcaption></figure></p>
<p><figure id="attachment_2318" aria-describedby="caption-attachment-2318" style="width: 844px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-2318 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-emission-1-1.png" alt="Diagramme d'émission de données." width="844" height="462" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-emission-1-1.png 844w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-emission-1-1-300x164.png 300w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-emission-1-1-768x420.png 768w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/07-LCD-Digramme-transmission-emission-1-1-700x383.png 700w" sizes="auto, (max-width: 844px) 100vw, 844px" /><figcaption id="caption-attachment-2318" class="wp-caption-text"><strong>Diagramme d'émission de données.</strong></figcaption></figure></p>
<p style="text-align: justify;">Ainsi, on comprend qu'<strong>en fonction de l'état "Haut" ou "Bas" à la broche "RW",</strong> le pilote de la matrice ST7066U est en<strong> mode de réception ou émission de données</strong>.</p>
<p style="text-align: justify;">Il n'y aura<strong> pas d'émission de données,</strong> la broche <strong>R/W</strong> sera donc par défaut <strong>à l'état bas "LOW" et par conséquent branché au 0V. </strong><strong><br />
</strong></p>
<h4><strong><span style="text-decoration: underline; color: #3366ff;">5-Les instructions de données.</span></strong></h4>
<p style="text-align: justify;"><strong>Comment transmettre des données à l'afficheur LCD?</strong></p>
<p style="text-align: justify;">Le tableau ci-dessous regroupe <strong>les diverses instructions</strong> de pilotage de l'afficheur.</p>
<h1 style="text-align: center;"><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;"><img loading="lazy" decoding="async" class="alignnone wp-image-2322" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/09-LCD-Tableau-des-instructions.png" alt="09-lcd-tableau-des-instructions" width="605" height="752" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/09-LCD-Tableau-des-instructions.png 515w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/09-LCD-Tableau-des-instructions-241x300.png 241w" sizes="auto, (max-width: 605px) 100vw, 605px" /></span></span></strong></h1>
<p style="text-align: justify;">D'autan plus qu'à la suite du tableau,<strong> il y a un descriptif de ces instructions.</strong></p>
<p style="text-align: justify;">Donc pour ceux qui veulent plus de détails, à titre d'information<strong><a href="https://plaisirarduino.fr/telechargement/"> téléchargez la traduction</a></strong>, en français, du datasheet. Il faut reconnaître que malgré les termes non définis, cela vous sera <strong>plus facile de comprendre </strong>toutes les<strong> données utiles pour piloter l'afficheur LCD.</strong></p>
<p style="text-align: justify;">Pour transmettre ces données, <strong>il faut maîtriser le protocole de transmission de données</strong> entre l'Arduino et l'afficheur LCD. Créer une fonction de transfert de données et <strong>pour le moment, c'est hors de notre portée. </strong>Pour ces raisons, et heureusement pour nous,<strong> des programmeurs</strong> <strong>ont conçu ces fonctions</strong>. Nous n'avons donc plus qu'à les exploiter pour mettre en service l'afficheur.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;"><strong>Note:</strong></span> dans le jargon de programmeur les fonctions dont on parle sont normalement appelées <strong>des </strong><span style="color: #ff0000;">méthodes</span> .</p>
<h4><span style="text-decoration: underline;"><strong><span style="color: #3366ff; text-decoration: underline;">6-Les fonctions de la bibliothèque.</span><br />
</strong></span></h4>
<p style="text-align: justify;">Des programmeurs ont créé des <span style="color: #ff0000;">méthodes</span><strong> qui nous permettent d'exploiter l'afficheur.</strong> D'ailleurs, par simplicité et plus de flexibilité, ils les ont installé dans une <span style="color: #0000ff;">bibliothèque<span style="color: #000000;"> appelée</span></span> <strong>&lt;</strong><span style="color: #ff6600;">LiquidCristal</span>.h&gt;.</p>
<p style="text-align: justify;"><span style="color: #0000ff;"><span style="color: #000000;">Ces <span style="color: #ff0000;">méthodes,</span> n</span></span>ous les avons bien évidemment <span style="text-decoration: underline;"><strong> extraites en explorant le fichier d'en-tête</strong></span> de la bibliothèque <strong>&lt;<span style="color: #ff6600;">LiquidCristal</span>.h&gt;.</strong> <em>Vous trouverez comment le faire au travers du tutoriel intitulé <span style="color: #0000ff;"> &lt;&lt;Explorer une bibliothèque et découvrir ses méthodes&gt;&gt;</span>. </em></p>
<p style="text-align: justify;">Ci-dessous un tableau des <em><span style="color: #0000ff;">méthodes</span></em> de <strong>&lt;<span style="color: #ff6600;">LiquidCristal</span>.h&gt;</strong></p>
<p style="text-align: justify;">
<table id="tablepress-4" class="tablepress tablepress-id-4">
<thead>
<tr class="row-1">
	<th class="column-1">Nom de fonction.</th><th class="column-2">Rôles.</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1">void clear();</td><td class="column-2">Efface l'afficheur.</td>
</tr>
<tr class="row-3">
	<td class="column-1">void home();</td><td class="column-2">Retourne le curseur au point d'origine (0,0).</td>
</tr>
<tr class="row-4">
	<td class="column-1">void noDisplay();</td><td class="column-2">Désactive l'affichage.<br />
</td>
</tr>
<tr class="row-5">
	<td class="column-1">void display();</td><td class="column-2">Active l'affichage.</td>
</tr>
<tr class="row-6">
	<td class="column-1">void noBlink();</td><td class="column-2">Désactive le clignotement du curseur.</td>
</tr>
<tr class="row-7">
	<td class="column-1">void blink();</td><td class="column-2">Active le clignotement du curseur.</td>
</tr>
<tr class="row-8">
	<td class="column-1">void noCursor();</td><td class="column-2">Désactive le curseur.</td>
</tr>
<tr class="row-9">
	<td class="column-1">void cursor();</td><td class="column-2">Active le curseur.</td>
</tr>
<tr class="row-10">
	<td class="column-1">void scrollDisplayLeft</td><td class="column-2">Décale l'affichage vers la gauche.</td>
</tr>
<tr class="row-11">
	<td class="column-1">void scrollDisplayRight();</td><td class="column-2">Décale l'affichage vers la droite.</td>
</tr>
<tr class="row-12">
	<td class="column-1">void leftToRight();</td><td class="column-2">Déplace le curseur vers la droite à l'affichage d'une donnée.</td>
</tr>
<tr class="row-13">
	<td class="column-1">void rightToLeft();</td><td class="column-2">Déplace le curseur vers la gauche à l'affichage d'une donnée.</td>
</tr>
<tr class="row-14">
	<td class="column-1">void autoscroll();</td><td class="column-2">Active le défilement automatique de l'affichage vers la gauche.</td>
</tr>
<tr class="row-15">
	<td class="column-1">void noAutoscroll();</td><td class="column-2">Désactive le défilement automatique de l'affichage vers la gauche.</td>
</tr>
<tr class="row-16">
	<td class="column-1">void createChar(uint8_t, uint8_t[]);</td><td class="column-2">Permet l'appel de caractères ou symboles pré- construit dans un tableau.</td>
</tr>
<tr class="row-17">
	<td class="column-1">void setCursor(uint8_t, uint8_t); </td><td class="column-2">Place le curseur à la position souhaitée.</td>
</tr>
<tr class="row-18">
	<td class="column-1">void setRowOffsets(int row1, int row2, int row3, int row4)<br />
</td><td class="column-2">?</td>
</tr>
<tr class="row-19">
	<td class="column-1">virtual size_t write(uint8_t);</td><td class="column-2">?</td>
</tr>
<tr class="row-20">
	<td class="column-1">void command(uint8_t);<br />
</td><td class="column-2">?</td>
</tr>
</tbody>
</table>
</p>
<p style="text-align: justify;">Pour <strong>utiliser les <em><span style="color: #0000ff;">méthodes</span></em> d'une bibliothèque,</strong> il faut avant toute chose <a href="https://plaisirarduino.fr/bibliotheque/">l'inclure dans le progra</a><a href="https://plaisirarduino.fr/bibliotheque/">mme</a><a href="https://plaisirarduino.fr/bibliotheque/"> </a> par l'instruction <strong><span style="color: #808000;">#include</span><span style="color: #99cc00;"> </span>&lt;<span style="color: #ff9900;">bibliothèque</span>.h&gt;</strong> .</p>
<p><img loading="lazy" decoding="async" class="wp-image-2391 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/10-LCD-include.png" alt="10-LCD include" width="466" height="50" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/10-LCD-include.png 270w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/10-LCD-include-268x29.png 268w" sizes="auto, (max-width: 466px) 100vw, 466px" /></p>
<p style="text-align: justify;">Une fois incluses, nous pouvons commencer la programmation.</p>
<p style="text-align: justify;">Mais avant de commencer,  il va<strong> falloir initialiser et configurer l'afficheur</strong>. Sans cela impossible d'utiliser les <em><span style="color: #0000ff;">méthodes</span></em> .</p>
<h4><strong><span style="text-decoration: underline; color: #3366ff;">7-Initialisation, configuration et test de l'afficheur LCD.</span></strong></h4>
<h5 style="text-align: justify;"><strong>L'initialisation.</strong></h5>
<p style="text-align: justify;">Premièrement, il faut donc<strong> initialiser l'Arduino en fonction des besoins de l'afficheur</strong>. Cela consiste à <strong>attribuer aux broches de l’Arduino des tâches de travail en fonction des broches de l'afficheur.</strong></p>
<p style="text-align: justify;">Étant donné que c'est une initialisation, elle<strong> s'effectue en tête de programme</strong> par l'<strong>appel de la classe</strong> <strong><span style="color: #ff6600;">LiquidCrystal</span></strong> et <strong>en lui attribuant un</strong> <strong><span style="text-decoration: underline;">OBJET.</span> </strong>On dit ici faire une instanciation. Comme illustré ci-dessous "<strong>lcd</strong>" est <strong>l'objet</strong>. (<em>Vous pouvez lui donner le nom de votre choix.)</em></p>
<p><img loading="lazy" decoding="async" class="wp-image-2418 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/13-LCD-initialisation.png" alt="13-LCD initialisation" width="509" height="92" /></p>
<p style="text-align: justify;">Néanmoins, vous constaterez que <strong>l'attribution d'un objet ne suffit pas.</strong> Il faut <strong>également attribuer des données préalablement déclarées</strong>. Ces données consistent à<strong> initialiser les broches</strong>. <em>(Vous pouvez aussi bien ne pas les déclarer et utiliser le numéro de broche).</em></p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Il faut souligner que<strong> l'ordre de chaque donnée a son utilité et son importance</strong>. Elles correspondent particulièrement à un traitement bien défini car elles seront traitées pour exécuter une tâche bien précise.</span></p>
<ul>
<li style="text-align: justify;"><strong>RS : </strong>Donnée de broches qui synchronise les données.</li>
<li style="text-align: justify;"><strong>E : </strong>Donnée de broches qui active la réception des données.</li>
<li style="text-align: justify;"><strong>D4, D5, D6, Et D7 ; </strong>Données de broches qui transmettent les données.</li>
</ul>
<p style="text-align: justify;">Ci-dessous un exemple de déclaration des broches en fonction de notre exemple.</p>
<p><img loading="lazy" decoding="async" class="wp-image-2420 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/14-LCD-Declaration..png" alt="14-LCD Declaration." width="462" height="152" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/14-LCD-Declaration..png 365w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/14-LCD-Declaration.-300x99.png 300w" sizes="auto, (max-width: 462px) 100vw, 462px" /></p>
<p style="text-align: justify;">Nous sommes en<strong> mode transmission de données quatre bits, délivrée en quartet, soit quatre bits</strong> <strong>via les broches 2,3,4 et 5</strong>.<strong> Les broches 12 et 11 pilotent le transfert des données.</strong> Nous pourrions utiliser huit bits (plus rapide) mais quatre bits (plus simple) suffiront largement.</p>
<h5><strong>La configuration.</strong></h5>
<p style="text-align: justify;">Une fois initialisée,  il faut<strong> configurer le LCD</strong> dans le <strong><span style="color: #99cc00;">setup<span style="color: #000000;">() </span></span></strong><span style="color: #99cc00;"><span style="color: #000000;">grâce à la <em><span style="color: #0000ff;">méthode</span></em> <strong><span style="color: #ff6600;">begin</span>()</strong> en rattachant son objet "<strong>lcd</strong>" et en la paramétrant.</span></span></p>
<p><img loading="lazy" decoding="async" class="wp-image-2387 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/02/03-LCD.jpg" alt="03-LCD" width="593" height="106" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/02/03-LCD.jpg 403w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/02/03-LCD-300x54.jpg 300w" sizes="auto, (max-width: 593px) 100vw, 593px" /></p>
<p style="text-align: justify;">Ci-dessus la première donnée (16) est le nombre de colonne et la seconde (2) le nombre de ligne. Nous pouvons à présent<strong> mettre en service l'afficheur pour le tester. </strong></p>
<h5><strong>Le test.</strong></h5>
<p style="text-align: justify;"><strong>Pour tester l'afficheur nous utiliserons donc la </strong><em><span style="color: #00ccff;"><a style="color: #00ccff;" href="https://plaisirarduino.fr/explorer-une-bibliotheque/">méthode</a></span></em><strong><span style="color: #ff6600;"> print</span>();</strong> que nous connaissons déjà. Comme illustré ci-dessous ne pas oublier de <strong>placer le message entre guillemets.</strong></p>
<p><img loading="lazy" decoding="async" class="wp-image-2397 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/11-LCD-helloworld-Setup.png" alt="11-LCD helloworld Setup" width="470" height="54" /></p>
<p style="text-align: justify;">L'affichage du message confirmera alors le bon branchement et le fonctionnement de l'afficheur. Passons donc à l'étape de l'exploitation<strong>.</strong></p>
<h4><strong><span style="text-decoration: underline; color: #3366ff;">8-L'exploitation de l'afficheur.</span></strong></h4>
<p style="text-align: justify;">Ensuite pour exploiter l'afficheur LCD,  il suffit de<strong> faire appel aux autres <em><span style="color: #00ccff;"><a style="color: #00ccff;" href="https://plaisirarduino.fr/explorer-une-bibliotheque/">méthode</a></span></em> de la bibliothèque</strong>. V<strong>ous trouverez aussi des exemples de programmes fournis avec la bibliothèque</strong>.</p>
<p style="text-align: justify;"><strong>En effet, dans le menu de l'IDE</strong>. Via FICHIER =&gt; EXEMPLE =&gt; LiquidCrystal =&gt; tous les exemples d'exploitation possibles.</p>
<p><img loading="lazy" decoding="async" class="wp-image-2409 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/13-LCD-menu-exemple.jpg" alt="13-LCD menu exemple" width="408" height="476" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/13-LCD-menu-exemple.jpg 533w, https://plaisirarduino.fr/arduino/wp-content/uploads/2017/03/13-LCD-menu-exemple-257x300.jpg 257w" sizes="auto, (max-width: 408px) 100vw, 408px" /></p>
<p style="text-align: justify;">L'ensemble des <strong><em><span style="color: #00ccff;"><a style="color: #00ccff;" href="https://plaisirarduino.fr/explorer-une-bibliotheque/">méthodes</a></span></em> es</strong>t utilisé dans les exemples. Pour cette raison, nous ne détaillerons pas l'exploitation des <em><span style="color: #00ccff;"><a style="color: #00ccff;" href="https://plaisirarduino.fr/explorer-une-bibliotheque/">méthodes</a></span></em> car les exemples sont simples à comprendre. <em> Reportez-vous au tableau des <span style="color: #00ccff;"><a style="color: #00ccff;" href="https://plaisirarduino.fr/explorer-une-bibliotheque/">méthodes</a></span> plus haut dans  le chapitre six " Les fonctions de la bibliothèque".</em></p>
<p style="text-align: justify;">Vous savez à présent <strong>de quoi se compose un afficheur LCD</strong> <strong>et comment le mettre en service.</strong> Apprenez et amusez-vous à manipuler et modifier les exemples selon vos besoins de programmation de vos projets. <em>Aidez-vous des traducteurs pour les traduire.</em></p>
<h3 style="text-align: center;"><strong><span style="color: #0000ff;">MERCI.</span></strong></h3>
<h3 style="text-align: center;"><em><span style="text-decoration: underline;"><strong><span style="color: #00ccff;"><a style="color: #00ccff; text-decoration: underline;" href="https://plaisirarduino.fr/tutoriel/">PlaisirArduino/tutoriel.</a></span></strong></span></em></h3>
<h3 style="text-align: center;"><strong><span style="color: #0000ff;">FIN.</span></strong></h3>
<p>Cet article <a href="https://plaisirarduino.fr/afficheur-lcd-comment-lexploiter/">L&rsquo;afficheur LCD. Qu&rsquo;est ce que c&rsquo;est ?</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Analogique et MLI. Gestion de ces signaux</title>
		<link>https://plaisirarduino.fr/signaux-dentrees-et-sortie-analogique/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Thu, 08 Dec 2016 21:08:38 +0000</pubDate>
				<category><![CDATA[Débutant Arduino]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=1469</guid>

					<description><![CDATA[<p>Gestion d'un signal analogique et MLI Introduction Au travers de ce tutoriel, nous allons exploiter un signal analogique en entrée pour piloter en sortie PMW dit MLI en français Modulation de Largeur d'Impulsion. Le but est de faire varier la luminosité d'une LED en agissant sur un potentiomètre. Pour cela &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/signaux-dentrees-et-sortie-analogique/">Analogique et MLI. Gestion de ces signaux</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: center;"><span style="color: #0000ff;"><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">Gestion d'un signal analogique et MLI</span></strong><br />
</span></span></h1>
<h3 style="text-align: left;"><strong><span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;">Introduction</span></span></strong></h3>
<p>Au travers de ce tutoriel, nous allons exploiter un <strong>signal analogique en entrée pour piloter en sortie PMW dit MLI</strong> en français <span style="text-decoration: underline;"><strong>M</strong></span>odulation de<span style="text-decoration: underline;"><strong> L</strong></span>argeur d'<span style="text-decoration: underline;"><strong>I</strong></span>mpulsion.</p>
<p>Le but est de <strong>faire varier la luminosité d'une LED</strong> <strong>en agissant sur un potentiomètre</strong>. Pour cela nous allons utiliser:<img loading="lazy" decoding="async" class="alignright" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/Potentiometre.png" alt="potentiometre" width="240" height="195" name="images1" align="BOTTOM" border="1" /></p>
<ul>
<li>Une carte Adruino UNO.</li>
<li>Un potentiomètre de 10Kohm.</li>
<li>Une résistance de charge de 220ohm.</li>
<li>Une LED de couleur rouge.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/LED-Resisstance-e1473599736162.jpg" alt="LED et résistance" width="235" height="132" name="images2" align="BOTTOM" border="1" /></p>
<p>Pour comprendre la gestion <strong>PWM,</strong> il faut tout d’abord faire un petit rappel. Vous découvrirez plus de détail, en cliquant <strong><span style="text-decoration: underline;"><span style="color: #3366ff; text-decoration: underline;"><a style="color: #3366ff; text-decoration: underline;" href="https://plaisirarduino.fr/les-entrees-sortie-de-la-platine-arduino/">ici</a>.</span></span></strong></p>
<h3 style="text-align: left;"><strong><span style="text-decoration: underline;">Les branchements.</span></strong></h3>
<p>Commençons par examiner <span style="font-family: Arial,sans-serif;"><span style="font-size: medium;">la platine Arduino UNO :</span></span></p>
<ul>
<li>Nous avons<strong> 12 broches configurables en <span style="text-decoration: underline;"><span style="color: #3366ff;"><a style="color: #3366ff; text-decoration: underline;" href="https://plaisirarduino.fr/les-entrees-sortie-de-la-platine-arduino/">entrées ou sorties </a></span></span>repérées de 2 à 13</strong>. Seules les broches PMW repérées avec ce symbole "<strong>~"</strong> configurées en sorties modulerons une longueur d'impulsion numérique <strong>MLI</strong> calculée sur une <strong>résolution numérique de 8bits</strong> qui représente une plage de<strong> 0 à 255 points de mesure</strong>. Ce procédé simule un signal de sortie analogique mais qui en fait n'en n'est pas un. Donc nous utiliserons la broche 3, repéré par le sigle "~" (PMW).</li>
<li>Il y a également<strong> 6 broches d'entrées, repérées de A0 à A5</strong>, spécifiquement conçues pour le <strong>traitement des signaux de tensions analogiques</strong><span style="text-decoration: underline;"> allant jusqu'à 5V max.</span> Elles exploitent un <strong><span style="text-decoration: underline;">convertisseur analogique/numérique</span> d'une résolution numérique de 10 BITS</strong> qui représentent une plage <strong>de 0 à 1023 points de mesure</strong>. C'est pour cela que nous utiliserons l'une de ces broches pour raccorder notre potentiomètre, à l'occurrence A0.</li>
</ul>
<p style="text-align: center;"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/Signal-analogique-Schéma..png"><span style="color: #000080;"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/Signal-analogique-Schéma..png" alt="signal-analogique-schema" width="641" height="407" name="images3" align="BOTTOM" border="1" /></span></a><strong><span style="color: #ff0000;">Ne surtout pas dépasser la tension de 5V max si celle-ci est externe à la carte Arduino.</span></strong></p>
<h2 style="text-align: center;"><span style="color: #000000;"><strong><span style="text-decoration: underline;">Le programme.</span></strong></span></h2>
<h3 style="text-align: center;" align="LEFT"><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Déclarations.</span></span></strong></h3>
<p>En premier lieu, nous<span style="text-decoration: underline;"> <span style="color: #333399;"><strong>déclarons</strong></span><strong> nos variables.</strong></span></p>
<h3 style="text-align: center;"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/01-Signale-analogique..png"><span style="color: #000080;"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/01-Signale-analogique..png" alt="01-signale-analogique" width="449" height="70" name="images4" align="BOTTOM" border="1" /></span></a><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Configurations.</span></span></strong></h3>
<p style="text-align: left;">Nous établissons ensuite nos <strong><span style="text-decoration: underline;">configurations</span>.</strong></p>
<ul>
<li>Pour un retour visuel des valeurs exploitées au moniteur série, nous paramétrons la <strong>Vitesse du port série.</strong></li>
<li>Nous <strong>configurons en mode sortie la broche utile</strong> au pilotage de la LED.</li>
</ul>
<p align="LEFT"><span style="text-decoration: underline;"><strong>NOTE</strong></span>: il faut souligner qu'il n'est <strong>pas nécessaire de configurer une broche d'entrée analogique</strong> quant elle est utilisée pour ce type de signal.</p>
<p align="LEFT"><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/02-Signale-analogique.-e1473601389801.png"><span style="color: #000080;"><img loading="lazy" decoding="async" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/02-Signale-analogique.-e1473601389801.png" alt="02-signale-analogique" width="640" height="226" name="images5" align="BOTTOM" border="1" /></span></a></p>
<h3 style="text-align: center;" align="LEFT"><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Test.</span></span></strong></h3>
<h6 align="LEFT"><em>Pour s'assurer que tout fonctionne correctement, il faut tester nos configurations et nos équipements Cela évite de chercher un bogue dans le  programme alors que c'est l'équipement qui est en cause.</em></h6>
<p>Premièrement nous <strong>testons la LED</strong>. Nous <strong>l'activons trois fois</strong> <strong>pour la contrôler visuellement</strong>.</p>
<p>Deuxièmement, pour contrôler le potentiomètre nous utilisons la fonctions <strong><span style="color: #ff6600;">analogRead</span> ();</strong> qui lit la valeur de tension à la broche sélectionnée et la<strong> convertit en chiffre entier de 0 à 1023, puis </strong>nous <strong>positionnons le potentiomètre en butée mini</strong> (gauche) <strong>ou maxi</strong> (droite)  et effectuons une<strong> lecture de notre signal à l'un de ces deux points</strong>.  On<strong> teste ensuite que la valeur lue correspond bien à 0 (mini) ou à 1023 (maxi)</strong> à l'un de ces deux points. Si ce n'est pas le cas, il y a un problème de branchements.</p>
<p><strong><span style="color: #ff6600;">analogRead</span>(Broche à lire);</strong>  //Ou variable affectée à la broche.</p>
<p><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/03-Signale-analogique..png"><span style="color: #000080;"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/03-Signale-analogique..png" alt="03-signale-analogique" width="739" height="578" name="images6" align="BOTTOM" border="1" /></span></a>Vous constaterez l'utilisation de<strong> <a href="https://plaisirarduino.fr/la-boucle-while/"><span style="text-decoration: underline;"><span style="color: #3366ff;">while(1)</span></span></a></strong> dans le test qui<strong> stoppera l'évolution du programme</strong>. En effet dans le cas ou un <strong>défaut de lecture</strong> est vrais lors du test il faudra donc <strong>relancer le programme par un re-set sur la platine ou un téléversement.</strong></p>
<p><strong>Note:</strong> Dans ce programme, nous n'avons pas d'initialisation à effectuer.</p>
<h2 style="text-align: center;"><span style="color: #000000;"><strong><span style="text-decoration: underline;">Programme principal.</span></strong></span></h2>
<p>Nous décomposons le programme principal en quatre parties.</p>
<ol>
<li>La déclaration des variables locales.</li>
<li>L'acquisition du signal.</li>
<li>Le traitement du signal.</li>
<li>L'exploitation du signal.</li>
</ol>
<h3 style="text-align: center;"><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Déclarations.</span></span></strong></h3>
<h3 style="text-align: center;"><span style="color: #0000ff;"><a style="color: #0000ff;" href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/04-Signale-analogique..png"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/04-Signale-analogique..png" alt="04-signale-analogique" width="635" height="70" name="images7" align="BOTTOM" border="1" /></a><strong><span style="text-decoration: underline;"><span style="color: #0000ff; text-decoration: underline;">Acquisitions.</span></span></strong></span><strong><br />
</strong></h3>
<p>Ensuite, nous réalisons la <strong>lecture de la valeur</strong> du potentiomètre par la fonction <strong><span style="color: #ff6600;">analog</span><span style="color: #ff6600;">Read</span>();</strong> et <strong>chargeons la valeur</strong> acquise <strong>dans la variable de traitement</strong>  (V.T.)  "<strong>val</strong>_<strong>potar</strong>" .</p>
<h3 style="text-align: center;"><strong><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/05-Signale-analogique..png"><span style="color: #000080;"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/05-Signale-analogique..png" alt="05-signale-analogique" width="711" height="141" name="images8" align="BOTTOM" border="1" /></span></a></strong><span style="text-decoration: underline;"><strong><span style="color: #0000ff; text-decoration: underline;">Traitement des signaux.</span></strong><br />
</span></h3>
<p>Une fois la valeur chargée, nous pouvons la manipuler. A cette étape nous allons convertir, mettre à l'échelle et limiter les signaux.</p>
<h5 style="text-align: left;"><strong><span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;">Conversion</span></span></strong></h5>
<p>Tout d'abord, pour une exploitation plus parlante de notre projet au travers du moniteur série, il est <strong>utile de connaître la valeur de tension équivalente</strong> de la donnée brute. En d'autres termes, <strong>convertir la donnée brute en volt.</strong></p>
<ul>
<li>Donc nous allons <strong>diviser la tension de service aux bornes du potentiomètre par le nombre de points de lecture</strong>. Soit 5Volts divisés 1024 points. Ce qui nous donne un coefficient "K" de conversion que l'on applique par multiples à notre donnée brute. (48.82*10e-3). Après cela nous connaissons théoriquement la valeur de tension appliquée à l'entrée analogique.</li>
</ul>
<p><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/06.1-Signale-analogique..png"><span style="color: #000080;"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/06.1-Signale-analogique..png" alt="06-1-signale-analogique" width="622" height="120" name="images9" align="BOTTOM" border="1" /></span></a><span style="text-decoration: underline;"><strong>Note:</strong></span> Par ailleurs, vous pouvez vous <strong>brancher en parallèle </strong>au signal de sortie du potentiomètre<strong> un appareil de mesure.</strong> Néanmoins, des écarts sont à noter et à corriger si nécessaire.</p>
<p><strong>La tension de service est la tension maximum qui sera appliquée à l'entrée analogique.</strong></p>
<h4><strong><span style="color: #ff0000;">Ne surtout pas dépasser la tension de 5V maxi si celle-ci est externe à la carte Arduino.</span></strong></h4>
<h5 style="text-align: left;"><strong><span style="text-decoration: underline;">Mise à l'échelle.</span></strong></h5>
<p>Ensuite, il va nous falloir <strong>réaliser une concordance entre le signal d'entrée et de sortie</strong>. Malgré cela, elles n’ont pas la même échelle de mesure car un signal <strong>PWM en sortie est de 255 points et que le signal analogique d'entrée est de 1024 points.</strong></p>
<ul>
<li>La fonction <strong><span style="color: #ff9900;">map<span style="color: #000000;">();</span></span></strong> nous aide à <strong>réaliser une mise à l'échelle du signal d'entrée avec le signal de sortie.</strong> De sorte que nous obtenons une corrélation entre le signal d'entrée et de sortie.</li>
</ul>
<p><strong><span style="color: #ff9900;">map</span> (VT* , mini VT, maxi VT, mini VS*, maxi VS);</strong> //Format de la fonction.</p>
<p><em> *VT = Variable de traitement *VS = Variable de Sortie.</em></p>
<p><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/06.2-Signale-analogique..png"><span style="color: #000080;"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/06.2-Signale-analogique..png" alt="06-2-signale-analogique" width="707" height="107" name="images10" align="BOTTOM" border="1" /></span></a>Nous obtiendrons donc 255 points en sortie pour 1023 point en lecture d'entrée.</p>
<h5 style="text-align: left;"><strong>Limitation.</strong></h5>
<p>Certains projets ont des <strong>butées mécaniques de fonctionnement</strong> qu'il ne faut surtout pas atteindre par risque de casse ou blocage.  Par conséquent, il ne faut <strong>pas dépasser certaines valeurs de pilotage en sortie.</strong> C'est pour cela que nous utilisons la fonction  <strong><span style="color: #ff9900;">constrain</span>();</strong> qui nous aide à effectuer cette opération.</p>
<p>Toutefois, <strong><span style="color: #ff9900;">constrain</span></strong> de l'anglais veux dire <strong>LIMITER</strong>. Nous réalisons donc par cette fonction une mise en butée du pilotage électrique.</p>
<p><strong><span style="color: #ff9900;">constrain</span>(*VT, mini , maxi );</strong> // *VT Variable de traitement.</p>
<p><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/06.3-Signale-analogique..png"><span style="color: #000080;"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/06.3-Signale-analogique..png" alt="06-3-signale-analogique" width="729" height="135" name="images11" align="BOTTOM" border="1" /></span></a><strong>CONSEIL:</strong> Nous pouvons <strong>appliquer cette limitation à deux endroits</strong> du programme. Soit au signal d'entrée ou au signal de sortie. <strong>Il est sécurisant de le faire en sortie</strong> car <span style="text-decoration: underline;">une erreur de traitement (calcul) de la valeur du signal dans le programme  peut avoir des valeurs non acceptables pour vos projets.</span></p>
<p>Les valeurs de limitations du signal de sortie se détermine par des relevés ou des calculs effectués par vos soins et en connaissance du projet.</p>
<p>La mise en butée du signal d'entrée peut aussi être directement réalisé dans la fonction  <strong><span style="color: #ff9900;">map</span></strong>(); avec les paramètres de sorties mini et maxi.</p>
<h5 style="text-align: left;"><strong><span style="text-decoration: underline;"><span style="color: #000000; text-decoration: underline;">Conversion</span></span></strong></h5>
<p>Pour les même raison que le signal analogique d'entrée, il nous est utile de<strong> connaître la valeur en tension équivalente à la donnée brute d'exploitation</strong> en sortie. Nous opérons une conversion comme décrit plus haut mais avec une résolution de 255 points.</p>
<ul>
<li>Il faut également <strong>diviser la tension de service aux bornes du potentiomètre par le nombre de points de résolution de lecture</strong>. Soit 5 Volts divisés par 255 points. Cela nous donne un coefficient "K" de conversion que l'on applique par multiples à notre donnée brute de sortie. (195.3*10e-3).<br />
Grâce à cela nous connaissons théoriquement la valeur de tension appliquée à la sortie pour le  pilotage.</li>
</ul>
<p><img loading="lazy" decoding="async" class="wp-image-2235 size-full aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/06.4-Signale-analogique.-e1480615630726.png" width="536" height="112" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/06.4-Signale-analogique.-e1480615630726.png 536w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/12/06.4-Signale-analogique.-e1480615630726-300x63.png 300w" sizes="auto, (max-width: 536px) 100vw, 536px" /></p>
<p><strong><span style="text-decoration: underline;">L'exploitation</span></strong></p>
<p>Finalement, une fois le signal traité, nous l’intégrons à la fonction  <strong><span style="color: #ff9900;">analogWrite</span>();</strong> pour <strong>appliquer la consigne de pilotage.</strong></p>
<p><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/07-Signale-analogique..png"><span style="color: #000080;"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/07-Signale-analogique..png" alt="07-signale-analogique" width="667" height="109" name="images13" align="BOTTOM" border="1" /></span></a>La LED s'allume en fonction de la valeur traitée.</p>
<p>En conclusion, nous constatons que la valeur de <strong>tension appliquée à la LED ne dépassera pas les 4,10V</strong>. Le signal de sortie étant mis en butée mini et maxi, la valeur de sortie n'atteindra jamais 0V et 5V. Nous voyons ci-dessous le résultat du traitement signal par le moniteur série.</p>
<p><a href="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/08-Signale-analogique..png"><span style="color: #000080;"><img loading="lazy" decoding="async" class="aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/08-Signale-analogique..png" alt="08-signale-analogique" width="428" height="143" name="images14" align="BOTTOM" border="1" /></span></a>Si l'on voulait, nous pourrions même <strong>limiter la tension de pilotage à 2V</strong> pour se passer de la résistance de charge de la LED.</p>
<p>Vous connaissez à présent les bases et quelques outils utiles pour l'exploitation d'un signal analogique en entrée et modulé en sortie.</p>
<p>Découvrez et exploitez le signal analogique en <a href="https://plaisirarduino.fr/telechargement/"><em><span style="color: #0000ff;">téléchargeant les sketchs</span> </em></a>référents de ce sujet.</p>
<p><em>++ Petit plus ce programme exemple n'est pas visuellement confortable pour une exploitation via le moniteur série. C'est pour cela que nous vous proposons aussi un programme évolué "Signale_analogique_EVO" de cet exemple qui n'affiche que la valeur actualisée lors d'un changement de valeur au potentiomètre. Vous le trouverez dans la rubrique téléchargement.++.</em></p>
<h3 style="text-align: center;"><strong><span style="color: #0000ff;">MERCI</span></strong>.</h3>
<h3 style="text-align: center;"><a href="https://plaisirarduino.fr/tutoriel/"><em><span style="color: #0000ff;">PlaisirArduino/tutoriel.</span></em></a></h3>
<h3 style="text-align: center;"><strong><span style="text-decoration: underline; color: #0000ff;">FIN.</span></strong></h3>
<p>Cet article <a href="https://plaisirarduino.fr/signaux-dentrees-et-sortie-analogique/">Analogique et MLI. Gestion de ces signaux</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bibliothèque, comment l&#8217;installer ?</title>
		<link>https://plaisirarduino.fr/bibliotheque/</link>
		
		<dc:creator><![CDATA[M.D-L]]></dc:creator>
		<pubDate>Mon, 14 Nov 2016 20:50:38 +0000</pubDate>
				<category><![CDATA[Débutant Arduino]]></category>
		<guid isPermaLink="false">https://plaisirarduino.fr/?p=1647</guid>

					<description><![CDATA[<p>Installer une bibliothèque Description. Dans l'univers Arduino, vous rencontrerez les LIBRARIES , que l'on appelle bibliothèques . Certaines sont intégrées d'origine au sein du compilateur mais il est aussi possible d'en ajouter en les téléchargeant sur Internet. Mais en réalité, c'est un sous-programme qui forme un groupement de fonctions utiles à l'exploitation &#8230;</p>
<p>Cet article <a href="https://plaisirarduino.fr/bibliotheque/">Bibliothèque, comment l&rsquo;installer ?</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: center;"><strong><span style="text-decoration: underline; color: #0000ff;">Installer une bibliothèque </span></strong></h1>
<h3><span style="text-decoration: underline;">Description.</span></h3>
<p>Dans l'univers Arduino, vous rencontrerez les <strong><em>LIBRARIES</em></strong> , que l'on appelle <strong>bibliothèques </strong>. Certaines sont<strong> intégrées d'origine au sein du compilateur mais il est aussi possible d'en ajouter</strong> en les téléchargeant sur Internet.</p>
<p>Mais en réalité,<strong> c'est un sous-programme</strong> <strong>qui forme un groupement de fonctions</strong> utiles à <strong>l'exploitation d'équipements</strong> comme les <span style="text-decoration: underline;">servomoteurs</span>, les <span style="text-decoration: underline;">afficheurs LCD</span> ou gérer des<span style="text-decoration: underline;"> communications SPI</span> et autres <span style="text-decoration: underline;">composants électroniques</span><strong>.</strong></p>
<h2><span style="text-decoration: underline;">Charger une bibliothèque.</span></h2>
<p>Il vous sera parfois nécessaire d'installer une librairie qui ne fait pas partie de la liste. Tout d'abord, il vous faudra la télécharger sous format ZIP sur Internet.</p>
<p>Prenons l'exemple de <strong>&lt;<span style="color: #ff6600;">RTClib</span>.h&gt;</strong> utile à la gestion des temps horaires coordonnés pour avoir l'heure exacte. <strong>Après avoir recherché et trouvé un site ou télécharger la bibliothèque</strong>.</p>
<ol>
<li><strong>D’abord, téléchargez la en format ZIP</strong> dans un ficher de destination de votre choix. Nous prendrons "Téléchargement" par défaut.</li>
<li>Vous lancez ensuite votre compilateur et ouvrez le menu "<strong>croquis</strong>", sélectionner "<strong>inclure une bibliothèque</strong>". Puis la fenêtre déroulante s'ouvre. Cliquez sur " <strong>Ajoutez une bibliothèque ZIP</strong>".</li>
<li>L'explorateur de fichiers s'ouvre. <strong>Sélectionnez et ouvrez votre dossier de destination</strong> en l’occurrence pour nous "Téléchargement". <strong>Recherché le </strong><img loading="lazy" decoding="async" class="wp-image-1672 alignleft" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/03-Bibliotheque..png" alt="03-bibliotheque" width="87" height="126" /><strong>fichier ZIP appelé RTClib et cliquez dessus.</strong></li>
<li>Vous <strong>retournerez systématiquement au compilateur</strong> et constaterez la confirmation du chargement.</li>
</ol>
<p>&nbsp;</p>
<p><a href="https://plaisirarduino.fr/?attachment_id=1673"><img loading="lazy" decoding="async" class="aligncenter wp-image-1673" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/04-Bibliotheque..png" alt="04-bibliotheque" width="598" height="519" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/04-Bibliotheque..png 655w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/04-Bibliotheque.-300x261.png 300w" sizes="auto, (max-width: 598px) 100vw, 598px" /></a>Finalement, vous avez installé <strong>RTClib</strong>.<strong>h</strong> dans la librairie du compilateur.</p>
<p>Il ne vous reste plus qu'a l'installer dans vos programmes. A l'opposé des originales, celle-ci se trouve dans une seconde liste appelé "<strong>Contributed bibliothèque</strong>". Il y a aussi une autre liste "<strong>Recommended bibliothèque</strong>".</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-1716" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/05-Bibliotheque..png" alt="05-bibliotheque" width="598" height="696" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/05-Bibliotheque..png 662w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/05-Bibliotheque.-258x300.png 258w" sizes="auto, (max-width: 598px) 100vw, 598px" /></p>
<p><strong>Note:</strong> Vous retrouverez aussi les fichiers source (.h) des bibliothèques dans le fichier d'installation "<strong>Arduino</strong>" dans programme files dans le fichier "<strong>libraries</strong>". Prenez garde à ne pas les modifier si vous ne maîtrisez pas la programmation car il serait endommagé et plus du tout utilisable.</p>
<h2><span style="text-decoration: underline;">Faire appel à une bibliothèque. </span></h2>
<p>Pour  faire appel à une bibliothèque, il faut aller la chercher dans le menu du compilateur   "<strong>croquis</strong>" =&gt;&gt;"<strong>inclure</strong> <strong>une</strong> <strong>bibliothèque</strong>" comme illustré ci-dessous.</p>
<p><a href="https://plaisirarduino.fr/?attachment_id=1669"><img loading="lazy" decoding="async" class="aligncenter wp-image-1669 size-full" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/02-Bibliotheque..png" alt="02-bibliotheque" width="598" height="645" srcset="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/02-Bibliotheque..png 598w, https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/02-Bibliotheque.-278x300.png 278w" sizes="auto, (max-width: 598px) 100vw, 598px" /></a>Vous y retrouverez toutes <strong>les bibliothèques incluses dans le compilateur Arduino</strong>. Il suffit de cliquer sur l'une d'elle pour installer la <span style="text-decoration: underline;"><strong>directive d'inclusion</strong></span> dans notre programme.</p>
<p><span style="text-decoration: underline;"><strong>Exemple:</strong> </span></p>
<p><img loading="lazy" decoding="async" class=" wp-image-1652 aligncenter" src="https://plaisirarduino.fr/arduino/wp-content/uploads/2016/09/01-Bibliotheque..png" alt="01-bibliotheque" width="384" height="88" /></p>
<p><strong><span style="color: #808000;">#include </span></strong>de l'anglais veut dire <strong><span style="text-decoration: underline;">inclure </span></strong><span style="text-decoration: underline;">en français c'est</span><strong><span style="text-decoration: underline;"> la directive d'inclusion </span>. </strong>Ce terme <strong>ordonne</strong><span id="mt1" class="sentence SentenceHover" data-guid="ad1276e51a38dca5db95deefc4101ddb" data-source="Tells the preprocessor to treat the contents of a specified file as if they appear in the source program at the point where the directive appears. "><strong> au compilateur de traiter le contenu d'un fichier</strong> de la bibliothèque spécifié à son nom, <strong>comme s'il faisait partie du programme principal.</strong></span></p>
<p>La <span style="text-decoration: underline;"><strong>directive d'inclusion</strong></span> se présente sous cette forme  <strong><span style="color: #808000;">#include</span></strong> <strong>&lt;<span style="color: #ff6600;">nomDeLaBibliothèque</span>.h&gt;.</strong></p>
<p>Il ne faut pas oublier que pour que le compilateur trouve<span style="text-decoration: underline;"><strong> la bibliothèque à </strong><strong>inclure,</strong></span> il faut lui spécifier un <span id="mt26" class="sentence" data-guid="c43308baab363dd61cc56e25edd7e3a7" data-source="If you enclose a complete, unambiguous path specification for the include file between double quotation marks (&quot; &quot;), the preprocessor searches only that path specification and ignores the standard directories.">chemin d'accès nommé entre  <strong><span style="text-decoration: underline;">&lt; &gt; </span></strong></span><span id="mt26" class="sentence" data-guid="c43308baab363dd61cc56e25edd7e3a7" data-source="If you enclose a complete, unambiguous path specification for the include file between double quotation marks (&quot; &quot;), the preprocessor searches only that path specification and ignores the standard directories."><span style="text-decoration: underline;"><strong>guillemets.</strong></span> </span><span id="mt26" class="sentence" data-guid="c43308baab363dd61cc56e25edd7e3a7" data-source="If you enclose a complete, unambiguous path specification for the include file between double quotation marks (&quot; &quot;), the preprocessor searches only that path specification and ignores the standard directories.">Le compilateur recherchera les termes du fichier entre guillemets.<br />
</span></p>
<p>Le <strong>.h</strong> spécifie le type de fichier. <strong>H</strong> vient du terme anglais <strong>Header</strong> qui veut dire<strong> entête. </strong>C'est donc pour spécifier un fichier dit d'entête.</p>
<p><strong>Le but étant ici de savoir comment les mettre en place, </strong>nous ne rentrerons pas dans les détails sur leurs constructions car cela sera abordé dans un autre tutoriel<strong><em><span style="color: #0000ff;">.</span></em></strong></p>
<p><em>Vous connaissez à présent la marche à suivre pour installer les bibliothèques de votre choix dans vos projets.</em></p>
<h3 style="text-align: center;"><strong><span style="color: #0000ff;">Merci.</span></strong></h3>
<h4 style="text-align: center;"><strong><span style="text-decoration: underline;"><span style="color: #3366ff;"><a style="color: #3366ff; text-decoration: underline;" href="https://plaisirarduino.fr/">Plaisir.Arduino.fr </a></span></span></strong></h4>
<h3 style="text-align: center;"><strong><span style="text-decoration: underline; color: #0000ff;">FIN.</span></strong></h3>
<p>Cet article <a href="https://plaisirarduino.fr/bibliotheque/">Bibliothèque, comment l&rsquo;installer ?</a> est apparu en premier sur <a href="https://plaisirarduino.fr">PlaisirArduino</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Mise en cache de page à l’aide de Disk: Enhanced 
Minified using Disk
Mise en cache de la base de données de 73/122 requêtes en 0.104 secondes utilisant Disk

Served from: plaisirarduino.fr @ 2026-06-24 18:56:18 by W3 Total Cache
-->