

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF[
	<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
	<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
	<!ENTITY owl 'http://www.w3.org/2002/07/owl#'>
	<!ENTITY swivt 'http://semantic-mediawiki.org/swivt/1.0#'>
	<!ENTITY wiki 'http://https://wikifab.org/wiki/Special:URIResolver/'>
	<!ENTITY category 'http://https://wikifab.org/wiki/Special:URIResolver/Category-3A'>
	<!ENTITY property 'http://https://wikifab.org/wiki/Special:URIResolver/Property-3A'>
	<!ENTITY wikiurl 'https://wikifab.org/wiki/'>
]>

<rdf:RDF
	xmlns:rdf="&rdf;"
	xmlns:rdfs="&rdfs;"
	xmlns:owl ="&owl;"
	xmlns:swivt="&swivt;"
	xmlns:wiki="&wiki;"
	xmlns:category="&category;"
	xmlns:property="&property;">

	<owl:Ontology rdf:about="https://wikifab.org/wiki/Special:ExportRDF/Brancher_des_périphériques_USB_sur_un_ESP8266/fr">
		<swivt:creationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-05-23T23:18:39+02:00</swivt:creationDate>
		<owl:imports rdf:resource="http://semantic-mediawiki.org/swivt/1.0"/>
	</owl:Ontology>
	<swivt:Subject rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Brancher_des_périphériques_USB_sur_un_ESP8266/fr">
		<rdf:type rdf:resource="http://https://wikifab.org/wiki/Special:URIResolver/Category-3ATutorials"/>
		<rdfs:label>Brancher des périphériques USB sur un ESP8266</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://wikifab.org/wiki/Special:ExportRDF/Brancher_des_périphériques_USB_sur_un_ESP8266/fr"/>
		<swivt:page rdf:resource="https://wikifab.org/wiki/Brancher_des_périphériques_USB_sur_un_ESP8266/fr"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">fr</swivt:wikiPageContentLanguage>
		<property:Area rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Electronics</property:Area>
		<property:Area rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Music and Sound</property:Area>
		<property:Area rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play and Hobbies</property:Area>
		<property:Complete rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Published</property:Complete>
		<property:Cost rdf:datatype="http://www.w3.org/2001/XMLSchema#double">6</property:Cost>
		<property:Currency rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EUR (€)</property:Currency>
		<property:Description rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Saviez vous que vous pouvez brancher des périphériques USB sur un Arduino ou un ESP ?
Que ce soit un clavier, une souris, un manette de jeu ou un contrôleur MIDI, c'est possible !</property:Description>
		<property:Difficulty rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Medium</property:Difficulty>
		<property:Duration rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</property:Duration>
		<property:Duration-2Dtype rdf:datatype="http://www.w3.org/2001/XMLSchema#string">hour(s)</property:Duration-2Dtype>
		<property:Introduction rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Je jouais avec '''Mozzi''', une '''bibliothèque de synthèse audio''' (https://sensorium.github.io/Mozzi/), quand je me suis rendu compte que si je voulais vraiment pouvoir exploiter tout le potentiel de cette bibliothèque, j'allais devoir faire un contrôleur.

Si seulement, je pouvais brancher un '''clavier''' ou un '''contrôleur midi''', ça serait carrément plus simple !</property:Introduction>
		<property:IsTranslation rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</property:IsTranslation>
		<property:Language rdf:datatype="http://www.w3.org/2001/XMLSchema#string">fr</property:Language>
		<property:Main_Picture rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Brancher_des_périphériques_USB_sur_un_ESP8266_usbhost_wiki.jpg</property:Main_Picture>
		<property:Material rdf:datatype="http://www.w3.org/2001/XMLSchema#string">* Un microcontrôleur 3.3v (par ex: Wemos Mini)
* Un USB Host Mini</property:Material>
		<property:SourceLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">none</property:SourceLanguage>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">On y est presque, si vous essayez de compiler un exemple dans la bibliothèque, '''il ne marchera pas!'''

&lt;div class="icon-instructions info-icon"&gt;
&lt;div class="icon-instructions-icon"&gt;&lt;i class="fa fa-info-circle"&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="icon-instructions-text"&gt;Ce problème a été réglé récemment, cette étape n'est nécessaire que si vous utilisez la version 1.3.2 de cette bibliothèque&lt;/div&gt;
&lt;/div&gt;

Il y a une incompatibilité entre la bibliothèque et la version 2.5 d'ESP8266 sur le logiciel Arduino.

'''Il va falloir downgrader celle-ci à 2.4.2'''

https://github.com/felis/USB_Host_Shield_2.0/issues/449

Aller dans '''Outils''' / '''Type de carte''' / '''Gestionnaire de carte''' et changer la version à '''2.4.2'''

&lt;br/&gt;</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Il y a beaucoup d'exemples dans l''''USB Host Shield Library 2.0.'''

Afin de tester si tout marche correctement, je vous conseille de commencer par '''USB_desc'''.

*'''Téléverser''' USB_desc
*Ouvrez le  '''Moniteur Série''' (115200)
*'''Brancher votre périphérique USB'''
*'''Redémarrer la carte''' (ESP8266)
&lt;div class="icon-instructions info-icon"&gt;
&lt;div class="icon-instructions-icon"&gt;&lt;i class="fa fa-info-circle"&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="icon-instructions-text"&gt;Il n'est pas possible de brancher "à chaud" le périphérique USB (du moins dans les exemples)
Vous devez redémarrer votre carte à chaque fois que vous débrancher et rebrancher un périphérique.&lt;/div&gt;
&lt;/div&gt;

Vous devriez voir un long message décrivant votre périphérique.

&lt;br/&gt;</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Si vous avez une manette de '''XBOX360 pour PC''', vous pouvez tester l'exemple : X'''BOX/XBOXUSB'''

*'''L2/R2''' vibre quand vous appuyez dessus.
*L2/R2 : 0/255
*Stick (Hat) X/Y : -32768 / 32768
*Les LED peuvent aussi être contrôlées ! (appuyer sur '''pad''' / '''back''' / '''start''' / '''xbox''' pour essayer)</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Ouvrez l'exemple '''USBH_MIDI/USBH_MIDI_dump'''

La plupart des périphériques MIDI n'utilisent qu'une petite partie du buffer ('''bufMidi''')

&lt;code&gt;00001679: 64: 09 90 2F 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;/code&gt;

&lt;code&gt;0000174A: 64: 08 80 2F 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;/code&gt;

*bufMidi[0] : Note ON (9) / Note OFF (8)
*bufMidi[2] : Note
*bufMidi[3] : Velocity</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Je n'ai pas réussi à utiliser ma souris. L'exemple se trouve ici : '''HID/USBHIDBootMouse'''</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Utiliser des périphériques USB ouvre la porte à énormément de possibilités avec nos microcontrôleurs

Nous n'avons vu qu'une infime partie de ce qu'il est possible de faire.

*Vous pouvez utiliser un '''Hub USB''' pour contrôler plusieurs périphériques USB.
*Il y a plein de broches sur l'USB Host, c'est parce qu’elle sont utilisables comme des GPIO ! Il est possible de brancher des boutons / LED même un écran LCD dessus.
*Il est même possible d'utiliser des '''clés''' '''USB.'''</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Merci à CircuitatHome pour la création de l'USB Host
https://www.circuitsathome.com/usb-host-shield-hardware-manual/

Dans ce tutoriel nous allons utilisé un clone de l''''USB Host Mini'''.

La puce sur celle-ci est un MAX3421E qui ne fonctionne quand 3.3v

&lt;div class="icon-instructions idea-icon"&gt;
&lt;div class="icon-instructions-icon"&gt;&lt;i class="fa fa-lightbulb-o"&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="icon-instructions-text"&gt;Si vous voulez utiliser un microcontrôleur en 5v (comme l'Arduino Uno / Nano) utiliser plutôt le Shield USB Host.&lt;/div&gt;
&lt;/div&gt;

Malheureusement avant de pouvoir brancher notre USB Host, il va nous falloir '''régler plusieurs problèmes''' sinon '''cela ne marchera pas.'''</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Si vous avez acheté '''un clone de l'USB Host Mini''', il n'y a pas de '''jumper pour le VBUS'''.

Cela veut dire que les périphériques USB '''seront alimentés en 3.3v'''

Malheureusement, '''aucun de mes périphériques ne marche,''' car ils '''nécessitent tous du 5v.'''

Vous pouvez en apprendre plus sur ce lien (en japonais)

https://ht-deko.com/arduino/shield_usbhost_mini.html

Il va falloir couper une trace sur le circuit pour régler ce problème.

J'ai utilisé un '''petit tournevis plat''', mais si vous avez un '''cutter fin c'est surement mieux.'''</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Vous avez peut-être remarqué que pour la broche SS (Chip Select / CS) j'ai utilisé la '''broche D3''' au lieu de la '''broche par défaut D8.'''

J'ai eu un problème avec l'USB Host qui mettait mon Wemos Mini en mode programmation et bloqué l'exécution du sketch.

https://github.com/felis/USB_Host_Shield_2.0/issues/457

Afin de '''changer la broche SS''', il va falloir changer une ligne dans la bibliothèque.

Télécharger '''USB Host Shield Library 2.0'''

Ouvrez le fichier '''UsbCore.h''' dans '''libraries/USB_Host_Shield_Library_2.0''' et changer cette ligne
 
&lt;code&gt;#elif defined(ESP8266)typedef MAX3421e&lt;P15, P5&gt; MAX3421E; // ESP8266 boards &lt;/code&gt;

Avec cette ligne

&lt;code&gt;#elif defined(ESP8266)typedef MAX3421e&lt;P0, P5&gt; MAX3421E; // ESP8266 boards&lt;/code&gt;
&lt;div class="icon-instructions info-icon"&gt;
&lt;div class="icon-instructions-icon"&gt;&lt;i class="fa fa-info-circle"&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="icon-instructions-text"&gt;Pourquoi P0 au lieu de D3 ? c'est parce que le GPIO0 est le D3 sur le Wemos Mini.&lt;/div&gt;
&lt;/div&gt;
https://escapequotes.net/esp8266-wemos-d1-mini-pins-and-diagram/</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">OK, j'espère que vous n'avez pas cassé votre carte! Maintenant il est temps de la brancher !

J'ai utilisé un Wemos Mini D1 avec mon USB Host Mini, voici comment le brancher.

&lt;div class="icon-instructions info-icon"&gt;
&lt;div class="icon-instructions-icon"&gt;&lt;i class="fa fa-info-circle"&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="icon-instructions-text"&gt;Je n'ai pas relié la broche INT, car celle-ci ne semble pas nécessaire au fonctionnement&lt;/div&gt;
&lt;/div&gt;

*D3 -- SS
*D7 -- MOSI
*D6 -- MISO
*D5 -- SCK
*RST -- RST

&lt;br/&gt;</property:Step_Content>
		<property:Step_Content rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Le branchement sur ESP32 (testé sur DOIT ESP32 DEVKIT V1):

SS : GPIO5

INT : GPIO17

SCK : GPIO18

MISO: GPIO19

MOSI:  GPIO23

RST : 3.3V</property:Step_Content>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Choisir l'USB Host</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Régler le problème d'alimentation</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Brancher l'USB Host</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Régler le problème avec la bibliothèque USB Host</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Downgrader ESP8266</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Test l'USB Host</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Exemple : Manette XBOX360</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Exemple : Souris</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Exemple : Contrôleur Midi</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Conclusion</property:Step_Title>
		<property:Step_Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Adaptation ESP32</property:Step_Title>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">arduino</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">esp8266</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">esp32</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">usb host</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">clavier</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">souris</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">manette</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">xbox</property:Tags>
		<property:Tags rdf:datatype="http://www.w3.org/2001/XMLSchema#string">MIDI</property:Tags>
		<property:Tools rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Un petit tournevis plat / Un cutter fin</property:Tools>
		<property:Type rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Technique</property:Type>
		<property:VideoType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Youtube</property:VideoType>
		<property:Display_title_of rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Brancher des périphériques USB sur un ESP8266</property:Display_title_of>
		<swivt:wikiPageModificationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2020-11-09T12:28:42Z</swivt:wikiPageModificationDate>
		<property:Modification_date-23aux rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2459163.0199306</property:Modification_date-23aux>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Brancher des périphériques USB sur un ESP8266</swivt:wikiPageSortKey>
		<property:Comments rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Comments>
		<property:Page_creator rdf:resource="&wiki;Utilisateur-3AFuzzyBot"/>
		<property:I_did_it rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:I_did_it>
		<property:Favorites rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Favorites>
	</swivt:Subject>
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#creationDate" />
	<owl:Class rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Category-3ATutorials" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#page" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiNamespace" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageContentLanguage" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AArea" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AComplete" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ACost" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ACurrency" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ADescription" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ADifficulty" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ADuration" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ADuration-2Dtype" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AIntroduction" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AIsTranslation" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ALanguage" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AMain_Picture" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AMaterial" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ASourceLanguage" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AStep_Content" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AStep_Title" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ATags" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ATools" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AType" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AVideoType" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3ADisplay_title_of" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageModificationDate" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AModification_date-23aux" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageSortKey" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AComments" />
	<owl:ObjectProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3APage_creator" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AI_did_it" />
	<owl:DatatypeProperty rdf:about="http://https://wikifab.org/wiki/Special:URIResolver/Property-3AFavorites" />
	<!-- Created by Semantic MediaWiki, https://www.semantic-mediawiki.org/ -->
</rdf:RDF>