<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Archives des programmation - La programmation sur le web</title>
	<atom:link href="https://programmation.surleweb-france.fr/tag/programmation/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmation.surleweb-france.fr/tag/programmation/</link>
	<description>La programmation gratuite pour tous</description>
	<lastBuildDate>Sun, 21 May 2023 17:33:15 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/08/cropped-19518430-icone-de-programmation-pour-votre-site-web-mobile-presentation-et-conception-de-logo-gratuit-vectoriel.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Archives des programmation - La programmation sur le web</title>
	<link>https://programmation.surleweb-france.fr/tag/programmation/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">176210735</site>	<item>
		<title>Guide complet pour débutants : Comment démarrer avec Arduino</title>
		<link>https://programmation.surleweb-france.fr/guide-complet-pour-debutants-comment-demarrer-avec-arduino/</link>
					<comments>https://programmation.surleweb-france.fr/guide-complet-pour-debutants-comment-demarrer-avec-arduino/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Thu, 25 May 2023 17:13:18 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[débutants]]></category>
		<category><![CDATA[électronique]]></category>
		<category><![CDATA[microcontrôleur]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[projets DIY]]></category>
		<category><![CDATA[tutoriel]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=1722</guid>

					<description><![CDATA[<p> Cet article est un guide complet destiné aux débutants souhaitant se lancer dans l'apprentissage de l'Arduino. Il couvre les bases de la programmation, de l'électronique et vous guide pas à pas dans la réalisation de vos premiers projets</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/guide-complet-pour-debutants-comment-demarrer-avec-arduino/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/guide-complet-pour-debutants-comment-demarrer-avec-arduino/">Guide complet pour débutants : Comment démarrer avec Arduino</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Chapitre 1 : Introduction à Arduino</h2>



<p>Arduino est une plateforme de prototypage électronique open-source qui utilise un microcontrôleur programmable. Dans ce chapitre, nous allons vous présenter Arduino, son fonctionnement, ainsi que ses avantages et ses possibilités.</p>



<p>Dans cet article, tu peux cliquer sur tous les liens, ceux-ci te dirigeront vers des pages où tu pourras acheter les produits.</p>



<h3 class="wp-block-heading">Qu&rsquo;est-ce qu&rsquo;Arduino ?</h3>



<p>Arduino est une carte électronique dotée d&rsquo;un microcontrôleur, ce qui lui permet d&rsquo;exécuter des programmes et de contrôler différents composants électroniques. Il est largement utilisé dans le domaine de l&rsquo;électronique DIY (Do It Yourself) et de la création de prototypes.</p>


<p><a href="https://www.amazon.fr/Arduino-A000073-Uno-SMD-R3-Planche/dp/B007R9TUJE?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=32BOOXDBPFR7U&amp;keywords=carte+arduino&amp;qid=1684687663&amp;sprefix=carte+arduino%2Caps%2C130&amp;sr=8-5&amp;linkCode=li2&amp;tag=laprogrsurlew-21&amp;linkId=7a06a21dd806de6e12a31e40c06d3ba1&amp;language=fr_FR&amp;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;ASIN=B007R9TUJE&amp;Format=_SL160_&amp;ID=AsinImage&amp;MarketPlace=FR&amp;ServiceVersion=20070822&amp;WS=1&amp;tag=laprogrsurlew-21&amp;language=fr_FR" border="0"></a><img decoding="async" style="border: none !important; margin: 0px !important;" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&amp;language=fr_FR&amp;l=li2&amp;o=8&amp;a=B007R9TUJE" alt="" width="1" height="1" border="0"></p>


<h4 class="wp-block-heading"><a href="https://www.amazon.fr/Arduino-A000073-Uno-SMD-R3-Planche/dp/B007R9TUJE?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=32BOOXDBPFR7U&amp;keywords=carte+arduino&amp;qid=1684687663&amp;sprefix=carte+arduino%2Caps%2C130&amp;sr=8-5&amp;linkCode=li2&amp;tag=laprogrsurlew-21&amp;linkId=7a06a21dd806de6e12a31e40c06d3ba1&amp;language=fr_FR&amp;ref_=as_li_ss_il" target="_blank" rel="noreferrer noopener"></a><img decoding="async" width="1" height="1" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&amp;language=fr_FR&amp;l=li2&amp;o=8&amp;a=B007R9TUJE" alt=""></h4>



<h3 class="wp-block-heading">Pourquoi choisir Arduino ?</h3>



<p>Arduino est devenu populaire grâce à sa simplicité d&rsquo;utilisation et à sa communauté active. Voici quelques raisons pour lesquelles vous devriez choisir Arduino pour vos projets :</p>



<ol class="wp-block-list">
<li><strong>Facilité d&rsquo;apprentissage</strong> : Arduino utilise un langage de programmation simplifié basé sur C/C++, rendant la programmation accessible aux débutants.</li>



<li><strong>Abordable</strong> : Les cartes Arduino sont abordables et disponibles dans une variété de modèles pour répondre à différents besoins.</li>



<li><strong>Compatibilité</strong> : Les cartes Arduino sont compatibles avec de nombreux modules et composants électroniques, offrant une flexibilité pour vos projets.</li>



<li><strong>Grande communauté</strong> : Arduino dispose d&rsquo;une vaste communauté en ligne, ce qui facilite l&rsquo;accès à des ressources, des tutoriels et des exemples de code.</li>
</ol>



<h3 class="wp-block-heading">Comment fonctionne Arduino ?</h3>



<p>Arduino se compose de deux éléments principaux : la carte Arduino et le logiciel Arduino IDE (Integrated Development Environment).</p>



<p>La <strong>carte Arduino</strong> est équipée d&rsquo;un microcontrôleur, de broches d&rsquo;entrées/sorties (I/O), de connecteurs et d&rsquo;autres composants. Ces broches permettent de connecter différents capteurs, actionneurs et autres périphériques.</p>



<p>Le <strong>logiciel Arduino IDE</strong> est l&rsquo;environnement de développement où vous écrivez, téléversez et exécutez vos programmes Arduino. Il inclut un éditeur de code, un compilateur et un outil de téléversement pour transférer votre code sur la carte Arduino.</p>



<h3 class="wp-block-heading">Exemple de code Arduino</h3>



<p>Voici un exemple de code simple qui fait clignoter une LED connectée à une broche de sortie de votre carte Arduino :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">// Définition de la broche utilisée pour la LED
const int LED_PIN = 13;

void setup() {
  // Configuration de la broche en tant que sortie
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // Allumer la LED
  digitalWrite(LED_PIN, HIGH);
  delay(1000); // Attendre une seconde

  // Éteindre la LED
  digitalWrite(LED_PIN, LOW);
  delay(1000); // Attendre une seconde
}</pre>



<p>Pour plus d&rsquo;exemples de code et de projets Arduino, vous pouvez consulter les ressources suivantes :</p>



<ul class="wp-block-list">
<li><a href="https://www.arduino.cc/reference/en/" target="_blank" rel="noreferrer noopener">Arduino Reference</a> : La référence officielle d&rsquo;Arduino avec des explications détaillées sur les fonctions, les bibliothèques et les exemples de code.</li>



<li><a href="https://www.instructables.com/circuits/arduino/" target="_blank" rel="noreferrer noopener">Instructables Arduino</a> : Une plateforme en ligne regorgeant de tutoriels et de projets Arduino créés par la communauté, avec des instructions détaillées et des exemples de code.</li>
</ul>



<p>Maintenant que vous avez une introduction à Arduino, passons au chapitre suivant où nous aborderons le matériel nécessaire pour commencer à travailler avec Arduino.</p>



<p>Chapitre 2 : Présentation du matériel nécessaire</p>



<p>Avant de commencer à utiliser Arduino, il est essentiel de comprendre le matériel de base dont vous aurez besoin pour vos projets. Dans ce chapitre, nous allons passer en revue les composants et les outils essentiels pour travailler avec Arduino.</p>



<h3 class="wp-block-heading">Cartes Arduino</h3>



<p>La première chose dont vous aurez besoin est une carte Arduino. Il existe plusieurs modèles disponibles, chacun ayant ses propres fonctionnalités et spécifications. Voici quelques-uns des modèles populaires :</p>



<ol class="wp-block-list">
<li><strong>Arduino Uno</strong> : C&rsquo;est l&rsquo;un des modèles les plus courants et recommandés pour les débutants. Il dispose de suffisamment de broches d&rsquo;entrée/sortie pour de nombreux projets.</li>



<li><strong>Arduino Nano</strong> : Une version plus petite de l&rsquo;Arduino Uno, idéale pour les projets où l&rsquo;espace est limité.</li>



<li><strong>Arduino Mega</strong> : Cette carte offre une plus grande capacité de mémoire et un plus grand nombre de broches, ce qui la rend adaptée aux projets plus complexes.</li>
</ol>



<a href="https://www.amazon.fr/Arduino-A000066-M%C3%A9moire-flash-32/dp/B008GRTSV6?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=34GMGG5MZTQ4E&#038;keywords=carte+arduino+uno&#038;qid=1684688406&#038;sprefix=carte+arduino+uno%2Caps%2C101&#038;sr=8-1-spons&#038;sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&#038;psc=1&#038;smid=A1LKZYWRVOF5T2&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=97b116b4cf545c139bf3046ba25f347d&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B008GRTSV6&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B008GRTSV6" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><a href="https://www.amazon.fr/Elegoo-Pi%C3%A8ces-ATmega328P-Contr%C3%B4leur-Arduino/dp/B0722YYBSS?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=YR7GJJ4BD2O3&#038;keywords=carte+arduino+nano&#038;qid=1684688204&#038;sprefix=carte+arduino+nano%2Caps%2C109&#038;sr=8-5&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=be26070c55ee00fb6889f7d11361ac0e&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B0722YYBSS&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B0722YYBSS" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><a href="https://www.amazon.fr/AZDelivery-Bouclier-Prototype-Arduino-compris/dp/B07Z6BL7ZX?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=2RWWOMLSRAK1G&#038;keywords=carte+arduino+mega&#038;qid=1684688385&#038;sprefix=carte+arduino+mega%2Caps%2C114&#038;sr=8-5&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=99ac47c409a2fb61cc5115afa09dd09d&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B07Z6BL7ZX&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B07Z6BL7ZX" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Composants électroniques</h3>



<p>En plus de la carte Arduino, vous aurez besoin de divers composants électroniques pour construire vos projets. Voici quelques composants de base :</p>



<ol class="wp-block-list">
<li><strong>Breadboard</strong> : Une breadboard (plaque d&rsquo;essai) est une plaque de prototypage qui permet de connecter facilement les composants sans avoir à souder (<a href="https://amzn.to/4253ODm" target="_blank" rel="noreferrer noopener">https://amzn.to/4253ODm</a>).</li>
</ol>



<ol class="wp-block-list">
<li><strong>LEDs</strong> : Les diodes électroluminescentes (LEDs) sont des composants utilisés pour l&rsquo;indication lumineuse dans les projets. Elles sont disponibles dans différentes couleurs (<a href="https://amzn.to/3q2swqv" target="_blank" rel="noreferrer noopener">https://amzn.to/3q2swqv</a>) .</li>



<li><strong>Résistances</strong> : Les résistances sont utilisées pour limiter le courant dans un circuit. Elles sont mesurées en ohms (Ω) et vous en aurez besoin pour protéger vos LED et autres composants (<a href="https://amzn.to/45iqnXU" target="_blank" rel="noreferrer noopener">https://amzn.to/45iqnXU</a>).</li>



<li><strong>Capteurs</strong> : Il existe une grande variété de capteurs disponibles pour Arduino, tels que des capteurs de température, d&rsquo;humidité, de mouvement, de lumière, etc. Ces capteurs vous permettent d&rsquo;interagir avec l&rsquo;environnement (<a href="https://amzn.to/42WBnZs" target="_blank" rel="noreferrer noopener">https://amzn.to/42WBnZs</a>).</li>



<li><strong>Moteurs et servomoteurs</strong> : Si vous souhaitez contrôler des mouvements, vous aurez besoin de moteurs et de servomoteurs. Ils sont couramment utilisés dans les projets robotiques et les mécanismes de contrôle (servomoteurs : <a href="https://amzn.to/3MJEjD2" target="_blank" rel="noreferrer noopener">https://amzn.to/3MJEjD2</a>et moteurs : <a href="https://amzn.to/3MjD5Nk" target="_blank" rel="noreferrer noopener">https://amzn.to/3MjD5Nk</a>).</li>
</ol>



<h4 class="wp-block-heading">Outils</h4>



<p>Enfin, vous aurez besoin de quelques outils de base pour travailler avec Arduino :</p>



<ol class="wp-block-list">
<li><strong>Câbles de connexion</strong> : Des câbles de connexion (fils de liaison) vous permettent de connecter les composants à la carte Arduino et à la breadboard (<a href="https://amzn.to/3q1LQEp" target="_blank" rel="noreferrer noopener">https://amzn.to/3q1LQEp</a>).</li>



<li><strong>Multimètre</strong> : Un multimètre est un outil essentiel pour mesurer la tension, le courant et la résistance dans un circuit (<a href="https://amzn.to/3MOhT3D" target="_blank" rel="noreferrer noopener">https://amzn.to/3MOhT3D</a>).</li>



<li><strong>Fer à souder</strong> : Si vous souhaitez aller plus loin dans vos projets et réaliser des connexions permanentes, un fer à souder sera nécessaire (<a href="https://amzn.to/3Oq39ZS" target="_blank" rel="noreferrer noopener">https://amzn.to/3Oq39ZS</a>).</li>



<li><strong>Kit d&rsquo;outils Arduino</strong> : Il existe des kits d&rsquo;outils spécialement conçus pour Arduino, comprenant des outils de base tels que des tournevis, des pinces, des coupe-fils, etc (<a href="https://amzn.to/45nHGGU" target="_blank" rel="noreferrer noopener">https://amzn.to/45nHGGU</a>).</li>
</ol>



<p>Maintenant que vous connaissez le matériel nécessaire, passons au chapitre suivant où nous vous guiderons dans l&rsquo;installation du logiciel Arduino IDE.</p>



<h2 class="wp-block-heading">Chapitre 3 : Installation du logiciel Arduino IDE</h2>



<p>L&rsquo;Arduino IDE (Integrated Development Environment) est l&rsquo;environnement de développement que vous utiliserez pour écrire, compiler et téléverser vos programmes sur la carte Arduino. Dans ce chapitre, nous vous guiderons à travers les étapes d&rsquo;installation du logiciel Arduino IDE.</p>



<h3 class="wp-block-heading">Étape 1 : Téléchargement du logiciel Arduino IDE</h3>



<p>Pour commencer, vous devez télécharger le logiciel Arduino IDE à partir du site officiel d&rsquo;Arduino. Suivez ces étapes :</p>



<ol class="wp-block-list">
<li>Rendez-vous sur le site <a href="https://www.arduino.cc/" target="_blank" rel="noreferrer noopener">arduino.cc</a>.</li>



<li>Cliquez sur le lien « Software » dans le menu principal.</li>



<li>Choisissez la version appropriée pour votre système d&rsquo;exploitation (Windows, Mac, Linux) et cliquez sur le lien de téléchargement.</li>
</ol>



<h3 class="wp-block-heading">Étape 2 : Installation du logiciel Arduino IDE</h3>



<p>Une fois le fichier d&rsquo;installation téléchargé, suivez ces instructions pour l&rsquo;installer sur votre ordinateur :</p>



<p><strong>Sur Windows :</strong></p>



<ol class="wp-block-list">
<li>Double-cliquez sur le fichier d&rsquo;installation que vous avez téléchargé.</li>



<li>Acceptez les conditions d&rsquo;utilisation et sélectionnez un emplacement d&rsquo;installation si nécessaire.</li>



<li>Cliquez sur « Installer » pour commencer l&rsquo;installation.</li>



<li>Une fois l&rsquo;installation terminée, cliquez sur « Fermer » pour quitter l&rsquo;installateur.</li>
</ol>



<p><strong>Sur Mac :</strong></p>



<ol class="wp-block-list">
<li>Ouvrez le fichier d&rsquo;installation (.dmg) que vous avez téléchargé.</li>



<li>Faites glisser l&rsquo;icône de l&rsquo;Arduino IDE dans le dossier « Applications ».</li>



<li>Attendez que la copie soit terminée, puis fermez la fenêtre du Finder.</li>
</ol>



<p><strong>Sur Linux :</strong></p>



<ol class="wp-block-list">
<li>Extrayez le contenu du fichier d&rsquo;installation que vous avez téléchargé.</li>



<li>Ouvrez le terminal et accédez au répertoire extrait.</li>



<li>Exécutez la commande <code>./install.sh</code> pour lancer l&rsquo;installation.</li>
</ol>



<h3 class="wp-block-heading">Étape 3 : Lancement de l&rsquo;Arduino IDE</h3>



<p>Maintenant que le logiciel Arduino IDE est installé, voici comment le lancer :</p>



<ol class="wp-block-list">
<li>Recherchez l&rsquo;application « Arduino » dans le menu de votre ordinateur ou dans le dossier « Applications » (sur Mac).</li>



<li>Double-cliquez sur l&rsquo;icône pour démarrer l&rsquo;Arduino IDE.</li>
</ol>



<h3 class="wp-block-heading">Étape 4 : Configuration de la carte Arduino</h3>



<p>Avant de pouvoir programmer votre carte Arduino, vous devez sélectionner le modèle de carte et le port série appropriés dans l&rsquo;Arduino IDE. Voici comment faire :</p>



<ol class="wp-block-list">
<li>Connectez votre carte Arduino à votre ordinateur à l&rsquo;aide d&rsquo;un câble USB.</li>



<li>Dans l&rsquo;Arduino IDE, allez dans le menu « Outils » et sélectionnez le modèle de carte que vous utilisez (par exemple, « Arduino Uno »).</li>



<li>Sous le menu « Outils », sélectionnez le port série correspondant à votre carte Arduino. Si vous n&rsquo;êtes pas sûr, débranchez et rebranchez le câble USB et voyez quel port apparaît.</li>
</ol>



<p>Félicitations ! Vous avez maintenant installé avec succès le logiciel Arduino IDE et configuré votre carte Arduino. Vous êtes prêt à écrire votre premier programme Arduino.</p>



<h2 class="wp-block-heading">Chapitre 4 : Les bases de la programmation en langage Arduino</h2>



<p>Maintenant que vous avez installé le logiciel Arduino IDE et configuré votre carte Arduino, il est temps d&rsquo;apprendre les bases de la programmation en langage Arduino. Dans ce chapitre, nous aborderons les principaux concepts et structures de code que vous utiliserez dans vos projets Arduino.</p>



<h3 class="wp-block-heading">Structure d&rsquo;un programme Arduino</h3>



<p>Un programme Arduino est composé de deux fonctions principales : <code>setup()</code> et <code>loop()</code>. Voici à quoi ressemble la structure de base d&rsquo;un programme Arduino :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">void setup() {
  // Code de configuration initial
}

void loop() {
  // Code exécuté en boucle
}</pre>



<p>La fonction <code>setup()</code> est exécutée une fois au démarrage du programme. Elle est utilisée pour effectuer la configuration initiale, telle que la définition des broches en tant qu&rsquo;entrées ou sorties.</p>



<p>La fonction <code>loop()</code> est exécutée en boucle après l&rsquo;exécution de <code>setup()</code>. C&rsquo;est ici que vous placerez le code qui sera répété en continu.</p>



<h3 class="wp-block-heading">Commandes de base</h3>



<p>Voici quelques commandes de base que vous utiliserez fréquemment dans vos programmes Arduino :</p>



<ul class="wp-block-list">
<li><code>pinMode(pin, mode)</code> : Cette fonction permet de définir une broche (pin) en tant qu&rsquo;entrée (<code>INPUT</code>) ou sortie (<code>OUTPUT</code>). Exemple : <code>pinMode(13, OUTPUT);</code> définit la broche 13 en tant que sortie.</li>



<li><code>digitalWrite(pin, value)</code> : Cette fonction permet de mettre une broche en état haut (<code>HIGH</code>) ou bas (<code>LOW</code>). Exemple : <code>digitalWrite(13, HIGH);</code> met la broche 13 à l&rsquo;état haut.</li>



<li><code>delay(ms)</code> : Cette fonction permet de faire une pause (en millisecondes) dans l&rsquo;exécution du programme. Exemple : <code>delay(1000);</code> fait une pause d&rsquo;une seconde.</li>



<li><code>analogRead(pin)</code> : Cette fonction permet de lire la valeur analogique d&rsquo;une broche (de 0 à 1023). Exemple : <code>int value = analogRead(A0);</code> lit la valeur analogique de la broche A0 et la stocke dans la variable <code>value</code>.</li>
</ul>



<h3 class="wp-block-heading">Exemple de projet : Clignotement d&rsquo;une LED</h3>



<p>Voici un exemple de programme Arduino qui fait clignoter une LED connectée à la broche 13 :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">const int LED_PIN = 13; // Définition de la broche pour la LED

void setup() {
  pinMode(LED_PIN, OUTPUT); // Configuration de la broche en tant que sortie
}

void loop() {
  digitalWrite(LED_PIN, HIGH); // Allumer la LED
  delay(1000); // Attendre une seconde

  digitalWrite(LED_PIN, LOW); // Éteindre la LED
  delay(1000); // Attendre une seconde
}</pre>



<p>Ce programme définit la broche 13 comme une sortie, puis alterne entre l&rsquo;état haut et l&rsquo;état bas de la broche en utilisant <code>digitalWrite()</code> pour allumer et éteindre la LED, avec une pause d&rsquo;une seconde entre chaque changement d&rsquo;état.</p>



<h3 class="wp-block-heading">Ressources supplémentaires</h3>



<ul class="wp-block-list">
<li><a href="https://www.arduino.cc/reference/en/" target="_blank" rel="noreferrer noopener">Arduino Reference &#8211; Langage</a> : La référence officielle d&rsquo;Arduino contenant une documentation complète sur les fonctions, les structures de contrôle et les bibliothèques disponibles en langage</li>
</ul>



<h2 class="wp-block-heading">Chapitre 5 : Les composants électroniques couramment utilisés avec Arduino</h2>



<p>Pour créer des projets intéressants avec Arduino, vous aurez besoin de vous familiariser avec les composants électroniques couramment utilisés. Dans ce chapitre, nous passerons en revue certains des composants de base que vous rencontrerez fréquemment.</p>



<h3 class="wp-block-heading">LED (Diode électroluminescente)</h3>



<p>Les LEDs sont des composants très courants utilisés pour l&rsquo;indication lumineuse dans les projets Arduino. Elles sont disponibles dans différentes couleurs, telles que le rouge, le vert, le bleu et bien d&rsquo;autres. Pour contrôler une LED avec Arduino, vous devez la connecter à une broche de sortie et utiliser la fonction <code>digitalWrite()</code> pour allumer ou éteindre la LED.</p>



<a href="https://www.amazon.fr/BOJACK-%C3%A9clairage-composants-%C3%A9lectroniques-%C3%A9lectroluminescentes/dp/B0B56DTMD1?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=126CKS8G1EW80&#038;keywords=kit+arduino+led&#038;qid=1684689172&#038;sprefix=kit+arduino+led%2Caps%2C159&#038;sr=8-1-spons&#038;sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&#038;psc=1&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=57a8a168e9c58bf8274496f94c211345&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B0B56DTMD1&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B0B56DTMD1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Bouton-poussoir</h3>



<p>Les boutons-poussoirs sont des interrupteurs utilisés pour détecter les pressions. Ils sont souvent utilisés pour interagir avec un programme Arduino en tant qu&rsquo;entrées. Les boutons-poussoirs ont deux états : enfoncé (fermé) et relâché (ouvert). Vous pouvez utiliser la fonction <code>digitalRead()</code> pour lire l&rsquo;état du bouton-poussoir connecté à une broche d&rsquo;entrée.</p>



<a href="https://www.amazon.fr/Interrupteur-Bouton-Poussoir-dassortiment-dinterrupteur-Bouton-poussoir/dp/B09QM5VBTM?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=1ITQQVF0L2CV9&#038;keywords=kit+arduino+bouton+poussoir&#038;qid=1684689224&#038;sprefix=kit+arduino+bouton+poussoir%2Caps%2C101&#038;sr=8-3-spons&#038;sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&#038;psc=1&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=81720b7b7e80134bec8412d0f3560548&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B09QM5VBTM&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B09QM5VBTM" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Résistance</h3>



<p>Les résistances sont des composants utilisés pour limiter le courant dans un circuit. Elles sont mesurées en ohms (Ω) et sont essentielles pour protéger les LEDs et d&rsquo;autres composants de la surtension. Les résistances sont généralement utilisées en combinaison avec les LEDs pour éviter une surcharge de courant.</p>



<a href="https://www.amazon.fr/BOJACK-valeurs-r%C3%A9sistance-dassortiment-r%C3%A9sistances/dp/B08FD1XVL6?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=LDOTUY9HWL4Z&#038;keywords=kit+arduino+r%C3%A9sistance&#038;qid=1684689266&#038;sprefix=kit+arduino+r%C3%A9sistance%2Caps%2C93&#038;sr=8-2-spons&#038;sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&#038;psc=1&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=a45f1018b243a6e42d8c37a56045d6a8&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B08FD1XVL6&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B08FD1XVL6" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Capteur de lumière (LDR)</h3>



<p>Les capteurs de lumière, également appelés résistances dépendantes de la lumière (LDR &#8211; Light Dependent Resistors), mesurent la luminosité ambiante. Ils ont une résistance variable en fonction de la quantité de lumière reçue. En utilisant une broche d&rsquo;entrée analogique et la fonction <code>analogRead()</code>, vous pouvez mesurer la valeur analogique renvoyée par le capteur de lumière et l&rsquo;utiliser pour prendre des décisions dans votre programme.</p>



<a href="https://www.amazon.fr/g5516-Photo-R%C3%A9sistance-D%C3%A9tecteur-lm393-Dual-comperator/dp/B07DP1YM5X?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=3W2W6T2CIW6QD&#038;keywords=kit+arduino+capteur+de+lumi%C3%A8re&#038;qid=1684689310&#038;sprefix=kit+arduino+capteur+de+lumi%C3%A8re%2Caps%2C114&#038;sr=8-6&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=dab0820f1c3bac19f5266d9a7a3b1892&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B07DP1YM5X&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B07DP1YM5X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Capteur de température (LM35)</h3>



<p>Le capteur de température LM35 est un capteur analogique couramment utilisé pour mesurer la température. Il renvoie une tension proportionnelle à la température mesurée. Vous pouvez utiliser une broche d&rsquo;entrée analogique et la fonction <code>analogRead()</code> pour lire la valeur analogique renvoyée par le capteur et la convertir en une valeur de température.</p>



<a href="https://www.amazon.fr/AZDelivery-capteur-temp%C3%A9rature-thermistance-Arduino/dp/B07ZYVRL1P?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=11HNMKAIJZT60&#038;keywords=kit%2Barduino%2Bcapteur%2Bde%2Btemp%C3%A9rature%2Blm35&#038;qid=1684689349&#038;sprefix=kit%2Barduino%2Bcapteur%2Bde%2Btemp%C3%A9rature%2Blm35%2Caps%2C97&#038;sr=8-12&#038;th=1&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=5edd1b9837ae192a915529132cc504fa&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B07ZYVRL1P&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B07ZYVRL1P" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Moteur DC</h3>



<p>Les moteurs DC (courant continu) sont utilisés pour créer des mouvements dans les projets Arduino. Ils peuvent être contrôlés en modulant la tension ou en utilisant des ponts en H (H-bridge) pour inverser la direction du courant. Vous aurez généralement besoin d&rsquo;un circuit de commande de moteur spécifique et d&rsquo;une alimentation externe pour alimenter les moteurs DC.</p>



<a href="https://www.amazon.fr/RUNCCI-YUN-Moteurs%EF%BC%8CKit-Apprentissage-%C3%89lectrique-Interrupteur/dp/B08BHXDFWH?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=37UMO9KVX7I96&#038;keywords=kit+arduino+moteur+DC&#038;qid=1684689405&#038;sprefix=kit+arduino+moteur+dc%2Caps%2C101&#038;sr=8-1-spons&#038;sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&#038;psc=1&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=295570c35a2739ad1eecd7d7c7f4a919&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B08BHXDFWH&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B08BHXDFWH" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Servomoteur</h3>



<p>Les servomoteurs sont des moteurs spéciaux qui peuvent être contrôlés avec précision pour positionner des objets dans un angle spécifique. Ils sont largement utilisés dans les projets de robotique et de contrôle de mouvement. Les servomoteurs sont contrôlés en envoyant des signaux PWM (modulation de largeur d&rsquo;impulsion) à partir des broches de sortie d&rsquo;Arduino.</p>



<a href="https://www.amazon.fr/Miuzei-H%C3%A9licopt%C3%A8re-V%C3%A9hicules-Contr%C3%B4le-Mod%C3%A9lisme/dp/B0BBR4D8SZ?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=1U1YERBFHHL5B&#038;keywords=kit+arduino+servomoteur&#038;qid=1684689437&#038;sprefix=kit+arduino+servomoteur%2Caps%2C113&#038;sr=8-5&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=a19c0da02d21e1997819a5cc8c75392e&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B0BBR4D8SZ&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B0BBR4D8SZ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Ressources supplémentaires</h3>



<ul class="wp-block-list">
<li><a href="https://learn.adafruit.com/category/learn-arduino" target="_blank" rel="noreferrer noopener">Adafruit &#8211; Tutoriels Arduino</a> : Adafruit propose une multitude de tutoriels et de guides détaillés sur l&rsquo;utilisation de différents composants avec Arduino.</li>



<li><a href="https://learn.sparkfun.com/tutorials/tags/arduino" target="_blank" rel="noreferrer noopener">SparkFun &#8211; Tutoriels</a> : SparkFun propose également une vaste sélection de tutoriels et de ressources sur Arduino et l&rsquo;électronique en général.</li>
</ul>



<p>Maintenant que vous êtes familiarisé avec certains des composants électroniques couramment utilisés avec Arduino, vous pouvez commencer à les intégrer dans vos projets et à créer des systèmes interactifs intéressants.</p>



<h2 class="wp-block-heading">Chapitre 6 : Réalisation d&rsquo;un projet simple : Clignotement d&rsquo;une LED</h2>



<p>Dans ce chapitre, nous allons vous guider étape par étape pour réaliser un projet simple : le clignotement d&rsquo;une LED. Ce projet vous permettra de mettre en pratique les connaissances acquises jusqu&rsquo;à présent et de vous familiariser davantage avec la programmation et les composants électroniques d&rsquo;Arduino.</p>



<h3 class="wp-block-heading">Matériel requis</h3>



<p>Pour ce projet, vous aurez besoin des éléments suivants :</p>



<ul class="wp-block-list">
<li>1 LED (de couleur au choix), <a href="https://amzn.to/3oldZFY" target="_blank" rel="noreferrer noopener">https://amzn.to/3oldZFY</a></li>



<li>1 résistance (entre 220Ω et 1kΩ), <a href="https://amzn.to/3MM04lx" target="_blank" rel="noreferrer noopener">https://amzn.to/3MM04lx</a></li>



<li>1 breadboard, <a href="https://amzn.to/3MOjuXb" target="_blank" rel="noreferrer noopener">https://amzn.to/3MOjuXb</a></li>



<li>Câbles de connexion (fils de liaison), <a href="https://amzn.to/3Ivge0c" target="_blank" rel="noreferrer noopener">https://amzn.to/3Ivge0c</a></li>



<li>1 carte Arduino (par exemple, Arduino Uno), <a href="https://amzn.to/45iBdNw" target="_blank" rel="noreferrer noopener">https://amzn.to/45iBdNw</a></li>
</ul>



<h3 class="wp-block-heading">Étapes du projet</h3>



<p>Suivez les étapes ci-dessous pour réaliser le projet de clignotement d&rsquo;une LED :</p>



<p>Étape 1: Connexion de la LED et de la résistance</p>



<ol class="wp-block-list">
<li>Insérez la LED dans la breadboard en vous assurant que la longueur des pattes de la LED est suffisante pour la connecter.</li>



<li>Connectez une patte de la LED (l&rsquo;anode, généralement plus longue) à une rangée de la breadboard.</li>



<li>Connectez une extrémité de la résistance à la même rangée de la breadboard que la patte de la LED.</li>



<li>Connectez l&rsquo;autre extrémité de la résistance à une rangée différente de la breadboard.</li>
</ol>



<p>Étape 2: Connexion de la LED à la carte Arduino</p>



<ol class="wp-block-list" start="5">
<li>Connectez une extrémité d&rsquo;un câble de connexion (fil) à la rangée de la breadboard où la patte de la LED est connectée.</li>



<li>Connectez l&rsquo;autre extrémité du câble de connexion à une broche de sortie numérique de la carte Arduino (par exemple, broche 13).</li>



<li>Connectez une patte de la LED (la cathode, généralement plus courte) à une rangée de la breadboard différente.</li>



<li>Connectez cette rangée de la breadboard à la masse (GND) de la carte Arduino en utilisant un autre câble de connexion.</li>
</ol>



<p>Étape 3: Programmation du clignotement de la LED</p>



<ol class="wp-block-list" start="9">
<li>Lancez le logiciel Arduino IDE sur votre ordinateur.</li>



<li>Écrivez le programme suivant dans l&rsquo;éditeur Arduino IDE :</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">const int LED_PIN = 13; // Broche de sortie pour la LED

void setup() {
  pinMode(LED_PIN, OUTPUT); // Configuration de la broche en tant que sortie
}

void loop() {
  digitalWrite(LED_PIN, HIGH); // Allumer la LED
  delay(1000); // Attendre une seconde

  digitalWrite(LED_PIN, LOW); // Éteindre la LED
  delay(1000); // Attendre une seconde
}</pre>



<ol class="wp-block-list" start="11">
<li>Assurez-vous que la carte Arduino est correctement sélectionnée dans le menu « Outils » de l&rsquo;IDE Arduino.</li>



<li>Cliquez sur le bouton de téléversement (flèche vers la droite) pour téléverser le programme sur la carte Arduino.</li>



<li>La LED doit maintenant clignoter toutes les secondes.</li>
</ol>



<h3 class="wp-block-heading">Explication du code</h3>



<p>Le programme utilise la broche de sortie numérique 13 de la carte Arduino pour contrôler la LED. Dans la fonction <code>setup()</code>, nous configurons cette broche en tant que sortie à l&rsquo;aide de <code>pinMode()</code>. Ensuite, dans la fonction <code>loop()</code>, nous alternons entre l&rsquo;état haut (<code>HIGH</code>) et l&rsquo;état bas (<code>LOW</code>) de la broche à l&rsquo;aide de <code>digitalWrite()</code>, en attendant une seconde entre chaque changement d&rsquo;état avec <code>delay()</code>.</p>



<h3 class="wp-block-heading">Améliorations et expérimentations</h3>



<p>Une fois que vous avez réussi le projet de base, voici quelques idées pour aller plus loin :</p>



<ul class="wp-block-list">
<li>Modifiez le programme pour changer la fréquence de clignotement de la LED.</li>



<li>Ajoutez un bouton-poussoir pour contrôler le clignotement de la LED.</li>



<li>Expérimentez avec différentes LEDs et résistances pour obtenir des effets lumineux différents.</li>
</ul>



<p>N&rsquo;hésitez pas à explorer davantage et à laisser libre cours à votre créativité !</p>



<h2 class="wp-block-heading">Chapitre 7 : Explication des concepts clés : Entrées/sorties numériques et analogiques</h2>



<p>Dans ce chapitre, nous allons explorer les concepts clés des entrées/sorties numériques et analogiques d&rsquo;Arduino. Comprendre ces concepts est essentiel pour interagir avec le monde extérieur en utilisant différents capteurs et actionneurs.</p>



<h3 class="wp-block-heading">Entrées/sorties numériques</h3>



<p>Les broches d&rsquo;entrée/sortie numériques d&rsquo;Arduino permettent de lire ou d&rsquo;écrire des signaux binaires, c&rsquo;est-à-dire des signaux qui ne prennent que deux valeurs : HIGH (1) ou LOW (0). Les broches numériques sont généralement utilisées pour contrôler des composants tels que des LEDs, des boutons-poussoirs, des moteurs, etc.</p>



<ul class="wp-block-list">
<li><strong>Modes de broche</strong> : Les broches d&rsquo;entrée/sortie numériques peuvent être configurées en tant qu&rsquo;entrée (<code>INPUT</code>) ou sortie (<code>OUTPUT</code>) à l&rsquo;aide de la fonction <code>pinMode()</code>. En mode entrée, vous pouvez lire l&rsquo;état de la broche avec <code>digitalRead()</code>, tandis qu&rsquo;en mode sortie, vous pouvez écrire des valeurs avec <code>digitalWrite()</code>.</li>



<li><strong>Niveaux logiques</strong> : Les broches numériques fonctionnent avec des niveaux logiques. Une tension d&rsquo;entrée supérieure à un certain seuil (environ 2.5V) est considérée comme logique HIGH, tandis qu&rsquo;une tension inférieure à ce seuil est considérée comme logique LOW.</li>
</ul>



<h3 class="wp-block-heading">Entrées/sorties analogiques</h3>



<p>Les broches d&rsquo;entrée/sortie analogiques d&rsquo;Arduino permettent de mesurer ou de générer des signaux analogiques, c&rsquo;est-à-dire des signaux qui peuvent prendre une plage continue de valeurs. Les broches analogiques sont principalement utilisées pour lire des capteurs qui renvoient des valeurs analogiques, telles que des capteurs de température, de lumière, etc.</p>



<ul class="wp-block-list">
<li><strong>Résolution ADC</strong> : Les broches analogiques d&rsquo;Arduino utilisent un convertisseur analogique-numérique (ADC) pour convertir une tension en une valeur numérique. La résolution ADC détermine le nombre de valeurs numériques distinctes pouvant être représentées. Par exemple, Arduino Uno a une résolution ADC de 10 bits, ce qui signifie qu&rsquo;il peut représenter 2^10 (soit 1024) valeurs différentes.</li>



<li><strong>Lecture analogique</strong> : Pour lire une valeur analogique à partir d&rsquo;une broche analogique, utilisez la fonction <code>analogRead()</code>. Cette fonction renvoie une valeur numérique entre 0 et 1023, correspondant à la tension analogique mesurée sur la broche.</li>
</ul>



<h3 class="wp-block-heading">Utilisation pratique des entrées/sorties numériques et analogiques</h3>



<p>La compréhension des entrées/sorties numériques et analogiques vous permet de connecter et d&rsquo;interagir avec différents composants électroniques. Par exemple :</p>



<ul class="wp-block-list">
<li>Utilisez une broche numérique comme sortie pour contrôler une LED en l&rsquo;allumant ou en l&rsquo;éteignant à l&rsquo;aide de <code>digitalWrite()</code>.</li>



<li>Utilisez une broche numérique comme entrée pour détecter l&rsquo;état d&rsquo;un bouton-poussoir à l&rsquo;aide de <code>digitalRead()</code>.</li>



<li>Utilisez une broche analogique comme entrée pour mesurer la luminosité avec un capteur de lumière à l&rsquo;aide de <code>analogRead()</code>.</li>



<li>Utilisez une broche analogique comme sortie pour générer une tension variable pour contrôler la vitesse d&rsquo;un moteur à courant continu.</li>
</ul>



<h3 class="wp-block-heading">Ressources supplémentaires</h3>



<ul class="wp-block-list">
<li><a href="https://www.arduino.cc/reference/en/language/functions/digital-io/" target="_blank" rel="noreferrer noopener">Arduino Reference &#8211; Entrées/sorties numériques</a></li>



<li><a href="https://www.arduino.cc/reference/en/language/functions/analog-io/" target="_blank" rel="noreferrer noopener">Arduino Reference &#8211; Entrées/sorties analogiques</a></li>
</ul>



<p>Maintenant que vous comprenez les concepts des entrées/sorties numériques et analogiques, vous êtes prêt à utiliser une variété de capteurs et d&rsquo;actionneurs pour créer des projets plus avancés avec Arduino.</p>



<h2 class="wp-block-heading">Chapitre 8 : Expérimentation avec des capteurs et actionneurs basiques</h2>



<p>Dans ce chapitre, nous allons explorer l&rsquo;utilisation de capteurs et d&rsquo;actionneurs basiques avec Arduino. Ces composants vous permettent d&rsquo;interagir avec l&rsquo;environnement et d&rsquo;ajouter des fonctionnalités intéressantes à vos projets. Nous allons présenter quelques exemples de capteurs et d&rsquo;actionneurs couramment utilisés.</p>



<h3 class="wp-block-heading">Capteur de température (LM35)</h3>



<p>Le capteur de température LM35 est un capteur analogique couramment utilisé pour mesurer la température ambiante. Il fournit une tension de sortie proportionnelle à la température mesurée. Vous pouvez utiliser une broche analogique d&rsquo;Arduino et la fonction <code>analogRead()</code> pour lire la valeur analogique renvoyée par le capteur, puis la convertir en une valeur de température en utilisant une formule appropriée.</p>



<a href="https://www.amazon.fr/AZDelivery-DS18B20-Capteur-temp%C3%A9rature-num%C3%A9rique/dp/B01LZCZOJJ?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=2DXGWFRWVAOWL&#038;keywords=kit+arduino+capteur+de+temp%C3%A9rature+lm35&#038;qid=1684689885&#038;sprefix=kit+arduino+capteur+de+temp%C3%A9rature+lm35%2Caps%2C98&#038;sr=8-10&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=78550190af0c18e1711fc3a57d8cf9a0&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B01LZCZOJJ&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B01LZCZOJJ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Capteur de lumière (LDR)</h3>



<p>Le capteur de lumière, également appelé résistance dépendante de la lumière (LDR &#8211; Light Dependent Resistor), est un capteur analogique utilisé pour mesurer la luminosité ambiante. Il varie sa résistance en fonction de la quantité de lumière reçue. En utilisant une broche analogique d&rsquo;Arduino et la fonction <code>analogRead()</code>, vous pouvez lire la valeur analogique renvoyée par le capteur et l&rsquo;utiliser pour prendre des décisions dans votre programme en fonction de la luminosité.</p>



<a href="https://www.amazon.fr/g5516-Photo-R%C3%A9sistance-D%C3%A9tecteur-lm393-Dual-comperator/dp/B07DP1YM5X?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=1DZ6MST4ONGS9&#038;keywords=kit+arduino+capteur+de+lumi%C3%A8re&#038;qid=1684689918&#038;sprefix=kit+arduino+capteur+de+lumi%C3%A8re%2Caps%2C89&#038;sr=8-10&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=36bfd75cf6bb0911ef4c774b5bd28ee8&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B07DP1YM5X&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B07DP1YM5X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Capteur de mouvement (PIR)</h3>



<p>Le capteur de mouvement PIR (Passive Infrared Sensor) est utilisé pour détecter les mouvements dans son champ de vision. Il détecte les variations de rayonnement infrarouge émises par les objets en mouvement. Le capteur PIR est généralement utilisé pour la détection de présence ou comme déclencheur d&rsquo;événements dans les projets interactifs.</p>



<a href="https://www.amazon.fr/AZDelivery-sr04-Capteur-ultrasons-T%C3%A9l%C3%A9m%C3%A8tre-Raspberry/dp/B07CNBYRQ7?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=1I895SMLEKFTR&#038;keywords=kit+arduino+capteur+de+mouvement&#038;qid=1684689952&#038;sprefix=kit+arduino+capteur+de+mouvement%2Caps%2C96&#038;sr=8-12&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=73f577c66ee2c328e0b7bedf74c06bed&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B07CNBYRQ7&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B07CNBYRQ7" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Servomoteur</h3>



<p>Les servomoteurs sont des moteurs spéciaux qui peuvent être contrôlés avec précision pour positionner des objets dans un angle spécifique. Ils sont couramment utilisés dans les projets de robotique et de contrôle de mouvement. Les servomoteurs sont contrôlés en envoyant des signaux PWM (modulation de largeur d&rsquo;impulsion) à partir des broches de sortie d&rsquo;Arduino. Vous pouvez utiliser la bibliothèque Servo d&rsquo;Arduino pour faciliter le contrôle des servomoteurs.</p>



<a href="https://www.amazon.fr/HUAZIZ-servomoteur-h%C3%A9licopt%C3%A8re-Voiture-contr%C3%B4le/dp/B0BRSKTLPQ?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=1IIE18LWJ89QD&#038;keywords=kit+arduino+servomoteur&#038;qid=1684690004&#038;sprefix=kit+arduino+servomoteur%2Caps%2C111&#038;sr=8-4-spons&#038;sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&#038;psc=1&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=3fbd6e78622ed455b4e1f9df6d2cf59d&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B0BRSKTLPQ&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B0BRSKTLPQ" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Actionneur de buzzer</h3>



<p>Un buzzer est un actionneur utilisé pour produire des sons. Il peut être utilisé pour créer des alarmes, des signaux sonores ou des mélodies dans vos projets. Un buzzer peut être connecté à une broche de sortie d&rsquo;Arduino, et en utilisant les fonctions <code>digitalWrite()</code> et <code>delay()</code>, vous pouvez générer des séquences de sons.</p>



<a href="https://www.amazon.fr/AZDelivery-Capteur-dalarme-Arduino-compris/dp/B07ZYVH6XM?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;crid=3E39COZERT5&#038;keywords=kit%2Barduino%2Bbuzzer&#038;qid=1684690037&#038;sprefix=kit%2Barduino%2Bbuzzer%2Caps%2C95&#038;sr=8-21&#038;th=1&#038;linkCode=li2&#038;tag=laprogrsurlew-21&#038;linkId=e62c1389b00552c816aab58c2b59b019&#038;language=fr_FR&#038;ref_=as_li_ss_il" target="_blank" rel="noopener"><img decoding="async" border="0" src="//ws-eu.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B07ZYVH6XM&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=FR&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=laprogrsurlew-21&#038;language=fr_FR" ></a><img loading="lazy" decoding="async" src="https://ir-fr.amazon-adsystem.com/e/ir?t=laprogrsurlew-21&#038;language=fr_FR&#038;l=li2&#038;o=8&#038;a=B07ZYVH6XM" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />



<h3 class="wp-block-heading">Expérimentation et projets</h3>



<p>En utilisant ces composants de base, vous pouvez réaliser une variété de projets intéressants. Voici quelques idées pour vous inspirer :</p>



<ul class="wp-block-list">
<li>Réalisez un thermomètre numérique en utilisant le capteur de température LM35 et un affichage LCD.</li>



<li>Créez un éclairage automatique en utilisant un capteur de lumière LDR pour détecter la luminosité ambiante et contrôler une LED.</li>



<li>Construisez un système d&rsquo;alarme à détection de mouvement en utilisant un capteur de mouvement PIR et un buzzer.</li>



<li>Développez un bras robotique contrôlé par Arduino en utilisant des servomoteurs pour les mouvements.</li>
</ul>



<p>N&rsquo;hésitez pas à explorer davantage et à combiner différents capteurs et actionneurs pour créer vos propres projets uniques avec Arduino.</p>



<h2 class="wp-block-heading">Chapitre 9 : Utilisation de bibliothèques Arduino pour étendre les fonctionnalités</h2>



<p>Les bibliothèques Arduino sont des ensembles de code pré-écrits qui étendent les fonctionnalités de base d&rsquo;Arduino. Elles fournissent des fonctions et des classes supplémentaires qui simplifient la programmation et permettent d&rsquo;utiliser divers capteurs, actionneurs et périphériques. Dans ce chapitre, nous allons explorer l&rsquo;utilisation des bibliothèques Arduino et comment les intégrer à vos projets.</p>



<h3 class="wp-block-heading">Installation d&rsquo;une bibliothèque Arduino</h3>



<p>Voici les étapes pour installer une bibliothèque Arduino :</p>



<ol class="wp-block-list">
<li>Téléchargez la bibliothèque à partir de la source appropriée. Il peut s&rsquo;agir du gestionnaire de bibliothèques Arduino intégré, d&rsquo;un fichier ZIP téléchargé depuis un site Web ou d&rsquo;une bibliothèque personnalisée que vous avez créée.</li>



<li>Dans l&rsquo;IDE Arduino, allez dans le menu « Croquis » et sélectionnez « Inclure une bibliothèque ».</li>



<li>Cliquez sur « Gérer les bibliothèques ».</li>



<li>Dans la fenêtre de gestion des bibliothèques, recherchez la bibliothèque que vous souhaitez installer.</li>



<li>Cliquez sur la bibliothèque dans la liste des résultats de recherche.</li>



<li>Cliquez sur « Installer » pour installer la bibliothèque.</li>
</ol>



<p>Une fois installée, vous pouvez utiliser les fonctions et les classes de la bibliothèque dans votre programme en l&rsquo;incluant à l&rsquo;aide de la directive <code>#include</code>.</p>



<h3 class="wp-block-heading">Exemple d&rsquo;utilisation d&rsquo;une bibliothèque : Bibliothèque Servo</h3>



<p>La bibliothèque Servo d&rsquo;Arduino est utilisée pour contrôler les servomoteurs. Voici un exemple d&rsquo;utilisation de la bibliothèque Servo pour contrôler un servomoteur :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#include &amp;lt;Servo.h&amp;gt; // Inclure la bibliothèque Servo

Servo servo; // Créer une instance de la classe Servo

const int servoPin = 9; // Broche de sortie pour le signal du servomoteur

void setup() {
  servo.attach(servoPin); // Attacher le servomoteur à la broche de sortie
}

void loop() {
  servo.write(90); // Définir l'angle du servomoteur à 90 degrés
  delay(1000); // Attendre une seconde
  
  servo.write(0); // Définir l'angle du servomoteur à 0 degré
  delay(1000); // Attendre une seconde
}</pre>



<p>Dans cet exemple, la bibliothèque Servo est incluse avec <code>#include &lt;Servo.h&gt;</code>. Une instance de la classe <code>Servo</code> est créée, et la broche de sortie du servomoteur est définie avec <code>const int servoPin = 9;</code>. Dans la fonction <code>setup()</code>, le servomoteur est attaché à la broche de sortie avec <code>servo.attach(servoPin)</code>. Dans la fonction <code>loop()</code>, l&rsquo;angle du servomoteur est contrôlé en utilisant la fonction <code>servo.write(angle)</code>.</p>



<h3 class="wp-block-heading">Ressources supplémentaires</h3>



<ul class="wp-block-list">
<li><a href="https://www.arduino.cc/en/Reference/Libraries" target="_blank" rel="noreferrer noopener">Bibliothèques Arduino</a> : Consultez la documentation officielle d&rsquo;Arduino pour découvrir une variété de bibliothèques disponibles.</li>



<li><a href="https://www.arduino.cc/en/Guide/Libraries" target="_blank" rel="noreferrer noopener">Gestionnaire de bibliothèques Arduino</a> : Apprenez à utiliser le gestionnaire de bibliothèques Arduino pour installer et gérer les bibliothèques.</li>
</ul>



<p>Les bibliothèques Arduino offrent une grande flexibilité et facilitent le développement de projets complexes. N&rsquo;hésitez pas à explorer les différentes bibliothèques disponibles pour trouver celles qui répondent le mieux à vos besoins.</p>



<h2 class="wp-block-heading">Chapitre 10 : Débogage et résolution des problèmes courants</h2>



<p>Lorsque vous travaillez avec Arduino, il est courant de rencontrer des problèmes ou des erreurs dans votre code ou votre configuration matérielle. Dans ce chapitre, nous allons aborder des techniques de débogage et résoudre certains problèmes courants rencontrés lors de la programmation Arduino.</p>



<h3 class="wp-block-heading">Utilisation du moniteur série</h3>



<p>Le moniteur série de l&rsquo;IDE Arduino est un outil puissant pour le débogage de votre code. Il vous permet d&rsquo;afficher les messages, les valeurs de variables et les résultats de débogage directement à partir de votre programme Arduino. Vous pouvez utiliser la fonction <code>Serial.begin(baudRate)</code> pour initialiser la communication série et la fonction <code>Serial.print()</code> ou <code>Serial.println()</code> pour afficher des informations dans le moniteur série.</p>



<p>Exemple d&rsquo;utilisation du moniteur série :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">void setup() {
  Serial.begin(9600); // Initialiser la communication série à 9600 bauds
}

void loop() {
  int sensorValue = analogRead(A0); // Lire la valeur analogique du capteur
  Serial.print("Valeur du capteur : ");
  Serial.println(sensorValue); // Afficher la valeur dans le moniteur série
  delay(1000);
}</pre>



<p>Dans cet exemple, nous utilisons <code>Serial.begin(9600)</code> pour initialiser la communication série à un débit de 9600 bauds. Ensuite, dans la fonction <code>loop()</code>, nous lisons la valeur analogique d&rsquo;un capteur et l&rsquo;affichons dans le moniteur série à l&rsquo;aide de <code>Serial.print()</code> et <code>Serial.println()</code>.</p>



<h3 class="wp-block-heading">Lecture des messages d&rsquo;erreur</h3>



<p>Lorsque vous rencontrez une erreur lors de la compilation ou du téléversement de votre code, l&rsquo;IDE Arduino affiche un message d&rsquo;erreur avec des informations sur la cause du problème. Lisez attentivement le message d&rsquo;erreur pour identifier la ligne de code concernée et la nature de l&rsquo;erreur. Par exemple, des erreurs de syntaxe indiquent généralement des erreurs de frappe ou des problèmes de structure du code.</p>



<h3 class="wp-block-heading">Vérification des connexions matérielles</h3>



<p>Si votre projet Arduino ne fonctionne pas comme prévu, assurez-vous de vérifier les connexions matérielles. Assurez-vous que les composants sont correctement connectés aux broches appropriées et que les fils de liaison sont bien branchés. Vérifiez également que les composants sont alimentés correctement.</p>



<h3 class="wp-block-heading">Utilisation des commentaires pour isoler les problèmes</h3>



<p>Si vous rencontrez des problèmes dans votre code, vous pouvez utiliser des commentaires pour isoler certaines parties et vérifier si elles fonctionnent correctement. Commentez temporairement une partie du code et testez le reste pour voir si le problème persiste. Cela peut vous aider à identifier plus facilement la section du code qui pose problème.</p>



<h3 class="wp-block-heading">Ressources supplémentaires</h3>



<ul class="wp-block-list">
<li><a href="https://www.arduino.cc/en/Guide/Troubleshooting" target="_blank" rel="noreferrer noopener">Guide de débogage Arduino</a> : Consultez le guide officiel d&rsquo;Arduino pour plus de conseils sur le débogage et la résolution des problèmes courants.</li>



<li>Recherchez des forums Arduino en ligne, tels que le <a href="https://forum.arduino.cc/" target="_blank" rel="noreferrer noopener">forum Arduino officiel</a> ou d&rsquo;autres communautés Arduino, où vous pouvez poser des questions et obtenir de l&rsquo;aide supplémentaire pour résoudre vos problèmes spécifiques.</li>
</ul>



<p>La résolution des problèmes est une partie essentielle du processus de développement Arduino. En utilisant les techniques de débogage appropriées et en faisant preuve de patience, vous pouvez surmonter les obstacles et faire fonctionner vos projets avec succès.</p>



<h2 class="wp-block-heading">Chapitre 11 : Bonnes pratiques de développement Arduino</h2>



<p>Lorsque vous développez des projets Arduino, il est important de suivre certaines bonnes pratiques pour assurer un développement efficace et fiable. Dans ce chapitre, nous allons aborder quelques conseils et astuces pour améliorer votre processus de développement Arduino.</p>



<h3 class="wp-block-heading">Commenter votre code</h3>



<p>L&rsquo;ajout de commentaires à votre code est essentiel pour le rendre plus compréhensible et faciliter la collaboration avec d&rsquo;autres développeurs. Commentez les parties importantes de votre code pour expliquer leur fonctionnement, leur objectif et toute information pertinente. Les commentaires aident également à isoler les problèmes et à documenter votre projet.</p>



<h3 class="wp-block-heading">Utilisation de fonctions et de bibliothèques</h3>



<p>Divisez votre code en fonctions logiques et réutilisables. Cela facilite la compréhension du code et permet de réutiliser des portions de code dans différents projets. Si vous développez des fonctionnalités spécifiques qui peuvent être utiles à d&rsquo;autres, envisagez de créer vos propres bibliothèques Arduino pour les partager avec la communauté.</p>



<h3 class="wp-block-heading">Gestion des erreurs et des exceptions</h3>



<p>Anticipez les erreurs potentielles dans votre code et gérez-les de manière appropriée. Utilisez des structures de contrôle, comme les blocs <code>if-else</code>, pour vérifier les conditions avant d&rsquo;exécuter certaines parties de votre code. Utilisez également des techniques de débogage, telles que l&rsquo;affichage d&rsquo;informations dans le moniteur série, pour suivre le comportement de votre programme et identifier les problèmes éventuels.</p>



<h3 class="wp-block-heading">Test et validation</h3>



<p>Effectuez des tests réguliers de votre code pour vous assurer qu&rsquo;il fonctionne correctement. Testez différentes situations et scénarios pour valider le comportement de votre programme. Utilisez des outils de simulation ou de prototypage pour tester votre projet avant de le déployer sur du matériel réel. La validation rigoureuse de votre code garantit sa fiabilité et sa performance.</p>



<h3 class="wp-block-heading">Documentation de projet</h3>



<p>Documentez votre projet en fournissant des informations sur le fonctionnement général, le câblage, les bibliothèques utilisées, les références externes, etc. La documentation permet aux autres développeurs ou utilisateurs de comprendre votre projet et de l&rsquo;utiliser correctement. Utilisez des diagrammes, des schémas, des tableaux et d&rsquo;autres supports visuels pour faciliter la compréhension.</p>



<h3 class="wp-block-heading">Versionnage du code</h3>



<p>Utilisez un système de contrôle de version, tel que Git, pour suivre les modifications apportées à votre code au fil du temps. Cela vous permet de revenir à des versions antérieures en cas de problème, de travailler sur différentes fonctionnalités de manière isolée et de collaborer avec d&rsquo;autres développeurs plus facilement.</p>



<h3 class="wp-block-heading">Ressources supplémentaires</h3>



<ul class="wp-block-list">
<li><a href="https://www.arduino.cc/en/Reference/StyleGuide" target="_blank" rel="noreferrer noopener">Guide de style de code Arduino</a> : Suivez les recommandations officielles d&rsquo;Arduino pour écrire un code clair et lisible.</li>



<li><a href="https://playground.arduino.cc/Main/DevelopmentPractice/" target="_blank" rel="noreferrer noopener">Arduino Playground &#8211; Bonnes pratiques de développement</a> : Consultez le Playground Arduino pour des conseils supplémentaires sur les bonnes pratiques de développement.</li>
</ul>



<p>En suivant ces bonnes pratiques de développement, vous pouvez améliorer la qualité de votre code Arduino, faciliter la collaboration et créer des projets plus robustes et fiables.</p>



<h2 class="wp-block-heading">Chapitre 12 : Aller plus loin avec Arduino</h2>



<p>Dans ce dernier chapitre, nous allons explorer des moyens de continuer à développer vos compétences et d&rsquo;explorer davantage les possibilités d&rsquo;Arduino. Que vous soyez débutant ou expérimenté, il y a toujours de nouvelles choses à apprendre et à découvrir.</p>



<h3 class="wp-block-heading">Participer à des communautés Arduino</h3>



<p>Rejoignez des communautés en ligne dédiées à Arduino, telles que des forums, des groupes de discussion ou des réseaux sociaux. Ces communautés offrent un espace pour poser des questions, partager des projets, obtenir de l&rsquo;aide et échanger des idées avec d&rsquo;autres passionnés d&rsquo;Arduino. Vous pouvez également participer à des événements Arduino locaux, tels que des ateliers ou des rencontres, pour rencontrer d&rsquo;autres personnes intéressées par Arduino.</p>



<h3 class="wp-block-heading">Explorer de nouvelles fonctionnalités</h3>



<p>Arduino offre une vaste gamme de cartes, de capteurs, d&rsquo;actionneurs et de modules supplémentaires. Explorez de nouveaux composants pour étendre les fonctionnalités de vos projets. Par exemple, vous pouvez travailler avec des modules sans fil (Bluetooth, Wi-Fi), des écrans LCD, des capteurs avancés (gyroscope, accéléromètre), des modules de communication (NFC, RFID), et bien plus encore. Laissez libre cours à votre créativité et expérimentez de nouvelles fonctionnalités.</p>



<h3 class="wp-block-heading">Apprendre de nouveaux langages de programmation</h3>



<p>Arduino utilise généralement le langage de programmation C/C++ pour développer des projets. Si vous souhaitez aller plus loin dans le développement logiciel, vous pouvez explorer d&rsquo;autres langages de programmation tels que Python, JavaScript, ou même des langages spécifiques à des plates-formes telles que le langage de programmation Arduino (basé sur Wiring). Apprendre de nouveaux langages de programmation élargira votre champ de compétences et vous permettra de développer des projets plus complexes.</p>



<h3 class="wp-block-heading">Utiliser des plateformes IoT</h3>



<p>L&rsquo;Internet des Objets (IoT) est un domaine en pleine expansion qui permet de connecter des objets physiques à Internet. Arduino peut être utilisé pour développer des projets IoT en combinant des capteurs, des actionneurs et des cartes compatibles avec les protocoles de communication IoT tels que MQTT, HTTP, ou CoAP. Explorez des plateformes IoT populaires telles que Arduino IoT Cloud, Cayenne, ou Blynk pour créer des projets IoT interactifs.</p>



<h3 class="wp-block-heading">Continuer l&rsquo;apprentissage</h3>



<p>Arduino évolue constamment, avec de nouvelles fonctionnalités, des mises à jour de logiciels et des améliorations. Continuez à vous tenir informé des nouvelles versions, des tutoriels et des ressources disponibles. Consultez la documentation officielle d&rsquo;Arduino, les blogs, les livres et les cours en ligne pour approfondir vos connaissances et rester à jour avec les dernières avancées.</p>



<h3 class="wp-block-heading">Inspirer les autres</h3>



<p>Partagez vos projets, tutoriels et expériences avec la communauté Arduino. Publiez vos projets sur des plateformes de partage de projets tels que Instructables ou GitHub. Partagez vos connaissances en écrivant des articles de blog, en donnant des présentations lors d&rsquo;événements ou en animant des ateliers pour inspirer les autres et promouvoir l&rsquo;apprentissage collaboratif.</p>



<p>En conclusion, Arduino offre de nombreuses opportunités d&rsquo;apprentissage et d&rsquo;exploration. Continuez à vous engager dans la communauté, à explorer de nouvelles fonctionnalités, à apprendre de nouveaux langages et à partager vos connaissances. Bonne continuation dans votre parcours avec Arduino !</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/guide-complet-pour-debutants-comment-demarrer-avec-arduino/">Guide complet pour débutants : Comment démarrer avec Arduino</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/guide-complet-pour-debutants-comment-demarrer-avec-arduino/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1722</post-id>	</item>
		<item>
		<title>Créez une boîte à musique personnalisée avec Arduino</title>
		<link>https://programmation.surleweb-france.fr/creez-une-boite-a-musique-personnalisee-avec-arduino/</link>
					<comments>https://programmation.surleweb-france.fr/creez-une-boite-a-musique-personnalisee-avec-arduino/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Fri, 12 May 2023 19:35:38 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[boîte à musique personnalisée]]></category>
		<category><![CDATA[créativité musicale]]></category>
		<category><![CDATA[mélodies personnalisées]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[projet DIY]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=1652</guid>

					<description><![CDATA[<p>Découvrez comment créer votre propre boîte à musique personnalisée avec Arduino. Ce guide DIY vous montre comment programmer Arduino, choisir des mélodies uniques et assembler le tout dans une boîte originale. Exprimez votre créativité musicale et offrez-vous une expérience musicale personnalisée !</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/creez-une-boite-a-musique-personnalisee-avec-arduino/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/creez-une-boite-a-musique-personnalisee-avec-arduino/">Créez une boîte à musique personnalisée avec Arduino</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><strong>Introduction</strong></h2>



<p>La création d&rsquo;une boîte à musique personnalisée avec Arduino offre une opportunité passionnante de fusionner l&rsquo;électronique, la programmation et la créativité musicale. Que vous soyez débutant ou que vous ayez déjà une certaine expérience avec Arduino, ce projet est conçu pour être accessible à tous. En vous plongeant dans ce guide, vous développerez des compétences pratiques en programmation Arduino tout en donnant vie à votre propre boîte à musique unique.</p>



<h3 class="wp-block-heading"><strong>Compétences requises et niveau d&rsquo;accessibilité</strong></h3>



<p>Ce projet ne nécessite pas de compétences avancées en électronique ou en programmation. Il est adapté aux débutants qui souhaitent découvrir Arduino et se familiariser avec les concepts de base de la programmation. Des explications claires et des instructions détaillées seront fournies tout au long du processus pour vous guider pas à pas.</p>



<h3 class="wp-block-heading"><strong>Avantages d&rsquo;apprendre à créer une boîte à musique personnalisée avec Arduino</strong></h3>



<p>En réalisant ce projet, vous acquerrez plusieurs compétences essentielles. Tout d&rsquo;abord, vous apprendrez à programmer Arduino, qui est une compétence très recherchée dans les domaines de l&rsquo;électronique et de l&rsquo;ingénierie. Vous comprendrez les principes fondamentaux de la programmation, tels que les boucles, les conditions et les fonctions, et vous les appliquerez pour créer des fonctionnalités musicales uniques.</p>



<p>Ensuite, vous développerez votre créativité musicale en sélectionnant et en personnalisant les mélodies de votre boîte à musique. Vous aurez la liberté de choisir vos chansons préférées, de créer des arrangements uniques et d&rsquo;explorer différentes tonalités et tempos.</p>



<p>Enfin, l&rsquo;assemblage physique de la boîte à musique vous permettra de mettre en pratique vos compétences en bricolage et en intégration de composants électroniques. Vous découvrirez comment connecter les différents éléments, tels que les boutons et les haut-parleurs, et comment les intégrer de manière esthétique dans votre boîte.</p>



<p>Prêt à commencer ce voyage musical et créatif ? Passons maintenant à la présentation des composants nécessaires pour réaliser votre propre boîte à musique personnalisée avec Arduino. Pour en savoir plus sur les avantages de la création de projets DIY avec Arduino, vous pouvez consulter le site officiel d&rsquo;Arduino : <a href="https://www.arduino.cc/" target="_blank" rel="noreferrer noopener">lien vers le site d&rsquo;Arduino</a>.</p>



<h2 class="wp-block-heading"><strong>II. Présentation des composants nécessaires</strong></h2>



<p>Pour réaliser votre boîte à musique personnalisée avec Arduino, vous aurez besoin des composants suivants :</p>



<ol class="wp-block-list">
<li><strong>Arduino Uno R3</strong> &#8211; Il s&rsquo;agit d&rsquo;un microcontrôleur populaire et polyvalent qui sera le cœur de votre projet. Vous pouvez vous procurer l&rsquo;Arduino Uno R3 : <a href="https://amzn.to/3I1A3vV" target="_blank" rel="noreferrer noopener">Arduino Uno R3</a>.</li>



<li><strong>Breadboard</strong> &#8211; Une breadboard vous permettra de prototyper facilement vos circuits sans avoir besoin de souder. Voici un exemple de breadboard compatible: <a href="https://amzn.to/42RvSLe" target="_blank" rel="noreferrer noopener">Breadboard</a>.</li>



<li><strong>Haut-parleur piezoélectrique</strong> &#8211; Ce composant vous permettra de générer des sons pour votre boîte à musique. Voici un exemple de haut-parleur piezoélectrique adapté au projet : <a href="https://amzn.to/3I3zX6M" target="_blank" rel="noreferrer noopener">Haut-parleur piezoélectrique</a>.</li>



<li><strong>Boutons-poussoirs</strong> &#8211; Vous aurez besoin de boutons-poussoirs pour contrôler les fonctionnalités de votre boîte à musique. Voici un pack de boutons-poussoirs qui convient parfaitement : <a href="https://amzn.to/3M2INTJ" target="_blank" rel="noreferrer noopener">Pack de boutons-poussoirs</a>.</li>



<li><strong>Résistances</strong> &#8211; Les résistances sont nécessaires pour protéger vos composants et réguler le courant électrique. Vous pouvez opter pour un kit de résistances variées, tel que celui-ci : <a href="https://amzn.to/42rDwfk" target="_blank" rel="noreferrer noopener">Kit de résistances</a>.</li>



<li><strong>Câbles Dupont</strong> &#8211; Les câbles Dupont vous permettront de connecter les différents composants entre eux et à l&rsquo;Arduino. Assurez-vous de choisir des câbles Dupont mâle-femelle pour une utilisation plus pratique : [Câbles Dupont sur Amazon](lien produit Amazon : <a href="https://amzn.to/42w4DpE" target="_blank" rel="noreferrer noopener">Câbles Dupont</a>.</li>
</ol>



<p>N&rsquo;hésitez pas à vérifier les spécifications techniques et les évaluations des produits sur Amazon avant de faire votre choix. Assurez-vous d&rsquo;obtenir des composants compatibles avec Arduino Uno R3 pour une intégration sans problème dans votre projet.</p>



<p>Maintenant que vous avez une idée des composants nécessaires, passons à l&rsquo;étape suivante : la programmation de l&rsquo;Arduino.</p>



<h2 class="wp-block-heading"><strong>Programmation de l&rsquo;Arduino</strong></h2>



<p>La programmation de l&rsquo;Arduino est une étape cruciale pour créer votre boîte à musique personnalisée. Dans cette section, nous allons explorer les bases de la programmation Arduino et expliquer chaque partie du code nécessaire pour ce projet. Avant de commencer, assurez-vous d&rsquo;avoir installé l&rsquo;environnement de développement Arduino IDE, disponible sur le <a href="https://www.arduino.cc/en/software" target="_blank" rel="noreferrer noopener">site officiel d&rsquo;Arduino</a>.</p>



<p>Le code complet pour ce projet sera fourni à la fin de cette section, avec des commentaires pour expliquer les différentes parties. Assurez-vous de bien comprendre chaque étape avant de téléverser le code sur votre Arduino.</p>



<h3 class="wp-block-heading"><strong>Étape 1 : Inclure les bibliothèques nécessaires</strong></h3>



<p>Pour jouer des mélodies et contrôler les boutons, nous aurons besoin de deux bibliothèques : la bibliothèque « Tone » et la bibliothèque « Button ». Vous pouvez les installer en suivant les instructions sur les sites officiels des bibliothèques :</p>



<ul class="wp-block-list">
<li>Bibliothèque « Tone » : <a href="https://www.arduino.cc/en/Reference/Tone" target="_blank" rel="noreferrer noopener">Tone Library</a></li>



<li>Bibliothèque « Button » : <a href="https://www.arduino.cc/en/Reference/Button" target="_blank" rel="noreferrer noopener">Button Library</a></li>
</ul>



<h3 class="wp-block-heading"><strong>Étape 2 : Déclarer les broches et les variables</strong></h3>



<p>Avant de commencer à écrire le code, nous devons déclarer les broches utilisées pour les composants, ainsi que les variables nécessaires. Voici un exemple de déclaration des broches :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">const int buttonPin = 2;    // Broche utilisée pour le bouton
const int speakerPin = 9;   // Broche utilisée pour le haut-parleur</pre>



<h3 class="wp-block-heading"><strong>Étape 3 : Initialiser les composants</strong></h3>



<p>Nous devons initialiser les composants et définir leur mode de fonctionnement. Voici un exemple d&rsquo;initialisation des broches :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">void setup() {
  pinMode(buttonPin, INPUT);      // Définir la broche du bouton en tant qu'entrée
  pinMode(speakerPin, OUTPUT);    // Définir la broche du haut-parleur en tant que sortie
}</pre>



<h3 class="wp-block-heading"><strong>Étape 4 : Définir les mélodies</strong></h3>



<p>Maintenant, nous pouvons définir nos mélodies. Vous pouvez utiliser des notes prédéfinies ou créer vos propres séquences de notes. Voici un exemple de définition de mélodies :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">// Définition des notes (do, ré, mi, etc.)
int melody[] = {
  NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5
};

// Définition de la durée de chaque note
int noteDuration = 200;</pre>



<h3 class="wp-block-heading"><strong>Étape 5 : Lecture des mélodies</strong></h3>



<p>Maintenant, nous pouvons écrire le code pour lire les mélodies lorsque le bouton est enfoncé. Voici un exemple de code pour lire une mélodie :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">void playMelody() {
  for (int i = 0; i &amp;lt; sizeof(melody) / sizeof(melody[0]); i++) {
    tone(speakerPin, melody[i], noteDuration);
    delay(noteDuration);
    noTone(speakerPin);
    delay(noteDuration / 2);
  }
}</pre>



<h3 class="wp-block-heading"><strong>Étape 6 : Détection du bouton et lecture des mélodies</strong></h3>



<p>Maintenant, nous devons ajouter la logique pour détecter lorsque le bouton est enfoncé et déclencher la lecture des mélodies. Voici un exemple de code pour détecter l&rsquo;appui sur le bouton et jouer la mélodie correspondante :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">void loop() {
  if (digitalRead(buttonPin) == HIGH) {
    playMelody();
  }
}</pre>



<h3 class="wp-block-heading"><strong>Étape 7 : Code complet avec commentaires explicatifs</strong></h3>



<p>Voici le code complet pour la création de la boîte à musique personnalisée avec des commentaires pour expliquer chaque partie :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#include &amp;lt;Tone.h>    // Inclure la bibliothèque Tone
#include &amp;lt;Button.h>  // Inclure la bibliothèque Button

const int buttonPin = 2;    // Broche utilisée pour le bouton
const int speakerPin = 9;   // Broche utilisée pour le haut-parleur

int melody[] = {
  NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5
};  // Définition des notes (do, ré, mi, etc.)

int noteDuration = 200;  // Durée de chaque note

void setup() {
  pinMode(buttonPin, INPUT);      // Définir la broche du bouton en tant qu'entrée
  pinMode(speakerPin, OUTPUT);    // Définir la broche du haut-parleur en tant que sortie
}

void playMelody() {
  for (int i = 0; i &amp;lt; sizeof(melody) / sizeof(melody[0]); i++) {
    tone(speakerPin, melody[i], noteDuration);
    delay(noteDuration);
    noTone(speakerPin);
    delay(noteDuration / 2);
  }
}

void loop() {
  if (digitalRead(buttonPin) == HIGH) {
    playMelody();
  }
}</pre>



<p>Assurez-vous de téléverser ce code sur votre Arduino et de connecter correctement les composants selon le schéma de câblage.</p>



<p>Voilà, vous avez maintenant le code complet pour créer votre boîte à musique personnalisée avec Arduino. Expérimentez avec les mélodies, modifiez les notes et les durées pour créer des combinaisons uniques et laissez votre créativité musicale s&rsquo;exprimer !</p>



<h2 class="wp-block-heading"><strong>Sélection et personnalisation des mélodies</strong></h2>



<p>Dans cette étape, nous allons explorer la sélection et la personnalisation des mélodies pour votre boîte à musique personnalisée. Vous pouvez choisir parmi une vaste gamme de mélodies préexistantes ou créer vos propres séquences de notes uniques.</p>



<h3 class="wp-block-heading"><strong>1. Bibliothèque de mélodies</strong></h3>



<p>Une ressource précieuse pour trouver des mélodies préexistantes est le site <a href="https://arduinomusic.github.io/arduino-music/">Arduino Music</a> qui propose une bibliothèque de mélodies populaires avec leur code correspondant pour Arduino. Vous pouvez parcourir les mélodies disponibles, en trouver une qui correspond à votre goût musical et copier le code dans votre projet.</p>



<h3 class="wp-block-heading"><strong>2. Création de mélodies personnalisées</strong></h3>



<p>Si vous souhaitez créer vos propres mélodies, vous pouvez utiliser un éditeur de mélodies en ligne comme <a href="https://tones.wolfram.com/generate/" target="_blank" rel="noreferrer noopener">Tone Generator</a> qui vous permet de générer des séquences de notes personnalisées en spécifiant la fréquence, la durée et d&rsquo;autres paramètres. Vous pouvez expérimenter avec différents motifs de notes pour obtenir des résultats uniques.</p>



<h3 class="wp-block-heading"><strong>3. Modification des paramètres de mélodie</strong></h3>



<p>Une fois que vous avez sélectionné une mélodie ou créé une mélodie personnalisée, vous pouvez expérimenter avec les paramètres pour les ajuster à votre goût. Par exemple, vous pouvez modifier la durée de chaque note pour ralentir ou accélérer le rythme, ou ajuster les valeurs de tonalité pour obtenir des variations sonores intéressantes. N&rsquo;hésitez pas à consulter la <a href="https://www.arduino.cc/reference/en/libraries/tone/" target="_blank" rel="noreferrer noopener">documentation officielle d&rsquo;Arduino sur la bibliothèque Tone</a> pour en savoir plus sur les différentes fonctionnalités disponibles.</p>



<h3 class="wp-block-heading"><strong>4. Exemple de personnalisation</strong></h3>



<p>Prenons un exemple de personnalisation de mélodie. Supposons que vous ayez choisi la célèbre mélodie de « Joyeux Anniversaire ». Vous pouvez modifier la séquence de notes, la durée et les tonalités pour créer une version unique. Voici un exemple de code pour jouer une version personnalisée de « Joyeux Anniversaire » :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">int melody[] = {
  NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_F4, NOTE_E4,
  NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_F4,
  NOTE_C4, NOTE_C4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_E4,
  NOTE_D4, NOTE_AS4, NOTE_AS4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4
};

int noteDuration = 300;</pre>



<p>Dans cet exemple, nous avons modifié la séquence de notes et la durée pour créer une version unique de « Joyeux Anniversaire ».</p>



<p>N&rsquo;oubliez pas de reprogrammer votre Arduino avec les nouvelles mélodies personnalisées et de les téléverser sur votre boîte à musique pour apprécier votre création musicale unique !</p>



<p>Continuez à expérimenter avec différentes mélodies, à les personnaliser selon vos préférences et à laisser libre cours à votre créativité musicale.</p>



<h2 class="wp-block-heading"><strong>Assemblage de la boîte à musique</strong></h2>



<p>Maintenant que vous avez programmé les fonctionnalités de votre boîte à musique, il est temps de passer à l&rsquo;assemblage physique. Dans cette étape, nous allons vous guider pour connecter les composants et les intégrer dans une boîte esthétique.</p>



<h3 class="wp-block-heading"><strong>Connexions des composants</strong></h3>



<p>Les composants de votre boîte à musique (haut-parleur, Arduino, bouton et résistance) doivent être connectés correctement pour assurer un fonctionnement optimal. Voici un tableau détaillant les connexions nécessaires :</p>



<figure class="wp-block-table"><table><thead><tr><th>Composant</th><th>Broche de l&rsquo;Arduino</th><th>Description de la connexion</th></tr></thead><tbody><tr><td>Haut-parleur</td><td>Broche 9</td><td>Connectez la broche positive (+) du haut-parleur à la broche 9 de l&rsquo;Arduino. Connectez également la broche négative (-) du haut-parleur à la masse (GND) de l&rsquo;Arduino.</td></tr><tr><td>Bouton</td><td>Broche 2</td><td>Connectez une extrémité du bouton à la broche 2 de l&rsquo;Arduino. Connectez également l&rsquo;autre extrémité du bouton à la masse (GND) de l&rsquo;Arduino en utilisant une résistance de 10k ohms.</td></tr><tr><td>Résistance</td><td>Broche 2</td><td>Connectez l&rsquo;autre extrémité de la résistance de 10k ohms à la masse (GND) de l&rsquo;Arduino.</td></tr></tbody></table></figure>



<p>Assurez-vous de connecter les fils correctement en utilisant des câbles Dupont ou d&rsquo;autres méthodes de connexion appropriées. Il est important de bien vérifier les connexions pour éviter tout court-circuit ou dysfonctionnement.</p>



<h3 class="wp-block-heading"><strong>Intégration esthétique</strong></h3>



<p>Maintenant que les composants sont connectés, il est temps de les intégrer dans une boîte esthétique. Vous pouvez choisir une boîte en bois, en acrylique ou même imprimer une boîte 3D selon vos préférences. Assurez-vous que la boîte est suffisamment grande pour accueillir l&rsquo;Arduino, le haut-parleur et le bouton. Vous pouvez également créer des ouvertures pour les fils de connexion afin de les faire passer proprement à travers la boîte.</p>



<p>Pour trouver des boîtes adaptées à votre projet, vous pouvez consulter les sites suivants :</p>



<ul class="wp-block-list">
<li><a href="https://www.amazon.fr/gp/search?ie=UTF8&amp;tag=laprogrsurlew-21&amp;linkCode=ur2&amp;linkId=7ede3e7539b4f5c3da77b147ca295e2c&amp;camp=1642&amp;creative=6746&amp;index=handmade&amp;keywords=boite en bois arduino" target="_blank" rel="noopener">Amazon</a> propose une large sélection de boîtes en bois, en acrylique ou en plastique, adaptées à différents budgets et tailles. Voici un exemple de boîtes en bois sur Amazon : <a href="https://amzn.to/44X7ZUo" target="_blank" rel="noreferrer noopener">Boîtes en bois sur Amazon</a></li>



<li>Si vous préférez utiliser une boîte personnalisée en impression 3D, vous pouvez explorer des sites tels que <a href="https://www.thingiverse.com/" target="_blank" rel="noreferrer noopener">Thingiverse</a>, une plateforme réputée pour les modèles 3D gratuits partagés par la communauté. Vous y trouverez une variété de modèles de boîtes adaptés à vos besoins. Voici un exemple de recherche pour des boîtes sur Thingiverse : <a href="https://www.thingiverse.com/search?q=music+box" target="_blank" rel="noreferrer noopener">Modèles de boîtes sur Thingiverse</a></li>
</ul>



<p>Assurez-vous de prendre en compte les dimensions de vos composants et les spécifications de votre projet lors du choix de la boîte. Optez pour une boîte qui correspond à votre esthétique préférée et qui offre une bonne intégration des composants électroniques.</p>



<p>Une fois que vous avez trouvé la boîte idéale, il est temps de l&rsquo;assembler en plaçant soigneusement les composants à l&rsquo;intérieur et en fixant les fils de connexion de manière ordonnée. Lorsque tout est en place, refermez la boîte et admirez votre boîte à musique personnalisée prête à jouer de magnifiques mélodies !</p>



<p>Profitez de votre créativité et des possibilités infinies pour personnaliser l&rsquo;apparence de votre boîte à musique en accord avec vos préférences et votre style.</p>



<h2 class="wp-block-heading"><strong>Test et ajustements finaux</strong></h2>



<p>Une fois que vous avez terminé l&rsquo;assemblage de votre boîte à musique personnalisée, il est temps de procéder aux tests et aux ajustements finaux pour vous assurer que tout fonctionne correctement. Voici quelques étapes importantes à suivre :</p>



<ul class="wp-block-list">
<li><strong>1. Vérification du bon fonctionnement</strong></li>
</ul>



<p>Assurez-vous que tous les composants sont correctement connectés et que l&rsquo;Arduino est alimenté. Appuyez sur le bouton et écoutez attentivement si les mélodies sont jouées par le haut-parleur. Vérifiez également si les boutons répondent comme prévu. Si vous rencontrez des problèmes, vérifiez les connexions et assurez-vous que le code est correctement téléversé sur l&rsquo;Arduino.</p>



<ul class="wp-block-list">
<li><strong>2. Possibilités d&rsquo;améliorations et d&rsquo;ajustements supplémentaires</strong></li>
</ul>



<p>Une fois que votre boîte à musique fonctionne correctement, vous pouvez envisager d&rsquo;apporter des améliorations supplémentaires pour enrichir l&rsquo;expérience musicale. Voici quelques idées :</p>



<ul class="wp-block-list">
<li>Ajoutez des LED pour des effets visuels synchronisés avec la musique.</li>



<li>Intégrez un potentiomètre pour ajuster le volume du haut-parleur.</li>



<li>Expérimentez avec d&rsquo;autres capteurs ou composants pour créer des fonctionnalités interactives supplémentaires.</li>
</ul>



<p>Laissez libre cours à votre créativité et explorez les possibilités pour rendre votre boîte à musique encore plus unique et fascinante.</p>



<ul class="wp-block-list">
<li><strong>3. Documentation et partage de votre projet</strong></li>
</ul>



<p>Une fois que vous êtes satisfait de votre boîte à musique personnalisée, prenez le temps de documenter votre projet. Prenez des photos de l&rsquo;assemblage final, du processus de création et des étapes importantes. Écrivez une brève description de votre projet, en soulignant les éléments uniques ou innovants que vous avez incorporés.</p>



<p>Ensuite, partagez votre projet avec la communauté en publiant vos photos et votre description sur des plateformes de partage de projets électroniques tels que <a href="https://www.instructables.com/" target="_blank" rel="noreferrer noopener">Instructables</a>, <a href="https://www.hackster.io/" target="_blank" rel="noreferrer noopener">Hackster</a>, ou sur les réseaux sociaux spécialisés comme <a href="https://create.arduino.cc/projecthub" target="_blank" rel="noreferrer noopener">Arduino Project Hub</a>. Cela permettra aux autres passionnés d&rsquo;électronique de s&rsquo;inspirer de votre création et de reproduire votre boîte à musique personnalisée.</p>



<p>Vous pouvez me proposer vos idées en commentaire.</p>



<h2 class="wp-block-heading"><strong>Conclusion</strong></h2>



<p>Félicitations ! Vous avez réussi à créer votre propre boîte à musique personnalisée avec Arduino. Ce projet a permis de fusionner votre passion pour la musique, l&rsquo;électronique et la programmation, tout en développant de nouvelles compétences et en vous offrant une expérience créative unique.</p>



<p>En parcourant ce projet, vous avez appris les bases de la programmation Arduino, y compris la lecture de mélodies, la manipulation des boutons et l&rsquo;intégration de composants électroniques. Vous avez également exploré la sélection et la personnalisation des mélodies pour créer une expérience musicale unique.</p>



<p>N&rsquo;oubliez pas que votre boîte à musique peut être un point de départ pour d&rsquo;autres projets et expérimentations. Vous pouvez continuer à explorer et à ajouter de nouvelles fonctionnalités, à améliorer les aspects esthétiques et à intégrer d&rsquo;autres composants électroniques pour créer des effets sonores ou visuels plus avancés.</p>



<p>Continuez à développer vos compétences en électronique et en programmation Arduino en vous lançant dans de nouveaux projets. Utilisez la communauté Arduino, les forums en ligne et les plateformes de partage de projets pour échanger des idées, poser des questions et découvrir de nouvelles inspirations.</p>



<p>En partageant votre projet, vous pouvez inspirer d&rsquo;autres personnes à se lancer dans des projets similaires et à explorer leur propre créativité. N&rsquo;hésitez pas à documenter votre processus, à publier des tutoriels ou à partager vos résultats sur des plateformes dédiées.</p>



<p>Rappelez-vous, la seule limite est votre imagination. Profitez de votre boîte à musique personnalisée, créez de belles mélodies et laissez-vous emporter par la magie de la musique combinée à l&rsquo;électronique. Amusez-vous et continuez à créer !</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/creez-une-boite-a-musique-personnalisee-avec-arduino/">Créez une boîte à musique personnalisée avec Arduino</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/creez-une-boite-a-musique-personnalisee-avec-arduino/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1652</post-id>	</item>
		<item>
		<title>Python, les bonnes pratiques et l&#8217;indentation</title>
		<link>https://programmation.surleweb-france.fr/python-les-bonnes-pratiques-et-lindentation/</link>
					<comments>https://programmation.surleweb-france.fr/python-les-bonnes-pratiques-et-lindentation/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Mon, 06 Mar 2023 17:00:00 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[bonnes pratiques]]></category>
		<category><![CDATA[commentaires pertinents]]></category>
		<category><![CDATA[indentation]]></category>
		<category><![CDATA[lecture]]></category>
		<category><![CDATA[maintenabilité]]></category>
		<category><![CDATA[noms de variables clairs]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[Python 3]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=1549</guid>

					<description><![CDATA[<p>Écrivez du code Python facile à lire et à comprendre en suivant ces bonnes pratiques, notamment l'utilisation de l'indentation pour délimiter les blocs de code et l'utilisation de noms de variables clairs et de commentaires pertinents</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/python-les-bonnes-pratiques-et-lindentation/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-les-bonnes-pratiques-et-lindentation/">Python, les bonnes pratiques et l&rsquo;indentation</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Vous pouvez trouver le sommaire des articles python, en cliquant sur ce <a href="https://programmation.surleweb-france.fr/python-tous-les-articles-classes">lien</a>.</p>



<p>Lorsque vous programmez en Python 3, il est important de suivre certaines bonnes pratiques pour garantir que votre code est facile à lire, à maintenir et à comprendre. Les bonnes pratiques incluent l&rsquo;utilisation de noms de variables clairs et des commentaires pertinents pour aider à comprendre le fonctionnement du code.</p>



<p>Une autre bonne pratique importante en Python est l&rsquo;utilisation de l&rsquo;indentation. Contrairement à d&rsquo;autres langages de programmation, Python utilise l&rsquo;indentation pour délimiter les blocs de code. Les blocs de code qui sont indentés avec le même nombre d&rsquo;espaces ou de tabulations appartiennent au même bloc de code. Cette indentation doit être constante tout au long du programme pour garantir que Python comprenne correctement la structure de votre code.</p>



<p>Il est courant de choisir entre 2 et 4 espaces pour l&rsquo;indentation, mais la plupart des développeurs Python conviennent que 4 espaces est le meilleur choix. La plupart des éditeurs de code Python ont des options pour ajouter automatiquement l&rsquo;indentation lorsque vous appuyez sur la touche « tab », ce qui facilite l&rsquo;écriture du code.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">a = 10
b = 100
while a &lt; b:
    a = a + 1
    if b > 50 :
        b = b - 1
</pre>



<p>En suivant ces bonnes pratiques et en utilisant correctement l&rsquo;indentation, vous pouvez écrire du code Python qui est facile à lire, à comprendre et à maintenir.</p>



<p>Voici quelques bonnes pratiques supplémentaires à suivre lors de la programmation en Python 3 :</p>



<ol class="wp-block-list" type="1" start="1">
<li>Utilisez des noms de variables clairs et significatifs pour faciliter la lecture de votre code.</li>



<li>Évitez d&rsquo;utiliser des noms de variables qui sont trop courts ou qui ont une signification différente dans un autre contexte.</li>



<li>Évitez d&rsquo;utiliser des caractères spéciaux ou des espaces dans les noms de variables.</li>



<li>Utilisez des commentaires pour expliquer ce que fait chaque partie de votre code.</li>



<li>Évitez les commentaires qui expliquent l&rsquo;évidence ou qui répètent ce qui est évident à partir du code.</li>



<li>Séparez le code en fonctions ou en classes pour faciliter la lecture et la maintenance.</li>



<li>Évitez les boucles infinies ou les blocs de code qui ne peuvent pas être interrompus.</li>



<li>Utilisez des tests unitaires pour garantir que votre code fonctionne correctement.</li>



<li>Évitez les fonctions et les classes trop complexes qui sont difficiles à comprendre ou à maintenir.</li>



<li>Évitez d&rsquo;utiliser des importations sauvages qui importent toutes les fonctions et les classes d&rsquo;un module.</li>
</ol>



<p>Voilà quelques bonnes pratiques qu&rsquo;il faut suivre afin d&rsquo;avoir un code lisible et compréhensible y compris par d&rsquo;autres personnes.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-les-bonnes-pratiques-et-lindentation/">Python, les bonnes pratiques et l&rsquo;indentation</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/python-les-bonnes-pratiques-et-lindentation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1549</post-id>	</item>
		<item>
		<title>Python, les opérateurs et les expressions</title>
		<link>https://programmation.surleweb-france.fr/python-les-operateurs-et-les-expressions/</link>
					<comments>https://programmation.surleweb-france.fr/python-les-operateurs-et-les-expressions/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Mon, 06 Mar 2023 17:00:00 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[expressions]]></category>
		<category><![CDATA[opérateurs arithmétiques]]></category>
		<category><![CDATA[opérateurs de comparaison]]></category>
		<category><![CDATA[opérateurs logiques]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[Python 3]]></category>
		<category><![CDATA[symboles spéciaux]]></category>
		<category><![CDATA[valeurs]]></category>
		<category><![CDATA[variables]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=1561</guid>

					<description><![CDATA[<p>Découvrez les opérateurs clés en Python 3 et apprenez à créer des expressions efficaces pour manipuler les variables et les valeurs dans votre code.</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/python-les-operateurs-et-les-expressions/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-les-operateurs-et-les-expressions/">Python, les opérateurs et les expressions</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Vous pouvez retrouver le sommaire des articles de Python sur<a href="https://programmation.surleweb-france.fr/python-tous-les-articles-classes"> ce lien</a>.</p>



<p>En Python 3, les opérateurs sont des symboles spéciaux qui effectuent des opérations sur les variables ou les valeurs. Les expressions sont des combinaisons de variables, de valeurs et d&rsquo;opérateurs qui produisent une valeur unique.</p>



<p>Voici quelques opérateurs couramment utilisés en Python 3 :</p>



<ul class="wp-block-list" type="1" start="1">
<li>Les opérateurs arithmétiques : Les opérateurs arithmétiques sont utilisés pour effectuer des opérations mathématiques sur les variables ou les valeurs. Les opérateurs arithmétiques de base en Python 3 sont les suivants :</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">+ # Addition 
- # Soustraction 
* # Multiplication 
/ # Division 
% # Modulo (reste de la division) 
** # Exponentiation (élévation à la puissance)
</pre>



<p>Voici quelques exemples d&rsquo;utilisation des opérateurs arithmétiques :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">a = 5 + 3 # a contient la valeur 8 
b = 10 - 4 # b contient la valeur 6 
c = 3 * 4 # c contient la valeur 12 
d = 15 / 5 # d contient la valeur 3.0 
e = 17 % 3 # e contient la valeur 2 
f = 2 ** 3 # f contient la valeur 8
</pre>



<ul class="wp-block-list" type="1" start="2">
<li>Les opérateurs de comparaison : Les opérateurs de comparaison sont utilisés pour comparer les valeurs de deux variables ou de deux expressions. Les opérateurs de comparaison de base en Python 3 sont les suivants :</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">== # Égal à 
!= # Différent de 
&lt; # Inférieur à 
> # Supérieur à 
&lt;= # Inférieur ou égal à 
>= # Supérieur ou égal à</pre>



<p>Voici quelques exemples d&rsquo;utilisation des opérateurs de comparaison :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">a = 5 == 5 # a contient la valeur True 
b = 10 != 5 # b contient la valeur True 
c = 3 &lt; 4 # c contient la valeur True 
d = 15 > 5 # d contient la valeur True 
e = 17 &lt;= 3 # e contient la valeur False 
f = 2 >= 3 # f contient la valeur False</pre>



<ul class="wp-block-list" type="1" start="3">
<li>Les opérateurs logiques : Les opérateurs logiques sont utilisés pour combiner des expressions booléennes. Les opérateurs logiques de base en Python 3 sont les suivants :</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">and # Et logique 
or # Ou logique 
not # Négation logique</pre>



<p>Voici quelques exemples d&rsquo;utilisation des opérateurs logiques :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">a = True and False # a contient la valeur False 
b = True or False # b contient la valeur True 
c = not True # c contient la valeur False</pre>



<p>En Python 3, les expressions sont des combinaisons de variables, de valeurs et d&rsquo;opérateurs qui produisent une valeur unique. Voici quelques exemples d&rsquo;expressions en Python 3 :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">a = 5 + 3 * 2 # a contient la valeur 11 
b = (5 + 3) * 2 # b contient la valeur 16 
c = True and False</pre>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-les-operateurs-et-les-expressions/">Python, les opérateurs et les expressions</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/python-les-operateurs-et-les-expressions/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1561</post-id>	</item>
		<item>
		<title>Raspberry, un robot éviteur d’obstacles</title>
		<link>https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/</link>
					<comments>https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Thu, 07 May 2020 17:00:00 +0000</pubDate>
				<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[capteur]]></category>
		<category><![CDATA[HC-SR04]]></category>
		<category><![CDATA[obstacle]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[raspberry]]></category>
		<category><![CDATA[robot]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=134</guid>

					<description><![CDATA[<p>Réalisation d'un robot éviteur d'obstacle à base de Raspberry Pi et d'un capteur à ultra-son HC-SR04, accessible pour les débutants.</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/">Raspberry, un robot éviteur d’obstacles</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Voici un grand classique lors de l&rsquo;apprentissage de la robotique que ce soit sur <a rel="noreferrer noopener" href="https://programmation.surleweb-france.fr/category/programmation/arduino/" target="_blank">Arduino </a>que sur <a rel="noreferrer noopener" href="https://programmation.surleweb-france.fr/category/programmation/raspberry/" target="_blank">Raspberry</a>. Après avoir vu <a rel="noreferrer noopener" href="https://programmation.surleweb-france.fr/robot-suiveur-de-ligne-version-arduino/" target="_blank">un robot suiveur de ligne</a> à base d&rsquo;Arduino. Voici un robot éviteur d&rsquo;obstacle.</p>



<p>Il s&rsquo;agit d&rsquo;un projet que tu pourras facilement mener à terme même avec un niveau débutant.</p>



<h2 class="wp-block-heading">Rôle du robot éviteur d&rsquo;obstacle</h2>



<p>Le principe de ce robot est simple: éviter les obstacles. Pour cela, on va utiliser un capteur à ultra-sons <a rel="noreferrer noopener" href="https://raspberry-lab.fr/Composants/Mesure-de-distance-avec-HC-SR04-Raspberry-Francais/" target="_blank">HC-SR04</a>, très couramment utilisé grâce à un prix accessible.</p>



<p>Lorsqu&rsquo;un obstacle sera à moins de 20 cm, le robot tournera et continuera à avancer si le champ est libre.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="400" height="321" src="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/P1230713.jpg?resize=400%2C321&#038;ssl=1" alt="" class="wp-image-196" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/P1230713.jpg?w=400&amp;ssl=1 400w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/P1230713.jpg?resize=300%2C241&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/P1230713.jpg?resize=150%2C120&amp;ssl=1 150w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure></div>



<p>Voici un exemple de robot éviteur :</p>



<figure class="wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Robot Raspberry exécutant un algorithme d&#039;évitement d&#039;obstacle plus évolué (V3)" width="900" height="506" src="https://www.youtube.com/embed/2Qf3TnlQzeo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<p>Et une autre vidéo avec un robot un peu plus évoluer :</p>



<figure class="wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Robot éviteur d&#039;obstacle - L3 EEA - UJF - Grenoble" width="900" height="506" src="https://www.youtube.com/embed/vBo0QnUua-c?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Matériels nécessaires</h2>



<p>Pour la réalisation de ce robot, tu vas avoir besoin :</p>



<ul class="wp-block-list"><li>1 Raspberry Pi 4 (<a href="https://amzn.to/2KUhR9v" target="_blank" rel="noreferrer noopener">Amazon</a>) ou Pi 3 (<a href="https://amzn.to/3c0CSLx" target="_blank" rel="noreferrer noopener">Amazon</a>), voir des modèles en-dessous.</li><li>1 chassis avec deux moteurs et un boitier batterie, voir le lien <a rel="noreferrer noopener" href="https://amzn.to/3bY6toR" target="_blank">Amazon</a>.</li><li>1 module L298N pour le contrôle des moteurs et ne pas grillé ta carte Arduino, vers le lien <a rel="noreferrer noopener" href="https://amzn.to/2Sslesh" target="_blank">Amazon</a>.</li><li>différents fils pour la connexion, voir le lien <a rel="noreferrer noopener" href="https://amzn.to/2WjwTe7" target="_blank">Amazon</a>.</li><li>1 capteur à ultra-sons HC-SR04, voir le lien <a rel="noreferrer noopener" href="https://amzn.to/2WpmT3j" target="_blank">Amazon</a>.</li><li>1 planche à pain (pas de boulanger) mais pour le branchement du capteur qui te sera toujours utile, pour ma part, j&rsquo;en ai plusieurs de différentes tailles, voir le lien <a rel="noreferrer noopener" href="https://amzn.to/2VYQAci" target="_blank">Amazon</a>.</li></ul>



<p>Avec tout cela, tu devrais avoir ce qu&rsquo;il te faut. Si tu es amené à faire à faire d&rsquo;autres projets, je t&rsquo;invite à éviter les petits lots. Les liens Amazon me permettent de gagner quelques euros dans le mois (pas plus) qui me paie mon nom de domaine et l&rsquo;hébergement du site.</p>



<h2 class="wp-block-heading">Montage du robot éviteur d&rsquo;obstacles</h2>



<p>Afin de réaliser ce robot, tu vas devoir assembler les différents éléments.</p>



<h3 class="wp-block-heading">Les moteurs</h3>



<p>Il s&rsquo;agit de la partie la plus importante de cet article. En effet, vous <strong>ne devez surtout pas connecter les moteurs directement sur le Raspberry</strong> au risque de détruire votre jouet favoris. L&rsquo;intensité demandée par les moteurs est bien supérieurs à celle que le Pi peut fournir.</p>



<p>Tu passeras donc par le module L298N dont vous pouvez suivre <a rel="noreferrer noopener" href="https://arduino103.blogspot.com/2014/06/utiliser-un-pont-h-l298-avec-raspberry.html" target="_blank">ce lien</a> pour en apprendre plus.</p>



<p>Pour ce qui est du câblage (le schéma provient de l&rsquo;excellent site dont le lien est en bas de l&rsquo;article) :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="400" height="231" src="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/circuit-robot-Raspberry-Pi.png?resize=400%2C231&#038;ssl=1" alt="" class="wp-image-203" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/circuit-robot-Raspberry-Pi.png?w=400&amp;ssl=1 400w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/circuit-robot-Raspberry-Pi.png?resize=300%2C173&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/circuit-robot-Raspberry-Pi.png?resize=150%2C87&amp;ssl=1 150w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure></div>



<p>Pour ce qui est du câblage :</p>



<ul class="wp-block-list"><li>Broche +12 du L298N: Borne positive de l&rsquo;alimentation des moteurs (12 V est un maximum).</li><li>Broche GND du L298N: Borne négative de l&rsquo;alimentation des moteurs et une broche GND du Raspberry Pi.</li><li>OUT1 et OUT2 du L298N branchées à un des moteurs.</li><li>OUT3 et OUT4 du L298N branchées à l&rsquo;autre moteur</li><li>ENA&nbsp;du L298N&nbsp;broche BCM 25 (BOARD 22) du Raspberry Pi</li><li>IN1&nbsp;du L298N&nbsp; broche BCM 23 (BOARD 16) du Raspberry Pi</li><li>IN2&nbsp;du L298N&nbsp;broche BCM 12 (BOARD&nbsp;18) du Raspberry Pi</li><li>IN3&nbsp;du L298N&nbsp;broche BCM 10 (BOARD&nbsp;19) du Raspberry Pi</li><li>IN4&nbsp;du L298N&nbsp;broche BCM 9 (BOARD&nbsp;21) du Raspberry Pi</li><li>ENB&nbsp;du L298N&nbsp;broche BCM 11 (BOARD&nbsp;23) du Raspberry Pi</li></ul>



<h3 class="wp-block-heading">Le capteur à ultra-sons HC-SR04</h3>



<p>Aucune difficulté du côté du capteur, seulement une réelle attention à porter sur la connexion du capteur sur le Raspberry. Le Raspberry accepte des tensions de 3,3V en entrée (<a rel="noreferrer noopener" href="http://www.nagashur.com/wiki/doku.php?id=raspberry_pi:gpio_entree" target="_blank">information en conclusion de cet article</a>), le capteur fournira une tension de 5V, un diviseur de tension est mis en place pour ne pas abîmé le Pi :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img data-recalc-dims="1" loading="lazy" decoding="async" width="429" height="139" src="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/diviseur-de-tension.png?resize=429%2C139&#038;ssl=1" alt="" class="wp-image-205" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/diviseur-de-tension.png?w=429&amp;ssl=1 429w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/diviseur-de-tension.png?resize=300%2C97&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2020/05/diviseur-de-tension.png?resize=150%2C49&amp;ssl=1 150w" sizes="auto, (max-width: 429px) 100vw, 429px" /></figure></div>



<p>Pour ce qui est du câblage :</p>



<ul class="wp-block-list"><li>La broche Vcc du HC-SR04 est branchée à une sortie 5 V (broche numéro 2) du Raspberry Pi.</li><li>La broche Trig du HC-SR04 est branchée à la broche 8 (GPIO 14) du Raspberry Pi&nbsp;</li><li>La broche Echo du HC-SR04 est branchée à la broche 10 (GPIO 15) du Raspberry Pi, par l&rsquo;entremise du diviseur de tension schématisé ci-dessus.</li><li>La broche Gnd du HC-SR04 est branchée à une des broches Gnd du Raspberry Pi (la broche 25, par exemple)</li></ul>



<h3 class="wp-block-heading">Alimentation</h3>



<p>Pour ce qui est l&rsquo;alimentation, différencies bien l&rsquo;alimentation du Raspberry, tu peux choisir une batterie externe comme celle-ci sur <a rel="noreferrer noopener" href="https://amzn.to/2KVGxhP" target="_blank">Amazon</a>. L&rsquo;avantage de celle-ci est que l&rsquo;adaptateur fera qu&rsquo;elle sera compatible pour le Pi 3 et Pi 4.</p>



<p>Pour les moteurs, si tu as opté pour le chassis que je t&rsquo;ai proposé au-dessus, le porte-batterie fera l&rsquo;affaire (en fonction de la tension nécessaire pour les moteurs.</p>



<h2 class="wp-block-heading">Programmation Raspberry</h2>



<p>Le programme permettra au Pi d&rsquo;avancer tant qu&rsquo;il n&rsquo;y a pas d&rsquo;obstacle à moins de 20 cm, la mesure est faite par le capteur (voir les détails d&rsquo;utilisation du capteur sur <a rel="noreferrer noopener" href="https://raspberry-lab.fr/Composants/Mesure-de-distance-avec-HC-SR04-Raspberry-Francais/" target="_blank">cette page</a>).</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#!/usr/bin/env python
# -*- coding: latin-1 -*-

'''
Robot éviteur d'obstacle basé sur le Raspberry Pi et un HC-SR04.

Pour plus d'infos:

https://electroniqueamateur.blogspot.com/2020/04/robot-eviteur-dobstacles-version.html

'''

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

# définition des broches GPIO

Moteur1A = 16      ## premiere sortie du premier moteur, pin 16
Moteur1B = 18      ## deuxieme sortie de premier moteur, pin 18
Moteur1E = 22      ## enable du premier moteur, pin 22

Moteur2A = 19      ## premiere sortie du deuxieme moteur, pin 19
Moteur2B = 21      ## deuxieme sortie de deuxieme moteur, pin 21
Moteur2E = 23      ## enable du deuxieme moteur, pin 23

trigPin = 8        ## entrée trig du HC-SR04 branchée à la broche 8 (GPIO 14) du Raspi
echoPin = 10       ## sortie echo du HC-SR04 branchée à la broche 10 (GPIO 15) du Raspi

# 6 broches sont des sorties
GPIO.setup(Moteur1A,GPIO.OUT)  
GPIO.setup(Moteur1B,GPIO.OUT)
GPIO.setup(Moteur1E,GPIO.OUT)
GPIO.setup(Moteur2A,GPIO.OUT) 
GPIO.setup(Moteur2B,GPIO.OUT)
GPIO.setup(Moteur2E,GPIO.OUT)
GPIO.setup(trigPin,GPIO.OUT)

# 1 broche est une entrée
GPIO.setup(echoPin,GPIO.IN)
GPIO.output(trigPin, False)

while True:

# vérifier si un obstacle est en vue

    GPIO.output(trigPin, True)     ## on envoie une brève impulsion sur la pin Trig
    time.sleep(0.00001)
    GPIO.output(trigPin, False)

    while GPIO.input(echoPin)==0:  ## émission de l'ultrason
        debutImpulsion = time.time()

    while GPIO.input(echoPin)==1:   ## retour de l'écho
        finImpulsion = time.time()

    distance = (finImpulsion - debutImpulsion) * 340 * 100 / 2  ## car vitesse du son = 340 m/s

    if distance > 20:
        # pas d'obstacle: on avance
        GPIO.output(Moteur1A,GPIO.HIGH)
        GPIO.output(Moteur1B,GPIO.LOW)
        GPIO.output(Moteur1E,GPIO.HIGH)
        GPIO.output(Moteur2A,GPIO.HIGH)
        GPIO.output(Moteur2B,GPIO.LOW)
        GPIO.output(Moteur2E,GPIO.HIGH)
    else:
        # obstacle détecté: on tourne sur place
        GPIO.output(Moteur1A,GPIO.LOW)
        GPIO.output(Moteur1B,GPIO.HIGH)
        GPIO.output(Moteur1E,GPIO.HIGH)
        GPIO.output(Moteur2A,GPIO.HIGH)
        GPIO.output(Moteur2B,GPIO.LOW)
        GPIO.output(Moteur2E,GPIO.HIGH)

# on attend un peu avant de vérifier à nouveau
    time.sleep(.5)</pre>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Vous voici avec un beau robot qui évitera les obstacles, bien entendu ce projet a un but pédagogique, il te permettra d&rsquo;appréhender la robotique sur le Raspberry.</p>



<p>Il faudra faire attention aux tensions du Raspberry qui en entrée accepte 3.3V et pas 5V au risque de détruire votre Pi.</p>



<p class="has-small-font-size">Ce tutoriel a été vu pour la première fois sur <a rel="noreferrer noopener" href="http://electroniqueamateur.blogspot.com/2020/04/robot-eviteur-dobstacles-version.html" target="_blank">electroniqueamateur.blogspot.com</a>.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/">Raspberry, un robot éviteur d’obstacles</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/raspberry-robot-eviteur-obstacles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">134</post-id>	</item>
	</channel>
</rss>
