Tutoriel n°8 : Contrôler les LED RVB embarquées sur l'Arduino Nano ESP32 via Blynk IoT

Introduction

Dans ce didacticiel, nous contrôlerons la LED RVB à bord de l'Arduino Nano ESP32 via le Blynk IoT Cloud et l'application. Si vous venez de recevoir le Nano ESP32, vous êtes probablement intéressé par la réalisation d'un projet lié à l'IoT (IoT = Internet of Things). Le célèbre et désormais familier module Espressif ESP32 trouve sa place à bord de l'Arduino Nano. Deux mondes sont entrés en collision et ont créé cet appareil puissant mais minuscule qui permet à quiconque de démarrer très facilement. Ajoutez au mélange le cloud et l'application Blynk IoT et vous disposez de tous les outils dont vous avez besoin pour créer tout ce que votre imagination peut imaginer. Allons-y!

Exigences matérielles

Tout ce dont vous aurez besoin pour ce tutoriel est un ordinateur, un câble USB-C et un Arduino Nano ESP32. Il existe deux versions de cette carte. L’un est livré avec des broches mâles déjà soudées et l’autre est livré sans en-têtes. L’un ou l’autre fonctionnera pour ce didacticiel car nous ne câblerons aucun composant externe. Nous avons recommandé les sources suivantes :

Logiciels requis

Nous aurons besoin du logiciel suivant pour ce tutoriel.

  1. Téléchargez et installez le L'IDE Arduino . Lorsque vous avez installé la dernière version, assurez-vous d'installer également le Arduino ESP32 cœur. Les instructions peuvent être trouvées ici .
  2. Visitez le site Web Blynk IoT et créez un compte. Ici nous répertorions leur page « démarrage ». Il existe un compte gratuit qui vous permet de connecter jusqu'à deux appareils et d'utiliser les widgets de base de l'application. C'est tout ce dont nous aurons besoin pour ce tutoriel, alors allez-y et créez un compte. Notez que vous n’avez pas nécessairement besoin d’installer leur application pour smartphone. En fait, vous pouvez réaliser tout ce que nous allons réaliser dans ce tutoriel via leur plateforme internet. Cela étant dit, nous sommes un grand fan de leur application. Nous vous suggérons donc également de télécharger leur application.

Étape 1) Création d'un modèle Blynk (à l'aide de leur interface Web)

Nous utiliserons l'interface Web de Blynk pour créer un modèle. Pour cette étape, il est supposé que l'utilisateur a déjà créé un compte sur Blynk et est capable de se connecter. Le but de cette étape est d'obtenir le BLYNK_TEMPLATE_ID personnalisé qui est utilisé dans le croquis de l'IDE Arduino (étape 2 ci-dessous).

  1. Accédez à la page Modèle. Vous pouvez déjà voir le modèle de démarrage rapide par défaut. Nous créerons un nouveau modèle en appuyant sur « + Nouveau modèle ».
  1. En appuyant sur « + Nouveau modèle », une fenêtre apparaîtra. L'utilisateur peut saisir le nom et sélectionner le matériel et le type de connexion. Si vous le souhaitez, une description peut également être saisie. Ceux-ci ne font pas vraiment de différence et ne sont utilisés que pour votre propre référence.

En appuyant sur « Terminé », le nouveau modèle devrait apparaître comme indiqué ci-dessous. Notez qu’aucun appareil ne doit être connecté pour le moment (mais cela le sera dans une étape ultérieure).

  1. Cliquez maintenant sur le modèle nouvellement créé et regardez près du coin inférieur droit de la configuration du micrologiciel pour A) le BLYNK_TEMPLATE_ID et B) le BLYNK_TEMPLATE_NAME. Prenez-en note car nous les utiliserons dans une étape ultérieure. Vous pouvez simplement cliquer dessus et cela copiera automatiquement ce morceau de code.

Étape 2) Téléchargement du croquis sur l'Arduino Nano ESP32

Copiez le code suivant dans l'IDE Arduino. Assurez-vous de remplacer le BLYNK_TEMPLATE_ID par celui que vous avez obtenu à l'étape précédente, et que le BLYNK_TEMPLATE_NAME correspond à la configuration du micrologiciel. Allez-y et téléchargez ce code sur le microcontrôleur Nanoe ESP32. Notez que cela ne fonctionnera pas encore. Dès que le microcontrôleur tente d'exécuter la ligne BlynkEdgent.begin(); ça va pendre. Nous devons ensuite ajouter l'appareil au modèle, ce que nous ferons à l'étape suivante.

 // Controlling RGB onboard Arduino Nano ESP32 via Blynk IoT
 // Last Update: Sept 2, 2023
 // For support, contact@PTSolns.com

 // Resources:
 // Arduino Cheatsheeet: https://docs.arduino.cc/tutorials/nano-esp32/cheat-sheet, see section on RGB

 // Description
 // We will use the onboard RGB LED and control each of their three colors via the Blynk IoT cloud and app.
 // Note that the pins of the RGB are active-low, meaning that to turn them ON
, we need to corresponding pinstate to LOW. This is shown in the example sketch below. // RGB pins:
// Rouge, r_pin = 14 // Vert, g_pin = 15 // Bleu, b_pin = 16 #define BLYNK_TEMPLATE_ID "INSÉRER L'ID DE MODÈLE QUE VOUS AVEZ OBTENU DE BLYNK" #define BLYNK_TEMPLATE_NAME "RGBBlynk" // Mettez le nom de votre choix #define BLYNK_FIRMWARE_VERSION "0.0.1" // Mettez le numéro de version de votre choix #définir USE_ESP32_DEV_MODULE #include "BlynkEdgent.h" // L'Arduino Nano ESP32 a ces broches pour la LED RVB intégrée : const int r_pin = 14 ; const int g_pin = 15 ; const int b_pin = 16 ; int r_pin_state; int g_pin_state; int b_pin_state; // Lors de la mise sous tension de l'appareil, les états des broches matérielles seront synchronisés avec les états des broches virtuelles correspondantes. BLYNK_CONNECTED() { Blynk.syncAll(); } // Mettre à jour les états des broches lorsqu'ils sont modifiés sur le cloud IoT BLYNK_WRITE(V0) { r_pin_state = param.asInt(); } BLYNK_WRITE(V1) { g_pin_state = param.asInt(); } BLYNK_WRITE(V2) { b_pin_state = param.asInt(); } void setup() { pinMode(r_pin, SORTIE); pinMode(g_pin, SORTIE); pinMode(b_pin, SORTIE); BlynkEdgent.begin(); } boucle vide() { BlynkEdgent.run(); si (r_pin_state == 0) { digitalWrite(r_pin, ÉLEVÉ); // HIGH signifie OFF pour l'Arduino Nano ESP32 } autre { digitalWrite(r_pin, FAIBLE); // LOW signifie ON pour l'Arduino Nano ESP32 } si (g_pin_state == 0) { digitalWrite(g_pin, ÉLEVÉ); } autre { digitalWrite(g_pin, FAIBLE); } si (b_pin_state == 0) { digitalWrite(b_pin, ÉLEVÉ); } autre { digitalWrite(b_pin, FAIBLE); } }

Étape 3) Ajout d'un appareil au modèle

Pour cette étape suivante, accédez à l'application Blynk IoT 2.0 et appuyez sur « + Ajouter un nouvel appareil ». Cette option peut être trouvée en haut à droite en appuyant sur trois lignes horizontales comme indiqué ci-dessous.

À partir de là, suivez simplement les instructions pour connecter l’appareil. Quelques conseils de dépannage :

  • Désactivez le VPN sur votre smartphone car cela pourrait bloquer l'établissement de la connexion. Une fois l'appareil connecté, vous pouvez réactiver le VPN et il continuera à fonctionner.
  • Assurez-vous que le microcontrôleur Nano ESP32 est proche du smartphone.

Étape 4) Ajouter des widgets

Une fois l'appareil ajouté avec succès, vous devriez voir un bloc sur la page d'accueil principale de l'application Blynk IoT 2.0 avec le nom « RGBBlynk », ou similaire. Lorsque vous cliquez à l'intérieur, il devrait être vide. Ajoutons quelques widgets. Dans notre cas, nous souhaitons allumer et éteindre les trois LED RVB intégrées à l'Arduino Nano ESP32. Pour ce projet simple, nous ajouterons des widgets Button et les configurerons pour chacun des trois flux de données. En regardant le croquis que nous avons téléchargé, nous voyons que la broche virtuelle V0 est affectée à la LED rouge, V1 à la LED verte et V2 à la LED bleue. Une fois que vous avez ajouté un widget Button au canevas, connectez les flux de données et configurez-les comme vous le souhaitez. Vous pouvez jouer avec ces paramètres et options de conception. La seule configuration qu'il est important de définir est dans les paramètres, pour changer le mode en Switch.

Une fois que vous avez ajouté les trois boutons et les avez configurés, vous pourriez obtenir quelque chose comme indiqué ci-dessous. Et c'est tout! Désormais, lorsque vous appuyez sur l'un de ces boutons (qui doivent servir de commutateurs), la LED correspondante à bord de l'Arduino Nano ESP32 doit s'allumer ou s'éteindre. Essaie 😀

Contactez-nous

Si vous avez des questions ou des suggestions concernant ce tutoriel, n'hésitez pas à Contactez-nous .