<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Illusions Haptiques | Antoine Weill--Duflos</title>
    <link>https://antoine.weill-duflos.fr/fr/tag/illusions-haptiques/</link>
      <atom:link href="https://antoine.weill-duflos.fr/fr/tag/illusions-haptiques/index.xml" rel="self" type="application/rss+xml" />
    <description>Illusions Haptiques</description>
    <generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>fr-fr</language><lastBuildDate>Sat, 30 May 2026 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://antoine.weill-duflos.fr/media/icon_hu_d686267daab28486.png</url>
      <title>Illusions Haptiques</title>
      <link>https://antoine.weill-duflos.fr/fr/tag/illusions-haptiques/</link>
    </image>
    
    <item>
      <title>Pierre qui roule de poche</title>
      <link>https://antoine.weill-duflos.fr/fr/project/esp32-rolling-stone/</link>
      <pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate>
      <guid>https://antoine.weill-duflos.fr/fr/project/esp32-rolling-stone/</guid>
      <description>&lt;p&gt;La Pierre qui roule de poche est un petit boîtier à tenir en main qui vous laisse &lt;strong&gt;sentir une bille virtuelle rouler et glisser dans un tube qui n&amp;rsquo;existe pas physiquement&lt;/strong&gt;. Vous l&amp;rsquo;inclinez, et une bille synthétisée court d&amp;rsquo;un bout à l&amp;rsquo;autre, cogne la paroi, et repart en arrière. Rien ne bouge à l&amp;rsquo;intérieur. La sensation est générée entièrement dans le firmware d&amp;rsquo;un ESP32-C6, à partir de l&amp;rsquo;inclinaison mesurée par une centrale BNO085.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est une reproduction d&amp;rsquo;une illusion haptique décrite par Hsin-Yun Yao et Vincent Hayward dans &lt;em&gt;An Experiment on Length Perception with a Virtual Rolling Stone&lt;/em&gt; (Eurohaptics 2006), où les gens arrivaient à estimer la longueur d&amp;rsquo;un tube virtuel uniquement à partir de la sensation de roulement, apparemment en utilisant un modèle interne de la gravité. Le projet est né au &lt;a href=&#34;https://eurohaptics.org/events/workshop-in-memoriam-of-vincent-hayward/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;colloque tenu en mémoire de Vincent Hayward&lt;/a&gt;, où il est apparu qu&amp;rsquo;il ne restait pour ainsi dire qu&amp;rsquo;un seul exemplaire en état de marche de la démonstration d&amp;rsquo;origine, qui méritait d&amp;rsquo;être reconstruit sur du matériel moderne et minimal. Cela appartient à la même famille que les &lt;a href=&#34;../3dprintedillusions/&#34;&gt;illusions haptiques imprimées en 3D&lt;/a&gt; du laboratoire et la question plus large de &lt;a href=&#34;../../post/haptic-illusions/&#34;&gt;pourquoi le toucher n&amp;rsquo;a pas de musée des illusions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Une boucle physique à 1 kHz simule trois modes (roulement comme une sphère pleine, glissement avec frottement de Coulomb, et une boîte 3D de trois billes de masse différente), et le mouvement de la bille est restitué sous forme de vibration en temps réel. Le même signal haptique signé pilote deux étages de sortie complètement différents, sélectionnés par un seul drapeau de compilation :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Chemin audio I2S&lt;/strong&gt; : une Adafruit ESP32-C6 Feather plus un amplificateur MAX98357A pilotant un actionneur TITAN Haptics, en diffusant une table d&amp;rsquo;onde indexée par position à 22050 Hz.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chemin pont en H&lt;/strong&gt; : une carte Microbots CodeCell C6 Drive (centrale et pont en H intégrés) pilotant un moteur directement par PWM, sans aucun amplificateur. C&amp;rsquo;est le montage qui a réellement été assemblé en une petite unité à tenir en main ; le chemin I2S a été validé sur l&amp;rsquo;établi.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Une application compagnon en Python se connecte en USB série ou en BLE pour visualiser et régler la simulation en direct.&lt;/p&gt;
&lt;p&gt;Une direction que je veux explorer ensuite : restituer un impact &lt;em&gt;localisable&lt;/em&gt; le long du tube, pour qu&amp;rsquo;on sente où la bille virtuelle frappe, en s&amp;rsquo;appuyant sur &lt;a href=&#34;https://cim.mcgill.ca/~haptic/pub/LM-ET-AL-NAT-18.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Miller et coll., &lt;em&gt;Sensing with tools extends somatosensory processing beyond the body&lt;/em&gt;, Nature 2018&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est un projet personnel en cours, pas un produit. L&amp;rsquo;histoire complète est documentée dans deux articles de construction :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;../../post/esp32-rolling-stone/&#34;&gt;Partie 1 : l&amp;rsquo;illusion, la physique, et le montage I2S&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;../../post/esp32-rolling-stone-hbridge/&#34;&gt;Partie 2 : piloter la bille avec un pont en H&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le firmware et l&amp;rsquo;application compagnon sont open source sur &lt;a href=&#34;https://github.com/Leicas/esp32-ball&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;github.com/Leicas/esp32-ball&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Une pierre qui roule de poche, partie 1 : une illusion haptique de 2006, un ESP32-C6 et un ampli I2S</title>
      <link>https://antoine.weill-duflos.fr/fr/post/esp32-rolling-stone/</link>
      <pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate>
      <guid>https://antoine.weill-duflos.fr/fr/post/esp32-rolling-stone/</guid>
      <description>&lt;p&gt;















&lt;figure  id=&#34;figure-la-pièce-qui-rend-ce-montage-crédible--des-actionneurs-titan-haptics-ce-premier-montage-restitue-la-bille-virtuelle-en-audio-et-pilote-lun-deux-plus-de-détails-sur-eux-et-sur-ashley-huffman-qui-me-les-a-fait-parvenir-plus-bas&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Un boîtier en plastique transparent tenu dans une main, avec quatre petits actionneurs cylindriques noirs TITAN Haptics logés dans des découpes de mousse, chacun avec de fins fils rouge et noir&#34; srcset=&#34;
               /fr/post/esp32-rolling-stone/featured_hu_5845204be01c0e90.webp 400w,
               /fr/post/esp32-rolling-stone/featured_hu_d1077f3167290f3a.webp 760w,
               /fr/post/esp32-rolling-stone/featured_hu_cb24e0e4817501a0.webp 1200w&#34;
               src=&#34;https://antoine.weill-duflos.fr/fr/post/esp32-rolling-stone/featured_hu_5845204be01c0e90.webp&#34;
               width=&#34;573&#34;
               height=&#34;760&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      La pièce qui rend ce montage crédible : des actionneurs TITAN Haptics. Ce premier montage restitue la bille virtuelle en audio et pilote l&amp;rsquo;un d&amp;rsquo;eux. Plus de détails sur eux, et sur Ashley Huffman qui me les a fait parvenir, plus bas.
    &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Celui-là m&amp;rsquo;accompagne depuis plusieurs années, pas depuis un week-end. L&amp;rsquo;idée est simple à énoncer et étonnamment difficile à arrêter de peaufiner : construire un petit objet à tenir en main qui vous laisse &lt;strong&gt;sentir une bille rouler et glisser dans un tube qui n&amp;rsquo;existe pas physiquement&lt;/strong&gt;. Vous inclinez le boîtier, et une bille virtuelle court d&amp;rsquo;un bout à l&amp;rsquo;autre, cogne la paroi, repart en arrière. Aucune masse mobile à l&amp;rsquo;intérieur. Toute la sensation est synthétisée.&lt;/p&gt;
&lt;p&gt;Tout a commencé au &lt;a href=&#34;https://eurohaptics.org/events/workshop-in-memoriam-of-vincent-hayward/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;colloque tenu en mémoire de Vincent Hayward&lt;/a&gt;, l&amp;rsquo;un des deux auteurs de l&amp;rsquo;article qui sert de base à ce projet. Assis là, j&amp;rsquo;ai réalisé que de cette belle démonstration il ne restait, autant que je sache, qu&amp;rsquo;un seul exemplaire en état de marche dans le monde. Ça m&amp;rsquo;a dérangé. J&amp;rsquo;étais à peu près sûr de connaître un bon actionneur capable aussi de produire un impact net, et qu&amp;rsquo;un matériel très minimal suffirait à ramener l&amp;rsquo;illusion à la vie. Ce qui me manquait, pendant des années, c&amp;rsquo;était le temps : entre un travail à plein temps et les devoirs de parent, la construction ne se faisait jamais. Ce qui a fini par tout débloquer, c&amp;rsquo;est d&amp;rsquo;utiliser Claude Code pour avancer vite dans les petites fenêtres dont je dispose, et c&amp;rsquo;est comme ça que le firmware, les deux chemins matériels et l&amp;rsquo;application compagnon ont vraiment pris forme.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est toujours en cours. J&amp;rsquo;ai deux chemins matériels qui fonctionnent dans le firmware, la physique continue d&amp;rsquo;être affinée, et le boîtier est petit, destiné à rester un objet à tenir en main. Cet article est la partie 1 : l&amp;rsquo;idée, la physique, le firmware, et le premier des deux montages, celui qui restitue la bille sous forme de &lt;strong&gt;son via un amplificateur I2S&lt;/strong&gt;. Une petite note d&amp;rsquo;honnêteté d&amp;rsquo;entrée : ce montage audio, je l&amp;rsquo;ai validé sur l&amp;rsquo;établi, les cartes branchées en vrac, mais je ne l&amp;rsquo;ai jamais refermé dans un boîtier fini. L&amp;rsquo;unité que j&amp;rsquo;ai réellement assemblée et que je trimballe, c&amp;rsquo;est le montage à pont en H de la &lt;a href=&#34;../esp32-rolling-stone-hbridge/&#34;&gt;partie 2&lt;/a&gt;, qui pilote un moteur directement. Les deux chemins font tourner exactement la même simulation.&lt;/p&gt;
&lt;h2 id=&#34;lillusion-à-la-base-de-tout-ça&#34;&gt;L&amp;rsquo;illusion à la base de tout ça&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;ensemble est une reproduction d&amp;rsquo;un joli petit article : Hsin-Yun Yao et Vincent Hayward, &lt;em&gt;An Experiment on Length Perception with a Virtual Rolling Stone&lt;/em&gt;, Eurohaptics 2006, pages 325 à 330. Le &lt;a href=&#34;https://cim.mcgill.ca/~haptic/pub/HY-VH-EH-06.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;PDF est hébergé sur la page du laboratoire d&amp;rsquo;haptique de McGill&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le dispositif décrit dans l&amp;rsquo;article est élégant. On donne aux gens un tube à tenir en main avec un seul actionneur vibrotactile à l&amp;rsquo;intérieur, et on synthétise la sensation d&amp;rsquo;une bille roulant le long de l&amp;rsquo;intérieur du tube à mesure qu&amp;rsquo;on l&amp;rsquo;incline. Pas de vraie bille. L&amp;rsquo;actionneur joue une vibration dont la hauteur suit la vitesse de la bille virtuelle, plus un transitoire net à chaque fois que la bille touche une paroi de bout. Ensuite on demande : les gens peuvent-ils estimer la &lt;strong&gt;longueur&lt;/strong&gt; du tube virtuel uniquement à partir de cette sensation ? La réponse est oui, mieux que le hasard, et le plus intéressant est que les gens semblent utiliser un modèle interne de la &lt;strong&gt;gravité&lt;/strong&gt; pour le faire. Ils ne chronomètrent pas un son, ils font mentalement rouler une bille sous gravité et lisent jusqu&amp;rsquo;où elle est allée.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est une illusion haptique au sens le plus pur : la perception de quelque chose de physique (une bille, un tube, une longueur) créée entièrement à partir d&amp;rsquo;un signal de vibration à une dimension. Cela se place juste à côté d&amp;rsquo;un thème dont j&amp;rsquo;ai déjà parlé, à savoir &lt;a href=&#34;../haptic-illusions/&#34;&gt;qu&amp;rsquo;on a des musées pour les illusions d&amp;rsquo;optique mais presque rien pour le toucher&lt;/a&gt;, et du projet connexe d&amp;rsquo;&lt;a href=&#34;../../project/3dprintedillusions/&#34;&gt;illusions haptiques imprimées en 3D&lt;/a&gt; de mes années de labo, dont tout l&amp;rsquo;intérêt était qu&amp;rsquo;on peut fabriquer une illusion haptique pour pas cher et la mettre dans la main de quelqu&amp;rsquo;un. Ce projet est le cousin motorisé et programmable de ceux-là : au lieu d&amp;rsquo;une géométrie astucieuse, l&amp;rsquo;illusion vit dans le firmware.&lt;/p&gt;
&lt;h2 id=&#34;ce-que-fait-le-boîtier&#34;&gt;Ce que fait le boîtier&lt;/h2&gt;
&lt;p&gt;Le matériel est volontairement minimal :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un &lt;strong&gt;ESP32-C6&lt;/strong&gt; (RISC-V, 160 MHz, un seul cœur). Pas cher, BLE intégré, et largement assez rapide.&lt;/li&gt;
&lt;li&gt;Une centrale inertielle &lt;strong&gt;BNO085&lt;/strong&gt; 9 axes pour mesurer l&amp;rsquo;inclinaison du boîtier.&lt;/li&gt;
&lt;li&gt;Une sortie haptique. C&amp;rsquo;est là que les deux montages divergent : un &lt;strong&gt;amplificateur audio I2S pilotant un actionneur TITAN Haptics&lt;/strong&gt; (cet article), ou un &lt;strong&gt;pont en H pilotant un moteur&lt;/strong&gt; (&lt;a href=&#34;../esp32-rolling-stone-hbridge/&#34;&gt;partie 2&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le firmware lit l&amp;rsquo;inclinaison, fait tourner une petite simulation physique de la bille, et transforme le mouvement de la bille en vibration en temps réel. Inclinez le boîtier et la bille accélère vers le bas. Remettez-le à plat et la bille roule en roue libre, ralentie par le frottement. Inclinez de l&amp;rsquo;autre côté et la bille repart, court vers la paroi opposée, et la cogne avec un choc dont l&amp;rsquo;intensité dépend de sa vitesse.&lt;/p&gt;
&lt;p&gt;Il y a en fait trois modes de simulation dans le firmware aujourd&amp;rsquo;hui, sélectionnables à l&amp;rsquo;exécution :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Roulement&lt;/strong&gt; : la bille roule comme une sphère pleine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Glissement&lt;/strong&gt; : la bille glisse avec un frottement de Coulomb, donc elle peut rester collée sur les pentes douces.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Billes&lt;/strong&gt; : une boîte 3D avec trois billes de masse et de taille différentes qui rebondissent les unes sur les autres et sur les parois. Celui-là est arrivé pendant que je jouais, et il est vraiment amusant.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;la-physique-en-bref&#34;&gt;La physique, en bref&lt;/h2&gt;
&lt;p&gt;Les modes roulement et glissement sont à une dimension. La seule entrée venant du monde réel est &lt;code&gt;sin(α)&lt;/code&gt;, le sinus de l&amp;rsquo;angle d&amp;rsquo;inclinaison du tube, que je lis directement sur le vecteur gravité de la centrale. À partir de là, c&amp;rsquo;est de la mécanique de manuel.&lt;/p&gt;
&lt;p&gt;Pour une sphère pleine qui roule sans glisser, le moment d&amp;rsquo;inertie vole une partie de l&amp;rsquo;accélération, donc :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ẍ = (g / 1,4) · sin(α)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Le &lt;code&gt;1,4&lt;/code&gt; est le facteur &lt;code&gt;1 + 2/5&lt;/code&gt; d&amp;rsquo;une sphère pleine. Dans le firmware cela se réduit à une seule constante &lt;code&gt;G_FACTOR = 7,0&lt;/code&gt; m/s².&lt;/p&gt;
&lt;p&gt;Pour le mode glissement j&amp;rsquo;ajoute le frottement de Coulomb, avec une zone morte où la pente est trop douce pour vaincre le frottement statique et la bille reste simplement immobile :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ẍ = g · sin(α) − g · µ · sgn(sin(α)) · cos(α)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;J&amp;rsquo;intègre ça avec un pas trapézoïdal à 1 kHz, en gardant l&amp;rsquo;accélération précédente pour que l&amp;rsquo;intégration reste stable. La bille est contrainte dans &lt;code&gt;[0, cavité]&lt;/code&gt;. Quand elle atteint une paroi en se déplaçant encore vers elle, c&amp;rsquo;est un &lt;strong&gt;impact&lt;/strong&gt; : j&amp;rsquo;enregistre la vitesse, je fais rebondir la vélocité avec un coefficient de restitution de 0,5, et je signale l&amp;rsquo;événement à la couche haptique. Un petit bout d&amp;rsquo;état de détection de front empêche l&amp;rsquo;impact de se redéclencher tant que la bille repose contre une paroi sous la gravité, ce qui produirait sinon un bourdonnement désagréable.&lt;/p&gt;
&lt;p&gt;La boîte à billes est le même esprit en 3D : chaque bille reçoit l&amp;rsquo;accélération de la boîte et la gravité dans le référentiel non inertiel du boîtier, entre en collision avec les six parois, et entre en collision avec les autres billes avec une vraie impulsion à masses inégales le long de la normale de contact. Le signal haptique est piloté par la plus grande impulsion de collision à chaque pas, donc une lourde bille d&amp;rsquo;acier qui claque la paroi ne se sent pas comme la légère bille en plastique.&lt;/p&gt;
&lt;h2 id=&#34;la-forme-du-firmware&#34;&gt;La forme du firmware&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;ESP32-C6 n&amp;rsquo;a qu&amp;rsquo;un cœur, donc je m&amp;rsquo;appuie sur FreeRTOS pour garder un timing propre. Trois tâches :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;taskIMU&lt;/code&gt;&lt;/strong&gt; (priorité 3) lit le BNO085 aussi vite que l&amp;rsquo;I2C le permet et met à jour un ensemble de variables globales &lt;code&gt;volatile&lt;/code&gt;. L&amp;rsquo;I2C est la partie lente, donc elle a sa propre tâche et est découplée du reste.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;taskPhysics&lt;/code&gt;&lt;/strong&gt; (priorité 5) tourne à exactement 1 kHz via &lt;code&gt;vTaskDelayUntil&lt;/code&gt;. À chaque pas elle récupère la dernière inclinaison, fait avancer la physique, appelle la couche haptique, et publie un instantané de télémétrie.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;taskComms&lt;/code&gt;&lt;/strong&gt; (priorité 1) gère les commandes série et BLE et diffuse la télémétrie à environ 58 Hz, avec un état d&amp;rsquo;une ligne une fois par seconde.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un détail petit mais nécessaire : sur le C6 la tâche Arduino &lt;code&gt;loopTask&lt;/code&gt; est surveillée par le chien de garde, et mon &lt;code&gt;loop()&lt;/code&gt; se contente de se garer sur &lt;code&gt;vTaskDelay(portMAX_DELAY)&lt;/code&gt; à l&amp;rsquo;infini. Donc je retire la tâche loop du chien de garde dans &lt;code&gt;setup()&lt;/code&gt;, sinon la carte se réinitialise toutes les dix secondes. La vie en embarqué.&lt;/p&gt;
&lt;p&gt;Un seul drapeau de compilation &lt;code&gt;#define HBRIDGE&lt;/code&gt;, défini par environnement dans &lt;code&gt;platformio.ini&lt;/code&gt;, bascule tout le code spécifique au matériel. La physique est identique octet pour octet entre les deux montages. C&amp;rsquo;était un objectif délibéré : je voulais la &lt;strong&gt;même bille&lt;/strong&gt; dans les deux boîtiers, pour que toute différence ressentie vienne de l&amp;rsquo;étage de sortie, pas de la simulation.&lt;/p&gt;
&lt;h2 id=&#34;montage-un--restituer-la-bille-en-audio&#34;&gt;Montage un : restituer la bille en audio&lt;/h2&gt;
&lt;p&gt;Le premier montage traite la bille comme un &lt;strong&gt;son&lt;/strong&gt;, ce qui se révèle un choix très naturel pour l&amp;rsquo;haptique. Un actionneur à bobine mobile et un petit haut-parleur sont mécaniquement la même bête : une bobine qui pousse une masse. Si vous savez synthétiser un son de roulement crédible, vous savez le faire sentir.&lt;/p&gt;
&lt;p&gt;















&lt;figure  id=&#34;figure-le-montage-i2s-avant-assemblage-la-carte-bleue-est-un-amplificateur-class-d-i2s-adafruit-max98357a-la-carte-noire-est-une-adafruit-esp32-c6-feather-la-sortie-de-lampli-va-vers-lactionneur-titan-haptics-au-lieu-dun-haut-parleur-cest-aussi-loin-que-ce-montage-est-allé-physiquement--validé-sur-létabli-jamais-mis-en-boîtier&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Sur un bureau en bois, un petit ampli I2S Adafruit MAX98357A bleu avec un bornier à vis vert à gauche, et une carte Adafruit ESP32-C6 Feather noire plus grande à droite, avec deux barrettes de connecteurs au-dessus&#34; srcset=&#34;
               /fr/post/esp32-rolling-stone/feather-max98357a_hu_8cec9694ee62d2f.webp 400w,
               /fr/post/esp32-rolling-stone/feather-max98357a_hu_3144dfb912ec271.webp 760w,
               /fr/post/esp32-rolling-stone/feather-max98357a_hu_97b93c80f4c067db.webp 1200w&#34;
               src=&#34;https://antoine.weill-duflos.fr/fr/post/esp32-rolling-stone/feather-max98357a_hu_8cec9694ee62d2f.webp&#34;
               width=&#34;760&#34;
               height=&#34;573&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      Le montage I2S, avant assemblage. La carte bleue est un amplificateur Class-D I2S Adafruit MAX98357A. La carte noire est une Adafruit ESP32-C6 Feather. La sortie de l&amp;rsquo;ampli va vers l&amp;rsquo;actionneur TITAN Haptics au lieu d&amp;rsquo;un haut-parleur. C&amp;rsquo;est aussi loin que ce montage est allé physiquement : validé sur l&amp;rsquo;établi, jamais mis en boîtier.
    &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;La carte est une &lt;strong&gt;Adafruit ESP32-C6 Feather&lt;/strong&gt; et l&amp;rsquo;amplificateur est un &lt;strong&gt;Adafruit MAX98357A&lt;/strong&gt;, un ampli Class-D I2S. Le BNO085 se branche sur le connecteur STEMMA QT, donc aucune soudure pour le capteur. Les trois broches I2S de l&amp;rsquo;ampli (horloge de bit, sélection de mot, données) sortent des broches du connecteur SPI de la Feather, et la sortie, qui irait normalement vers un haut-parleur, va plutôt vers l&amp;rsquo;actionneur.&lt;/p&gt;
&lt;h3 id=&#34;nomenclature-montage-i2s&#34;&gt;Nomenclature (montage I2S)&lt;/h3&gt;
&lt;p&gt;Tout ici est du standard du commerce. Les prix sont approximatifs, début 2026.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Pièce&lt;/th&gt;
          &lt;th&gt;Référence complète&lt;/th&gt;
          &lt;th&gt;Où l&amp;rsquo;acheter&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Carte MCU&lt;/td&gt;
          &lt;td&gt;Adafruit ESP32-C6 Feather, STEMMA QT. Réf. Adafruit 5933, module ESP32-C6-MINI-1&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://www.adafruit.com/product/5933&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;adafruit.com/product/5933&lt;/a&gt;, environ 15 USD. Aussi distribuée par Digikey et Mouser sous Adafruit 5933&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Amplificateur I2S&lt;/td&gt;
          &lt;td&gt;Breakout amplificateur Class-D I2S 3W Adafruit MAX98357A. Réf. Adafruit 3006, puce Analog Devices MAX98357A&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://www.adafruit.com/product/3006&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;adafruit.com/product/3006&lt;/a&gt;, environ 6 USD. La puce nue est MAX98357AETE+T chez Digikey et RS&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Centrale inertielle&lt;/td&gt;
          &lt;td&gt;Adafruit BNO085 9 axes, STEMMA QT. Réf. Adafruit 4754, capteur CEVA Hillcrest BNO085&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://www.adafruit.com/product/4754&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;adafruit.com/product/4754&lt;/a&gt;, environ 20 USD&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Actionneur haptique&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;TITAN Haptics TacHammer Drake LFi&lt;/strong&gt; (la variante optimisée pour l&amp;rsquo;impact de leur actionneur à bobine mobile LMR large bande ; la pièce qui rend l&amp;rsquo;ensemble réellement palpable, voir le coup de chapeau plus bas)&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://titanhaptics.com/drake/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;titanhaptics.com/drake&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Câble STEMMA QT&lt;/td&gt;
          &lt;td&gt;Câble Qwiic / STEMMA QT JST-SH 4 broches, 50 mm. Réf. Adafruit 4399&lt;/td&gt;
          &lt;td&gt;&lt;a href=&#34;https://www.adafruit.com/product/4399&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;adafruit.com/product/4399&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Alimentation&lt;/td&gt;
          &lt;td&gt;LiPo 3,7 V avec connecteur JST-PH 2 broches (la Feather la charge en interne), plus un câble USB-C&lt;/td&gt;
          &lt;td&gt;n&amp;rsquo;importe quel distributeur de LiPo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Boîtier&lt;/td&gt;
          &lt;td&gt;Coque imprimée en 3D, une bande de mousse acoustique, du ruban kapton&lt;/td&gt;
          &lt;td&gt;à fournir soi-même&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;La Feather a la charge LiPo intégrée et un port STEMMA QT, donc la centrale ne demande aucune soudure et le seul câblage est les trois lignes I2S plus l&amp;rsquo;alimentation et la masse vers l&amp;rsquo;amplificateur.&lt;/p&gt;
&lt;h3 id=&#34;synthétiser-le-son-de-roulement&#34;&gt;Synthétiser le son de roulement&lt;/h3&gt;
&lt;p&gt;La vibration de roulement est une &lt;strong&gt;table d&amp;rsquo;onde indexée par position&lt;/strong&gt;. La table est une période d&amp;rsquo;une arche de sinus négative, longue de 30 échantillons, et j&amp;rsquo;y accède avec la position de la bille en millimètres modulo 30. Ça paraît une façon étrange de faire un son, mais elle a une belle propriété : comme la table est indexée par la &lt;em&gt;position&lt;/em&gt;, et non par le temps, la hauteur entendue monte automatiquement avec la vitesse de la bille. Va vite, balaie vite la table, hauteur plus élevée. Ralentis, hauteur plus basse. Ça tombe gratuitement de la géométrie, et ça correspond au comportement « la hauteur suit la vitesse » de l&amp;rsquo;article d&amp;rsquo;origine. L&amp;rsquo;amplitude monte aussi avec la vitesse, et en dessous d&amp;rsquo;un petit seuil de vitesse je la coupe entièrement pour qu&amp;rsquo;une bille au repos soit silencieuse.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;impact est séparé : une courte salve rectangulaire dont l&amp;rsquo;amplitude monte avec la vitesse d&amp;rsquo;impact et dont la durée s&amp;rsquo;étire de 2 ms pour une tape jusqu&amp;rsquo;à 9 ms pour un choc violent.&lt;/p&gt;
&lt;h3 id=&#34;alimenter-li2s-à-exactement-22050-hz-depuis-une-boucle-à-1-khz&#34;&gt;Alimenter l&amp;rsquo;I2S à exactement 22050 Hz depuis une boucle à 1 kHz&lt;/h3&gt;
&lt;p&gt;Voici la partie dont je suis discrètement fier. La physique tourne à 1 kHz, mais l&amp;rsquo;audio doit sortir à 22050 Hz. Cela fait 22,05 échantillons par pas physique, ce qui n&amp;rsquo;est pas un entier. Si j&amp;rsquo;écrivais simplement 22 échantillons à chaque pas, je ferais tourner l&amp;rsquo;audio légèrement lentement (22000 Hz), et la hauteur serait subtilement fausse pour toujours.&lt;/p&gt;
&lt;p&gt;Alors je tiens un accumulateur fractionnaire. À chaque pas j&amp;rsquo;y ajoute 0,05, et j&amp;rsquo;écris 22 échantillons, sauf que chaque fois que l&amp;rsquo;accumulateur dépasse 1,0 j&amp;rsquo;écris 23 échantillons à la place et je soustrais 1,0. Sur 1000 pas cela fait 950 pas de 22 plus 50 pas de 23, soit exactement 22050 échantillons par seconde. La fréquence d&amp;rsquo;échantillonnage à long terme est pile bonne, sans dérive, et l&amp;rsquo;appel &lt;code&gt;i2s_channel_write&lt;/code&gt; vers le tampon DMA cadence naturellement la boucle. Pas cher, exact, et ça marche.&lt;/p&gt;
&lt;p&gt;Le montage Feather a aussi une NeoPixel qui sert de voyant d&amp;rsquo;état : blanc faible au démarrage, rouge bloqué si la centrale n&amp;rsquo;est pas trouvée, vert une fois que ça tourne.&lt;/p&gt;
&lt;h2 id=&#34;lactionneur-titan-haptics-ou-ce-qui-a-rendu-ce-projet-si-simple-à-construire&#34;&gt;L&amp;rsquo;actionneur TITAN Haptics, ou ce qui a rendu ce projet si simple à construire&lt;/h2&gt;
&lt;p&gt;Un haut-parleur vous laisse &lt;em&gt;entendre&lt;/em&gt; la bille, mais pour la &lt;em&gt;sentir&lt;/em&gt; correctement il faut un actionneur haptique conçu pour ça. C&amp;rsquo;est précisément là que le travail d&amp;rsquo;origine était difficile : en 2006, Yao et Hayward ont dû &lt;strong&gt;fabriquer leur propre actionneur&lt;/strong&gt; pour obtenir une vibration avec un impact assez net pour que l&amp;rsquo;illusion fonctionne. Vingt ans plus tard, je n&amp;rsquo;ai pas eu à le faire. J&amp;rsquo;ai contacté &lt;strong&gt;TITAN Haptics&lt;/strong&gt;, et il se trouve qu&amp;rsquo;ils fabriquent exactement ce qu&amp;rsquo;il faut : le &lt;strong&gt;TacHammer Drake LFi&lt;/strong&gt;, la variante optimisée pour l&amp;rsquo;impact de leur actionneur à bobine mobile large bande. Il est particulièrement doué pour restituer des &lt;strong&gt;impacts&lt;/strong&gt;, des coups nets et discrets plutôt qu&amp;rsquo;un simple bourdonnement, ce qui est exactement ce dont la pierre qui roule a besoin chaque fois que la bille cogne une paroi, et c&amp;rsquo;est ce qui rend ce montage si simple et si efficace.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;utilise donc un &lt;strong&gt;TacHammer Drake LFi&lt;/strong&gt; (photographié en haut de cet article), piloté directement par la sortie de l&amp;rsquo;amplificateur I2S. C&amp;rsquo;est un actionneur à bobine mobile LMR à plage de fonctionnement ultralarge (TITAN annonce environ 5 à 300 Hz et un pic de 19 G), donc le même signal qui ferait un son fait une sensation, et il produit un impact net à la demande. Le plus joli : la &lt;a href=&#34;https://titanhaptics.com/drake/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;fiche technique du Drake&lt;/a&gt; de TITAN liste à la fois les amplificateurs audio Class-D et les pilotes de moteur à pont en H parmi les façons compatibles de le piloter, ce qui correspond exactement aux deux montages de cette série. C&amp;rsquo;est la seule pièce qui fait passer le projet de « jolie démo de traitement du signal » à « attends, je sens vraiment la bille », donc elle a mérité sa propre ligne dans la nomenclature ci-dessus et sa propre section ici.&lt;/p&gt;
&lt;p&gt;Un grand coup de chapeau chaleureux à mon amie &lt;strong&gt;Ashley Huffman&lt;/strong&gt; et à toute l&amp;rsquo;équipe de &lt;strong&gt;TITAN Haptics&lt;/strong&gt;. Ashley est une véritable figure du domaine : elle anime le podcast &lt;a href=&#34;https://thehapticsclub.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Haptics Club&lt;/a&gt; et écrit la newsletter &lt;a href=&#34;https://haptics.substack.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;All Things Haptics&lt;/a&gt;. Elle s&amp;rsquo;est enthousiasmée pour mon idée et m&amp;rsquo;a aidé à obtenir le matériel rapidement pour faire fonctionner tout ça. Ash, t&amp;rsquo;es la reine ! C&amp;rsquo;est un vrai plaisir de construire sur du matériel fait par des gens qui se soucient vraiment du toucher, et c&amp;rsquo;est encore mieux quand l&amp;rsquo;une d&amp;rsquo;elles est une amie.&lt;/p&gt;
&lt;h2 id=&#34;voir-la-bille--lapplication-compagnon&#34;&gt;Voir la bille : l&amp;rsquo;application compagnon&lt;/h2&gt;
&lt;p&gt;Comme tout l&amp;rsquo;intérêt est une chose qu&amp;rsquo;on ne peut pas voir, j&amp;rsquo;ai écrit une application compagnon en Python qui se connecte en USB série ou en BLE et dessine ce que le firmware ressent. C&amp;rsquo;est l&amp;rsquo;outil que j&amp;rsquo;utilise réellement pour régler la physique.&lt;/p&gt;
&lt;p&gt;















&lt;figure  id=&#34;figure-lapplication-compagnon-en-mode-roulement-en-direct-via-usb-le-tube-incliné-et-la-bille-à-gauche-lhistorique-de-position-et-de-vélocité-à-droite-et-le-panneau-de-télémétrie-en-direct-en-bas-la-carte-rapporte-une-boucle-physique-stable-à-1000-hz&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Capture de l&amp;rsquo;application compagnon montrant une interface sombre intitulée Virtual Rolling Stone, ESP32-C6, Yao et Hayward Eurohaptics 2006. Un tube gris est incliné vers le bas à gauche à moins 6,9 degrés avec une bille orange à mi-chemin et un éclat rouge sur la paroi gauche. À droite, un tracé d&amp;rsquo;historique de position montre une onde triangulaire et un tracé de vélocité montre la bille qui oscille. Un panneau indique mode ROLLING, cavité 1000 mm, position 548 mm, vélocité plus 1,4 m par s, physique 1000 sur 1000 Hz&#34; srcset=&#34;
               /fr/post/esp32-rolling-stone/viz-rolling_hu_13e405a38069a73f.webp 400w,
               /fr/post/esp32-rolling-stone/viz-rolling_hu_ca995601256eb4c5.webp 760w,
               /fr/post/esp32-rolling-stone/viz-rolling_hu_d354f1c1785d795c.webp 1200w&#34;
               src=&#34;https://antoine.weill-duflos.fr/fr/post/esp32-rolling-stone/viz-rolling_hu_13e405a38069a73f.webp&#34;
               width=&#34;760&#34;
               height=&#34;485&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      L&amp;rsquo;application compagnon en mode roulement, en direct via USB. Le tube incliné et la bille à gauche, l&amp;rsquo;historique de position et de vélocité à droite, et le panneau de télémétrie en direct en bas. La carte rapporte une boucle physique stable à 1000 Hz.
    &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Elle montre le tube incliné avec la bille animée à sa position réelle, colorée par la vitesse, qui fait flasher la paroi à l&amp;rsquo;impact. À droite se trouvent des tracés défilants de position et de vélocité. Le panneau du bas est la télémétrie en direct : mode, longueur de cavité, position, vélocité, fréquence physique mesurée. Elle peut aussi rejouer la synthèse du son de roulement dans les haut-parleurs de l&amp;rsquo;ordinateur avec exactement le même modèle de table d&amp;rsquo;onde que le firmware, ce qui est un moyen rapide de comparer le ressenti sans reflasher la carte.&lt;/p&gt;
&lt;p&gt;Passer en mode billes bascule la vue principale vers une boîte 3D :&lt;/p&gt;
&lt;p&gt;















&lt;figure  id=&#34;figure-le-mode-billes-une-boîte-3d-avec-trois-billes-de-masse-et-de-rayon-différents-le-vecteur-gravité-en-direct-dessiné-en-flèche-et-lhistorique-de-position-par-axe-le-panneau-montre-laccéléromètre-brut-en-g-et-lénergie-dimpact-courante&#34;&gt;
  &lt;div class=&#34;d-flex justify-content-center&#34;&gt;
    &lt;div class=&#34;w-100&#34; &gt;&lt;img alt=&#34;Capture de l&amp;rsquo;application compagnon en mode billes montrant une boîte 3D rouge inclinée dans l&amp;rsquo;espace avec une flèche de gravité et de petites billes à l&amp;rsquo;intérieur, étiquetées lourde 1,5 mm, moyenne 1,0 mm, légère 0,7 mm, avec des tracés d&amp;rsquo;historique de position X et Y à droite et un panneau affichant les lectures d&amp;rsquo;accéléromètre en g et une valeur d&amp;rsquo;impact&#34; srcset=&#34;
               /fr/post/esp32-rolling-stone/viz-marbles_hu_4df3ff5384fa7777.webp 400w,
               /fr/post/esp32-rolling-stone/viz-marbles_hu_c2181fac9f4bf17.webp 760w,
               /fr/post/esp32-rolling-stone/viz-marbles_hu_d9e0560a205920ca.webp 1200w&#34;
               src=&#34;https://antoine.weill-duflos.fr/fr/post/esp32-rolling-stone/viz-marbles_hu_4df3ff5384fa7777.webp&#34;
               width=&#34;760&#34;
               height=&#34;485&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;figcaption&gt;
      Le mode billes. Une boîte 3D avec trois billes de masse et de rayon différents, le vecteur gravité en direct dessiné en flèche, et l&amp;rsquo;historique de position par axe. Le panneau montre l&amp;rsquo;accéléromètre brut en g et l&amp;rsquo;énergie d&amp;rsquo;impact courante.
    &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;La boîte 3D, la flèche de gravité qui suit la façon dont je tiens le boîtier, les trois billes de masse différente : tout cela est de la donnée en direct venant de la carte à 58 Hz via le lien série. C&amp;rsquo;est une petite chose, mais regarder la simulation et la sentir dans sa main en même temps, c&amp;rsquo;est ce qui rend la boucle de réglage rapide.&lt;/p&gt;
&lt;h2 id=&#34;où-ça-en-est&#34;&gt;Où ça en est&lt;/h2&gt;
&lt;p&gt;Ce qui marche aujourd&amp;rsquo;hui : la physique, le firmware pour les deux chemins de sortie, l&amp;rsquo;application compagnon, et la télémétrie BLE et série. Ce chemin audio, je l&amp;rsquo;ai validé sur l&amp;rsquo;établi, avec la Feather, l&amp;rsquo;amplificateur et l&amp;rsquo;actionneur TITAN Haptics câblés en vrac. Je ne l&amp;rsquo;ai jamais refermé dans un boîtier fini. L&amp;rsquo;unité que j&amp;rsquo;ai réellement assemblée, avec la mousse et le kapton, c&amp;rsquo;est le montage à pont en H de la &lt;a href=&#34;../esp32-rolling-stone-hbridge/&#34;&gt;partie 2&lt;/a&gt;, parce que la carte tout-en-un faisait un boîtier plus petit. Donc le montage audio est une approche qui marche plus qu&amp;rsquo;un objet fini, et c&amp;rsquo;est son état honnête.&lt;/p&gt;
&lt;p&gt;La suite, en gros : un &lt;strong&gt;tube plus long&lt;/strong&gt;. Le boîtier reste un objet à tenir en main, mais l&amp;rsquo;illusion d&amp;rsquo;origine vit dans la sensation de longueur, et un corps plus long donne plus de place à la bille virtuelle pour courir et rend l&amp;rsquo;illusion plus convaincante. Ensuite, une &lt;strong&gt;batterie embarquée&lt;/strong&gt; pour le rendre autonome, et un petit test utilisateur dans l&amp;rsquo;esprit de l&amp;rsquo;article d&amp;rsquo;origine pour voir si les gens arrivent à lire la longueur du tube virtuel à partir de ma version de l&amp;rsquo;illusion.&lt;/p&gt;
&lt;p&gt;Il y a une direction qui m&amp;rsquo;enthousiasme particulièrement. Lors de ce même colloque en mémoire de Vincent Hayward, l&amp;rsquo;un des fils conducteurs était &lt;a href=&#34;https://cim.mcgill.ca/~haptic/pub/LM-ET-AL-NAT-18.pdf&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Miller et coll., &lt;em&gt;Sensing with tools extends somatosensory processing beyond the body&lt;/em&gt;, Nature 2018&lt;/a&gt; : quand vous tenez une tige et que quelque chose la frappe, votre système nerveux sait dire &lt;em&gt;où&lt;/em&gt; le long de la tige l&amp;rsquo;impact a eu lieu, uniquement à partir de la vibration qui remonte l&amp;rsquo;outil. La pierre qui roule synthétise déjà un impact quand la bille virtuelle cogne une paroi. L&amp;rsquo;étape suivante naturelle est de synthétiser un impact &lt;em&gt;localisable&lt;/em&gt;, en façonnant le transitoire pour que vous sentiez non seulement que la bille a cogné, mais où le long du tube elle a cogné. Cela ferait passer le boîtier d&amp;rsquo;une illusion de longueur à une illusion de position le long d&amp;rsquo;un outil, ce qui est exactement le genre de chose vers quoi tendait cette lignée de travaux.&lt;/p&gt;
&lt;p&gt;Le code est sur GitHub à &lt;a href=&#34;https://github.com/Leicas/esp32-ball&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;github.com/Leicas/esp32-ball&lt;/a&gt;. La &lt;a href=&#34;../esp32-rolling-stone-hbridge/&#34;&gt;partie 2&lt;/a&gt; prend la même bille et la pilote via un pont en H à la place, sur une carte sans aucun amplificateur, ce qui est un tout autre jeu de compromis.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
