(L_eau_en_Vend_e_carte_0-carte-vierge-vendee) |
|||
Ligne 1 : | Ligne 1 : | ||
− | + | {{Tuto Details | |
+ | |Main_Picture=Commander_un_D1_mini_avec_une_interface_web_D1mini-image-01.png | ||
+ | |Licences=Attribution (CC-BY) | ||
+ | |Description=Ce tutoriel donne un exemple de programmation d'un D1 mini, afin de commander quelques éléments (leds, moteur), et récupérer des informations (entrée analogique) à partir d'une interface web. | ||
+ | |Disciplines scientifiques=Arduino, Computing | ||
+ | |Difficulty=Technical | ||
+ | |Duration=2 | ||
+ | |Duration-type=hour(s) | ||
+ | |Tags=D1 mini, web, html/css | ||
+ | }} | ||
+ | {{Introduction | ||
+ | |Introduction=Quelques précisions sur les pré-réquis à ce tutoriel :<br /> | ||
+ | |||
+ | *Il suppose qu'on a déjà un peu manipulé le logiciel Arduino, permettant de programmer des cartes microcontrôleurs, et en premier lieu, la carte Arduino. Il y a déjà de bons tutoriels dans le wikidebrouillard, ici : [[Installer l'environnement Arduino sur votre système]] et [[Premiers pas avec Arduino]]. | ||
+ | |||
+ | *Lorsqu'on souhaite utiliser un microcontrôleur D1 mini, il est nécessaire de configurer le logiciel Arduino, en particulier en lui ajoutant de nouvelles bibliothèques. Là encore, wikidebrouillard à notre secours : [[Utiliser le D1 mini avec Arduino]] ! | ||
+ | |||
+ | *Nous utiliserons ici les capacités du D1 mini à travailler en mode serveur web et point d'accès Wi-Fi. Même si ce tutoriel indique comment faire, on trouvera des explications détaillées ici : [[Configurez le réseau Wifi sur un ESP]]. | ||
+ | }} | ||
+ | {{Materials | ||
+ | |ItemList={{ItemList | ||
+ | |Item=D1 mini | ||
+ | }}{{ItemList | ||
+ | |Item=Led | ||
+ | }}{{ItemList | ||
+ | |Item=Micro-servo à rotation continue | ||
+ | }}{{ItemList | ||
+ | |Item=Breadboard | ||
+ | }} | ||
+ | |Prerequisites={{Prerequisites | ||
+ | |Prerequisites=Installer l'environnement Arduino sur votre système | ||
+ | }}{{Prerequisites | ||
+ | |Prerequisites=Premiers pas avec Arduino | ||
+ | }}{{Prerequisites | ||
+ | |Prerequisites=Utiliser le D1 mini avec Arduino | ||
+ | }}{{Prerequisites | ||
+ | |Prerequisites=Configurez le réseau Wifi sur un ESP | ||
+ | }} | ||
+ | |Tuto_Attachments={{Tuto Attachments}} | ||
+ | }} | ||
+ | {{Tuto Step | ||
+ | |Step_Title=Montage des éléments matériels | ||
+ | |Step_Content=Le schéma de montage, également indiqué dans le code Arduino, est défini dans la première image. Nous recommandons d'utiliser une "breadboard", pour fixer le D1 mini et gérer l'ensemble des connexions. Nous avons utilisé ici celle livrée dans le kit d'initiation Arduino (Starter kit Arduino®). Les leds, les résistances, et le potentiomètre, proviennent d'ailleurs du même kit. | ||
+ | |||
+ | |||
+ | Le montage des 5 leds (sur les pins D0 à D4) ne pose pas de problème particulier, attention cependant à respecter la polarité +/-, et ne pas oublier de mettre les résistances afin de limiter le courant électrique. | ||
+ | |||
+ | |||
+ | Concernant le servo moteur, il faut l'alimenter via le pin GND, bien sûr, et la sortie 5V du D1 mini (celui-ci a également une sortie 3,3v, insuffisante pour le servomoteur). La commande du servomoteur sera connectée quant à elle, sur le pin D7 du D1 mini. | ||
+ | |||
+ | |||
+ | Et enfin,le potentiomètre aura ses deux connexions externes connectées d'une part sur GND, d'autre part sur le pin '''3,3V''' (important, car c'est la tension maximale qui sera alors disponible sur la connexion centrale du potentiomètre, et qui sera acceptée par le pin A0 du D1 mini ; au-delà le D1 mini risque de souffrir). | ||
+ | |Step_Picture_00=Commander_un_D1_mini_avec_une_interface_web_Sch_ma_montage.jpg | ||
+ | |Step_Picture_01=Commander_un_D1_mini_avec_une_interface_web_Montage_D1_mini-1.jpg | ||
+ | |Step_Picture_02=Commander_un_D1_mini_avec_une_interface_web_Montage_D1_mini-2.jpg | ||
+ | }} | ||
+ | {{Tuto Step | ||
+ | |Step_Title=Chargement du code Arduino sur le D1 mini | ||
+ | |Step_Content=On suppose ici que le logiciel Arduino est déjà installé, ainsi que la bibliothèque de gestion du D1 mini (voir pré-requis). | ||
+ | |||
+ | #Créez sur votre ordinateur un répertoire '''A_D1_WiFi'''. | ||
+ | #Téléchargez tous les fichiers de code Arduino (suffixe ".ino") sous ce répertoire. Vous devriez avoir alors 6 fichiers (Cf. image n° 1) | ||
+ | #Double-cliquez sur le fichier A_D1_WiFi.ino, ce qui lancera le logiciel Arduino, sous lequel vous aurez 6 onglets correspondant aux 6 fichiers (Cf. image n°2) | ||
+ | #Connectez le D1 mini au port USB de votre ordinateur. | ||
+ | #Dans le menu "Outil", positionnez le bon type de carte, et le bon port (Cf. image n°3). Si cette carte n'est pas définie, ou que le port est grisé, revérifier la configuration Arduino grâce au prérequis [[Utiliser le D1 mini avec Arduino]]. | ||
+ | #Cliquez sur l'icône de téléversement (Cf.. image n° 4), et patientez. Si le téléversement se termine bien (Cf. image n°5), bravo ! Si un message d'erreur indique que le port n'est pas le bon, il faut le modifier dans l'onglet outil et relancer cette étape.<br /><br /> | ||
+ | |Step_Picture_00=Commander_un_D1_mini_avec_une_interface_web_Arduino-fichiers.png | ||
+ | |Step_Picture_01=Commander_un_D1_mini_avec_une_interface_web_Arduino-onglets.png | ||
+ | |Step_Picture_02=Commander_un_D1_mini_avec_une_interface_web_Arduino-carte.png | ||
+ | |Step_Picture_03=Commander_un_D1_mini_avec_une_interface_web_Arduino-televersement.png | ||
+ | |Step_Picture_04=Commander_un_D1_mini_avec_une_interface_web_Arduino-telev-ok.png | ||
+ | }} | ||
+ | {{Tuto Step | ||
+ | |Step_Title=Connexion depuis un navigateur web | ||
+ | |Step_Content=Le navigateur (ou "browser") peut être celui d'un téléphone mobile, d'une tablette, ou d'un ordinateur. Les images donnent ici l'exemple d'un téléphone mobile, sous android. | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | # Cherchez "'''DebrouilloBot_0000'''" dans la liste des points d'accès Wi-Fi, et connectez-vous sur ce point d'accès (Cf. image n° 1). Il n'y a pas de mot de passe. Il y aura peut-être un message indiquant qu'Internet n'est pas disponible, c'est normal, ne pas en tenir compte. | ||
+ | # Sur votre navigateur préféré, tapez "'''192.168.4.22'''", si tout se passe bien vous aurez l’interface de commande du D1 mini (Cf. image n° 2) | ||
+ | # C'est tout bon, vous pouvez activer les leds, de façon individuelle ou combinée, activer le servomoteur soit avec les touches rouges, soit en activant la commande via le potentiomètre. | ||
+ | |Step_Picture_00=Commander_un_D1_mini_avec_une_interface_web_Mobile-WiFi.png | ||
+ | |Step_Picture_01=Commander_un_D1_mini_avec_une_interface_web_Interface_web.png | ||
+ | }} | ||
+ | {{Tuto Step | ||
+ | |Step_Title=Pour aller plus loin ... | ||
+ | |Step_Content=Le code Arduino est commenté, et devrait permettre de comprendre le fonctionnement des différents éléments, et de procéder à des modifications. | ||
+ | |||
+ | Pour simplifier la lecture (et il est d'ailleurs recommandé de faire de même pour vos propres programmes), on utilise plusieurs onglets pour séparer les différentes fonctionnalités : | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | # '''A_D1_WiFi''' contient les variables globales (susceptibles d'être également utilisées dans les autres onglets), ainsi que les deux fonctions 'de base' du D1 Mini, similaires à celles utilisées dans les Arduino : | ||
+ | #* '''setup''' : c'est la première fonction appelée au démarrage du D1 Mini, après téléversement ou ré-allumage. C'est ici qu'on va initialiser le WiFi, démarrer le serveur web, définir l'état initial des leds, etc ... | ||
+ | #* '''loop''' : cette fonction est appelée régulièrement, c'est à partir de là qu'on réalise les activités souhaitées, telles que consultation ou modification des différents pins, calculs divers, etc ... | ||
+ | # '''B_Serveur_Web''' : gère toute la partie web, à savoir la génération de la page web, et également le traitement à effectuer lorsque cette page est demandée par un client (navigateur sur un PC ou un téléphone). C'est le module le plus complexe, il nécessite de connaître HTML, CSS, et Javascript pour l'appréhender. | ||
+ | # '''C_Cmd_Leds''' gère les commandes dites 'évoluées' des leds (par exemple clignotement ou défilement) | ||
+ | # '''D_Servomoteur''' gère le servomoteur | ||
+ | # '''E_Potentiomètre''' gère l'entrée analogique du D1 Mini (qui va lire la valeur fournie par le potentiomètre) | ||
+ | # '''F_Schéma_Montage''' décrit le montage matériel autour du D1 mini. | ||
+ | }} | ||
+ | {{Notes}} | ||
+ | {{Tuto Status | ||
+ | |Complete=Draft | ||
+ | }} |
Auteur Philippe Blusseau | Dernière modification 22/11/2022 par Philby
D1 mini, web, html/css Commander_un_D1_mini_avec_une_interface_web_D1mini-image-01.png
Quelques précisions sur les pré-réquis à ce tutoriel :
Le schéma de montage, également indiqué dans le code Arduino, est défini dans la première image. Nous recommandons d'utiliser une "breadboard", pour fixer le D1 mini et gérer l'ensemble des connexions. Nous avons utilisé ici celle livrée dans le kit d'initiation Arduino (Starter kit Arduino®). Les leds, les résistances, et le potentiomètre, proviennent d'ailleurs du même kit.
Le montage des 5 leds (sur les pins D0 à D4) ne pose pas de problème particulier, attention cependant à respecter la polarité +/-, et ne pas oublier de mettre les résistances afin de limiter le courant électrique.
Concernant le servo moteur, il faut l'alimenter via le pin GND, bien sûr, et la sortie 5V du D1 mini (celui-ci a également une sortie 3,3v, insuffisante pour le servomoteur). La commande du servomoteur sera connectée quant à elle, sur le pin D7 du D1 mini.
Et enfin,le potentiomètre aura ses deux connexions externes connectées d'une part sur GND, d'autre part sur le pin 3,3V (important, car c'est la tension maximale qui sera alors disponible sur la connexion centrale du potentiomètre, et qui sera acceptée par le pin A0 du D1 mini ; au-delà le D1 mini risque de souffrir).
On suppose ici que le logiciel Arduino est déjà installé, ainsi que la bibliothèque de gestion du D1 mini (voir pré-requis).
Le navigateur (ou "browser") peut être celui d'un téléphone mobile, d'une tablette, ou d'un ordinateur. Les images donnent ici l'exemple d'un téléphone mobile, sous android.
Le code Arduino est commenté, et devrait permettre de comprendre le fonctionnement des différents éléments, et de procéder à des modifications.
Pour simplifier la lecture (et il est d'ailleurs recommandé de faire de même pour vos propres programmes), on utilise plusieurs onglets pour séparer les différentes fonctionnalités :
Dernière modification 22/11/2022 par user:Philby.
Draft
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
---|---|---|---|---|---|
actuel | 5 octobre 2021 à 16:06 | 1 228 × 812 (67 Kio) | Nathanaël Latour (discussion | contributions) | L_eau_en_Vend_e_carte_0-carte-vierge-vendee |
La page suivante utilise ce fichier :
Résolution horizontale | 43,3 p/cm |
---|---|
Résolution verticale | 43,3 p/cm |
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #