Vous êtes sur la page 1sur 26

Bienvenue !

Nous vous remercions d'avoir acheté le D1 Mini Pro d'AZ-Delivery . Dans les
pages qui suivent, nous allons vous expliquer comment utiliser et configurer
ce dispositif très pratique.

Amusez-vous !
Table des matières

Présentation..................................................................................................3
Spécifications................................................................................................4
Connectique..................................................................................................6
Fonctionnalités..............................................................................................7
Brochage.......................................................................................................8
Entrées/Sorties Numériques..........................................................................9
PWM (impulsion avec modulation)..........................................................10
Entrée Analogique...................................................................................10
Ports Séries.............................................................................................10
Interface I2C............................................................................................11
Interface SPI............................................................................................11
Module D1 Mini Pro - Software....................................................................12
Broches I/O Numériques..........................................................................12
Broche Entrée Analogique.......................................................................13
Communication Série...............................................................................14
Partage des ressources CPU/RF.............................................................15
Configurer l'IDE Arduino..............................................................................16
Configuration supplémentaire..................................................................20
Exemples de code...................................................................................23
LED clignotante.......................................................................................23
Modulation PWM.....................................................................................24
Communication série...............................................................................25

-2-
Présentation

Le module ESP8266 est un système sur circuit (SoC). Il se compose d'un


microcontrôleur 32 bits Tensilica L106 et d'un émetteur-récepteur Wi-Fi. Il
possède 11 broches d'entrée/sortie à usage général (GPIO) et une entrée
analogique. Cela signifie qu'il peut être programmé comme n'importe quel
autre microcontrôleur.
De plus, avec son interface Wi-Fi il peut être connecté à un réseau Wi-Fi,
ou à Internet, héberger un serveur web avec de vraies pages web, se
connecter à un smartphone, etc. Il prend en charge les protocoles réseau
tels que Wi-Fi, TCP, UDP, HTTP, DNS, etc.

Le module D1 Mini Pro AZ-Delivery est une carte de développement basée


sur le circuit ESP8266. Toutes les broches d'entrée/sortie numériques ont
des capacités d'interruption, de PWM, d'I2C. La plage de tension de l'entrée
analogique est comprise entre 0V et 3,3V DC. Le module utilise un port
microUSB géré par le circuit CH340C pour programmer l'ESP8266. De
plus, le port microUSB fournit une alimentation au module.

Il existe différentes façons de programmer le module D1 Mini Pro : en


utilisant l'Arduino IDE, le SDK officiel de l'ESP pour la programmation en C,
le firmware MicroPython, etc.

-3-
Spécifications

Tension d'alimentation 3.3V


Circuit principal ESP8266EX
Fréquence d'horloge De 80MHz à 160MHz
Mémoire Flash 4MB
Broches E/S Numériques 11
Broche entrée analogique 1
Tension entrée analogique de 0V à 3.3V
Port USB microUSB
Circuit USB CH340C
Courant Max. Par broche numérique 12mA
Dimensions 25x35x6mm [0.98x1.4x0.24in]

Le module D1 Mini Pro possède une LED embarquée qui est connectée en
interne au port GPIO2.

Le module D1 Mini Pro possède un connecteur pour antenne externe qui


est utilisé pour étendre la portée du WiFi. Avant de pouvoir l'utiliser, une
petite modification doit être apportée. L'information sur la modification est
indiquée sur la page suivante.

-4-
Modification du connecteur d'antenne

Pour activer le connecteur d'antenne externe du module D1 Mini Pro, la


position de la résistance de zéro (0) ohm doit être modifiée. Pour cela, la
résistance doit être délicatement dessoudée et ressoudée à la position
indiquée ci-dessous :

-5-
Connectique

Le module D1 Mini Pro est livré non soudé avec une paire de connecteurs
mâles à huit broches, une paire de connecteurs femelles à huit broches et
une paire de connecteurs femelles à huit broches avec des pattes extra
longues (connecteurs d'empilage).

-6-
Fonctionnalités

• 802.11 b/g/n
• MCU 32 bits intégré à faible consommation
• CAN (ADC) intégré 10 bits
• Pile de protocoles TCP/IP intégrée
• Commutateur TR, balun, LNA, ampli de puissance et réseau intégrés.
• PLL, régulateurs & unités de gestion de l'alimentation intégrés
• Support multi-antennes
• Wi-Fi 2.4 GHz, gestion WPA/WPA2
• Gestion des modes STA/AP/STA+AP

• Gestion fonction Smart Link pour appareils Android & iOS

• SDIO 2.0, (H) SPI, UART, I2C, I2S, IRDA, PWM, GPIO
• STBC, 1x1 MIMO, 2x1 MIMO
• Agrégation A-MPDU & A-MSDU à intervalle de garde de 0.4s
• Consommation en veille <10uA, courant de fuite <5uA

• Réveil & transmission de paquets en < 2ms


• Consommation en mode veille < 1,0 mW (DTIM3)
• Puissance de sortie +18dBm en mode 802.11b
• Plage de température de fonctionnement : -40 °C ~ 125 °C

-7-
Brochage

Le module D1 Mini Pro comporte deux rangées de huit broches (seize


broches au total). L'implantation est représentée sur l'image suivante :

Note : La carte D1 Mini Pro dispose d'une broche de sortie de tension 5V


pour alimenter des modules externes qui lui sont connectés, mais elle ne
tolère pas une tension de fonctionnement de 5V !

Note : Le module D1 Mini Pro dispose également d'une broche de sortie de


tension de 3,3 V pour alimenter des modules externes. Cette tension est
régulée à 3,3 V par le régulateur de tension intégré.

-8-
Entrées/Sorties Numériques

Comme toute carte Atmega328p, le module D1 Mini Pro possède des


broches d'entrée/sortie numériques ou GPIO (General Purpose
Input/Output). Comme leur nom l'indique, elles peuvent être utilisées
comme entrées numériques pour lire une tension numérique, ou comme
sorties numériques pour délivrer soit du 0V soit du 3.3V.

Le module D1 Mini Pro est doté d'un microcontrôleur qui fonctionne dans
une plage de tension de 0V-3,3V.

Le courant maximum que peut fournir une broche GPIO est de 12mA !

NOTE: Les broches du module D1 Mini Pro ne tolérent pas 5V,


appliquer plus de 3.6V sur n'importe quelle broche pourrait
endommager définitivement le circuit !

Les GPIO1 et GPIO3 sont utilisés comme TX et RX du port série matériel


(UART), donc dans la plupart des cas elles ne peuvent pas être utilisées
comme une E/S normale lors de l'envoi/réception de données série.

Le module D1 Mini Pro possède une LED embarquée connectée au GPIO2.

-9-
PWM (Impulsion avec modulation)

Contrairement à la plupart des circuits Atmel (Atmega328p), le module D1


Mini Pro ne supporte pas le PWM matériel. Cependant, le PWM logiciel est
supporté sur toutes les broches numériques. La gamme PWM par défaut
est de 10bits à 1kHz, mais ceci peut être modifié (jusqu'à 14 bits à 1kHz).

Entrée analogique

Le D1 Mini Pro possède une seule entrée analogique, avec une plage de
tension d'entrée de 0 V à 3,0 V. Si une tension supérieure à 3,3 V est
appliquée, le circuit pourrait être endommagé. Le convertisseur analogique-
numérique (ADC) a une résolution de 10bits.

Ports séries

Le module D1 Mini Pro possède deux ports séries (UART) matériels :


UART0 sur les broches 1 et 3 (TX0 et RX0), et UART1 sur les broches 2 et
8 (TX1 et RX1). Cependant, le GPIO8 est utilisé pour connecter la mémoire
flash. Cela signifie que UART1 ne peut que transmettre des données. Dans
la plupart des cas, un seul port UART est plus que suffisant.

UART0 possède également un contrôle de flux matériel sur les broches 15


et 13 (RTS0 et CTS0). Ces deux broches peuvent également être utilisées
comme alternative aux broches TX0 et RX0.

- 10 -
Interface I2C

Le module D1 Mini Pro ne dispose pas d'interface I2C matérielle (TWI - Two
Wire Interface) mais elle est implémentée par logiciel. Cela signifie que
deux broches numériques quelconques peuvent être définies comme
broches I2C. Par défaut, la bibliothèque I2C utilise GPIO4 comme SDA et
GPIO5 comme SCL. La vitesse maximale de l'horloge I2C est d'environ 450
kHz.

Interface SPI

Le module D1 Mini Pro met à la disposition de l'utilisateur une connexion


SPI, appelée HSPI. Elle peut être utilisée aussi bien en mode esclave qu'en
mode maître (par logiciel !).
Elle utilise :
- GPIO14 - CLK
- GPIO12 - MISO
- GPIO13 - MOSI
- GPIO15 - SS (Slave Select)

- 11 -
Broches I/O numériques

Tout comme avec une carte Atmega328p ordinaire, la fonction de la broche


peut être définie en utilisant la ligne de code suivante :
pinMode(pin, mode)

Où pin est le nom de la broche GPIO, et mode peut être INPUT (par
defaut), ou OUTPUT, ou INPUT_PULLUP pour activer les résistances pull-up
sur les broches GPIO0-15. Pour activer la résistance pull-down GPIO16
utilisez INPUT_PULLDOWN_16.

Pour selectionner un état HIGH (3.3V) ou LOW (0V), utilisez la ligne de code
suivante:
digitalWrite(pin, value)
Où pin est le nom de la broche GPIO, et value peut être 1 ou 0 (ou HIGH
et LOW).

Pour lire une entrée, utilisez la ligne de code suivante :


digitalRead(pin)

- 12 -
Pour activer le PWM sur une broche, utilisez la ligne de code suivante :
analogWrite(pin, value)
Où pin est le nom de la broche GPIO, et value est un nombre compris
entre 0 et 1023.

La plage de la sortie PWM peut être modifiée en utilisant le code suivant :


analogWriteRange(new_range)

La fréquence du PWM peut être modifiée en utilisant le code suivant :


analogWriteFreq(new_frequency)
Où new_frequency peut être compris entre 100Hz et 1000Hz.

Entrée analogique

Comme sur toute carte Atmega328p, la fonction analogRead(A0) peut être


utilisée pour lire la tension sur l'entrée analogique (0 = 0V, 1023 = 1.0V).

Le module D1 Mini Pro peut également utiliser l'ADC pour mesurer la


tension d'alimentation (VCC).
Pour ce faire, incluez ADC_MODE(ADC_VCC) en haut du code et utilisez
ESP.getVcc() pour lire la tension effective.

NOTE: Si la broche d'entrée analogique est utilisée pour lire la tension


d'alimentation, rien d'autre ne peut être connecté sur cette broche !

- 13 -
Communication série

Pour utiliser UART0 (TX=GPIO1, RX=GPIO3), utilisez l'objet Serial, comme


sur une carte Atmega328p : Serial.begin(baud_reate)

Pour utiliser les autres broches (TX=GPIO15, RX=GPIO13), utilisez la ligne


de code suivante : Serial.swap()
après Serial.begin()

Pour utiliser UART1 (TX = GPIO2), utilisez l'objet Serial1

NOTE: Toutes les fonctions de flux de l'Atmega328p, comme read(),


write(), print(), println(), etc. sont également prises en charge.

- 14 -
Partage des ressources CPU/RF

Une chose à garder à l'esprit lors de l'écriture de programmes pour le


module D1 Mini Pro (ESP8266) est que le code doit partager les ressources
(CPU et mémoire) avec les piles Wi-Fi et TCP (le logiciel qui fonctionne en
arrière-plan et gère toutes les connexions). Si le code prend trop de temps
à s'exécuter et ne laisse pas les piles TCP faire leur travail, le programme
peut planter ou les données peuvent être perdues. Il est préférable de
contrôler le temps d'exécution de la boucle avec un délai de quelques
centaines de millisecondes. Chaque fois que la boucle principale est
répétée, un délai est laissé au Wi-Fi et au TCP pour traiter toutes les
demandes. Si la boucle dure plus longtemps que cela, le temps CPU doit
être explicitement donné aux piles Wi-Fi/TCP, en utilisant notamment
delay(0) ou yield(). Si cela n'est pas fait, la communication réseau ne
fonctionnera pas comme prévu, et si cela dure plus de 3 secondes, le soft
WDT (Watchdog Timer) réinitialise l'ESP. Si le WDT logiciel est désactivé,
après un peu plus de 8 secondes, le WDT matériel réinitialise le circuit. Du
point de vue du microcontrôleur cependant, 3 secondes est un temps très
long (240 millions de cycles d'horloge), donc à moins que des calculs
extrêmement lourds ne soient effectués, ou que des chaînes extrêmement
longues ne soient envoyées en série, le programme ne sera pas affecté par
cela. Gardez juste à l'esprit d'ajouter le yield() à l'intérieur des boucles
for ou while qui pourraient prendre plus de, disons 100ms.

- 15 -
Configurer l'IDE Arduino

Si l'IDE Arduino n'est pas installé suivez le lien et téléchargez le fichier


d'installation pour l'OS de votre choix. La version de l’IDE Arduino utilisée
dans cet eBook est la 1.8.18

Pour les utilisateurs de Windows lancez le fichier .exe et suivez les


instructions.

- 16 -
Pour les utilisateurs de Linux, téléchargez un fichier portant
l'extension .tar.xz, qui doit être extrait. Lorsqu'il est extrait, allez dans le
répertoire extrait et ouvrez le terminal dans ce répertoire. Deux scripts .sh
doivent être exécutés, le premier appelé arduino-linux-setup.sh et le second
appelé install.sh.

Pour exécuter le premier script dans le terminal, ouvrez le terminal dans le


répertoire extrait et exécutez la commande suivante :
sh arduino-linux-setup.sh user_name
user_name est le nom d'un superutilisateur dans le système d'exploitation
Linux. Un mot de passe pour le superutilisateur doit être saisi au moment
du lancement de la commande. Attendez quelques minutes pour que le
script se termine.

Le second script, appelé install.sh, doit être utilisé après l'installation du


premier script. Exécutez la commande suivante dans le terminal (répertoire
extrait) : sh install.sh

Après l'installation de ces scripts, allez dans le dossier où est installé l'IDE
Arduino.

- 17 -
Presque tous les systèmes d'exploitation sont livrés avec un éditeur de
texte préinstallé (par exemple, Windows est livré avec Notepad, Linux
Ubuntu avec Gedit, Linux Raspbian avec Leafpad, etc.) Tous ces éditeurs
de texte conviennent parfaitement à l'objectif de cet eBook.

La prochaine étape est de vérifier si votre PC peut détecter une carte


Atmega328p. Ouvrez l'IDE Arduino fraîchement installé, et allez dans :
Outils > Carte > {votre nom de carte ici}
{le nom de votre carte ici} devrait être l'Arduino Uno, comme on peut le voir
sur l'image suivante :

- 18 -
Le port auquel la carte Atmega328p est connectée doit être sélectionné.
Allez dans : Outils > Port > {le nom du port va ici}.
Lorsque la carte Atmega328p est connectée au port USB, le nom du port
peut être vu dans le menu déroulant de l'image précédente.
Si l'IDE Arduino est utilisé sous Windows, les noms de port sont les
suivants :

Pour les utilisateurs de Linux le nom du port est /dev/ttyUSBx, où x


représente un nombre entier entre 0 et 9.

- 19 -
Configuration supplémentaire

Afin d'utiliser le module D1 Mini Pro avec l'IDE Arduino, suivez quelques
étapes simples. Avant de configurer l'IDE Arduino, il faut installer le pilote
pour la communication USB-série. Si le pilote n'est pas installé
automatiquement, il existe une page d'assistance qui contient les pilotes
pour Windows/Mac ou Linux et qui peut être choisie en fonction de celui qui
est utilisé. Les pilotes peuvent être téléchargés à partir de ce lien.
Ensuite, pour installer le support pour la plateforme ESP8266, ouvrez l'IDE
Arduino et allez dans : Fichier > Préférences, et trouver le champ URLs
supplémentaires.

Puis copiez l'URL suivante :


https://arduino.esp8266.com/stable/package_esp8266com_index

- 20 -
Collez ce lien dans le champ URL supplémentaires. Si un ou plusieurs liens
se trouvent dans ce champ, ajoutez simplement une virgule après le dernier
lien, collez le nouveau lien après la virgule et cliquez sur le bouton OK.

Fermez et ouvrez à nouveau Arduino IDE et allez dans :


Outils > Cartes > Gestionnaire de cartes
Lorsque la nouvelle fenêtre s’ouvre, tapez esp8266 dans la boîte de
recherche et installez la carte appelée esp8266 fabriquée par Espressif
Systems, comme le montre l’image suivante :

- 21 -
Pour sélectionner la carte D1, allez sur :
Outils> Carte > ESP8266 Boards > Generic ESP8266 Module

Pour télécharger le code sur le D1 Mini Pro, sélectionnez d'abord le port


auquel vous avez connecté la carte. Allez dans :
Outils > Port > {nom du port}

- 22 -
Exemples de codes

LED Clignotante

void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, LOW); // Active LOW turns the LED ON
delay(1000);
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
}

Pour le module D1 Mini Pro, LED_BUILTIN est égal au nombre 2, ce qui


signifie que la LED embarquée est connectée à la broche GPIO2. Pour
allumer la LED, la broche GPIO2 doit être mise à l'état BAS, et pour
l'éteindre elle doit être mise à l'état HAUT.

- 23 -
Modulation PWM

void setup() {
}

void loop() {
// increase the LED brightness
for (int dutyCycle = 0; dutyCycle < 1023; dutyCycle++) {
// changing the LED brightness with PWM
analogWrite(LED_BUILTIN, dutyCycle);
delay(2);
}

// decrease the LED brightness


for (int dutyCycle = 1023; dutyCycle > 0; dutyCycle--) {
// changing the LED brightness with PWM
analogWrite(LED_BUILTIN, dutyCycle);
delay(2);
}
}

- 24 -
Communication série

void setup() {
Serial.begin(9600);
}

void loop() {
Serial.println("D1 Mini Pro Serial Communication");
delay(1000);
}

Téléchargez le code sur le module D1 Mini Pro et ouvrez le moniteur série


(Outils > Moniteur série). Le résultat devrait ressembler à l'image suivante :

- 25 -
Il est maintenant temps de concevoir vos propres projets. Vous pouvez le
faire à l'aide de nombreux exemples de scripts et autres didacticiels, que
vous trouverez sur Internet.

Si vous êtes à la recherche de produits micro-électroniques et


d'accessoires de haute qualité, AZ-Delivery Vertriebs GmbH est votre
interlocuteur idéal pour vous les procurer. Vous bénéficierez de
nombreux exemples d'application, de guides d'installation complets,
de livres électroniques, de bibliothèques et de l'assistance de nos
experts techniques.

https://az-delivery.de
Amusez-vous bien !
Mentions légales
https://az-delivery.de/pages/about-us

- 26 -

Vous aimerez peut-être aussi