Utiliser une Carte Arduino AtMéga + Wifi ! Avec démo en video

Portrait de Anonyme

Il existe une carte Arduino Mega2560 qui intègre un ESP8266, ce qui permet d’avoir en une seule carte une Mega2560 WIFI ce qui offre des possibilités énormes.

data:image/jpeg;base64,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

Aliexpress.com

Soit :

  • 54 entrées/sorties dont 22 utilisables en PWM
  • 16 entrée analogiques ou de 1à 16 entrées digitales de plus (donc jusqu’à 70 digitales
  • 4 ports Séries
  • Client / Serveur WIFI

Le tout sur une seule et même carte.

Par contre sur le net il y a pas mal de « FAKES » de gens qui donnent des solutions infaillibles paraît-il entre autres mais pas vraiment fonctionnelles.

Ce que je vous propose ici c’est le moyen de pouvoir utiliser cette carte avec toutes ces possibilités et avec je l’espère la confiance que vous pouvez m’accorder car tout ce que je poste ici est parfaitement fonctionnel avec tous les détails et astuces le cas échéant.

Donc dans un premier temps je vous propose de paramétrer l’ide Arduino comme ceci :

https://www.les-electroniciens.com/discussions/programmer-un-esp8266-avec-arduino-ide

Avec les lignes suivantes dans les préférences URL :

Bien, si vous avez réalisé les instruction précédentes  nous allons pouvoir tester la fonctionnalité WIFI de cette carte

Il faut savoir qu’il y a au milieu de cette carte des micro-switches qui permettent de paramétrer la carte de plusieurs façons.

Notamment en deux modes réservés à la fonction ESP8266.

  • OFF OFF OFF OFF ON ON ON OFF pour téléverser le code dans l’ESP8266.
  • OFF OFF OFF OFF ON ON OFF OFF pour utiliser l’ESP8266 en WIFI.

Donc d  ns un premier temps nous allons positionner uniquement les switches 5, 6 et 7 sur ON les autres sur OFF.

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSXKJtZZ9jGP-KHj3P2FPXpA6JJq5rWXhMJzM5G7KaMW_MmazVhXg&s

Recopiez le code Suivant :

/* Tuto pour Carte AtMega2560 + WIFI (Esp8266) Par Wolfram69
  Configurez les dip switch Comme ceci : OFF OFF OFF OFF ON ON ON OFF soit 5,6 et 7 sur ON les autre sur OFF.
  Positionnez le switch sur RXD0 TXD0 juste en dessous des ports 0 à 3
  renseignez le SSID et le PASSWORD.* (Ici Wolfram69)
  Selectionnez le bon port com sur IDE Arduino ainsi que la carte "Generic ESP8266 Module */

#include <ESP8266WiFi.h> // Librairie pour la WIFI
//Définition des varaibles globales et constantes
const char* ssid = "Wolfram69"; // Le nom de votre réseau Wifi
const char* password = "Wolfram69"; // Votre mot de passe
const int portWifi = 106;

// Creation d'un serveur Web sur le port standard 100

WiFiServer server(portWifi); //vous pouvez changer cestte valeur "8100" mais il faudra la reconduire dans les différents codes !!/

void setup() {
  // Création d'un port série à 115200 bauds
  Serial.begin(115200);
  delay(10);

  // Connection au réseau WiFi
  Serial.println();
  Serial.println();
  Serial.print("Connection au réseau Wifi :");
  Serial.println(ssid);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(300);
    Serial.print(".");
  }
  Serial.println("WiFi connectee");
  // Démarrage du Serveur
  server.begin();
  Serial.println("Serveur demarre");

  // Envoie de l'adresse IP sur le port série
  Serial.println("Adresse Ip du serveur :");
  Serial.println(WiFi.localIP()); // Affichage de l'adresse  IP
  Serial.println("Test WIFI Reussi");
  Serial.println("Maintenant ouvrez votre navigateur préféré et tapez l'adresse :");
  Serial.print("http://");  Serial.print(WiFi.localIP());  Serial.print(":");  Serial.print(portWifi);
  Serial.println("/");
  Serial.println("Puis entree");
   
}

/********************************************************/

void loop()
{
  WiFiClient client = server.available();
  if (!client) { // Si pas de client retour au début de "void loop()"
    return;
  }
  String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n ";
  String Retour = "Le serveur fonctionne parfaitement";
  s += Retour;
  client.print(s);
  client.flush(); // Libération du client
  client.flush(); // idem pour en être sûr
}

Sélectionnez le type de carte "WeMosD1 R1" et le bon port Com :

Puis téléversez ce code !

Attention : Avant de modifier les switches débranchez l'Arduino pour plus de sécurité !
Remettez le dip N° 7 sur OFF  pour obtenir OFF OFF OFF OFF ON ON OFF cette fois-ci !
Rebranchez le module sur le port USB et ouvrez la console série en appuyant sur la petite loupe en haut à gauche du navigateur et en sélectionnant 115200 bauds en bas à droite de la fenêtre .
La console série devrait vous afficher :
Test WIFI Reussi
Maintenant ouvrez votre navigateur préféré et tapez l'adresse :
http://xxx.xxx.xxx.xxx:106/
Puis entree

Faites un copier/coller de la ligne commençant par http://........... dans votre navigateur puis entrée

si tout ce passe bien vous deviez lire :

Le serveur fonctionne parfaitement

Dans la nouvelle page WEB du navigateur

Fin de la 1 ère Partie

Portrait de Anonyme

Partie 2

Programmation de la partie Mega2560 seule.

Contrairement à la partie ESP8266 la position des dip Switches est la même pour programmer et pour utiliser la partie Mega2560 qui est

OFF OFF ON ON OFF OFF OFF OFF soit les switches 3 et 4 sur ON les autres sur OFF !

Le programme suivant ( très simple ) va permettre à la LED que l'on peut allumer ou éteindre à notre guise ( LED_BUITLIN quelque soit la carte Arduino) d'afficher le mot 'ON' en morse soit:

---    -* (- pour trait  et * pour point)
'O'  'N'

Ceci en boucle mais uniquement lorsque la carte Mega2560 recevra le mot ON sur le port série, pour tout autre mot l'affichage sera arrêté àa la fin du mot.

'ON' ou 'on' seront accepté car la comparaison se fera avec le mot reçu systématiquement mis en majuscules !

Copiez le code suivant dans l'IDE Arduino:

/* Tuto pour Carte AtMega2560 + WIFI (Esp8266) Par Wolfram69 Partie 2
  Programme de la  Mega2560 seule

  Configurez les dip switch Comme ceci : OFF OFF ON ON OFF OFF OFF OFF soit 3 et 4 sur ON les autre sur OFF.
  Positionnez le switch sur RXD0 TXD0 juste en dessous des ports 0 à 3
  Selectionnez le bon port com sur IDE Arduino ainsi que la carte "AtMega 2560*/

String TXT="";

void setup() {
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  if (Serial.available() > 0) {
    delay(100);
    TXT = Serial.readString();
    TXT.toUpperCase();
  }
  if (TXT.indexOf("ON") >= 0) { //Affichage de 'On' en morse !

    // début de l'affichage de 'O'
    digitalWrite(LED_BUILTIN, HIGH);   // -
    delay(300);
    digitalWrite(LED_BUILTIN, LOW);    //
    delay(100);
    digitalWrite(LED_BUILTIN, HIGH);   // -
    delay(300);
    digitalWrite(LED_BUILTIN, LOW);    //
    delay(100);
    digitalWrite(LED_BUILTIN, HIGH);   // -
    // fin de 'O'
    delay(300);
    // espace en le deux lettres
    // début de 'N'
    digitalWrite(LED_BUILTIN, LOW);
    delay(300);
    digitalWrite(LED_BUILTIN, HIGH);   // -
    delay(300);
    digitalWrite(LED_BUILTIN, LOW);
    delay(100);
    digitalWrite(LED_BUILTIN, HIGH);   // *
    delay(100);
    digitalWrite(LED_BUILTIN, LOW);
    // fin de 'N'
    delay(700);
    // espace entre deux mots !
  }
}

Séléctionnez le type de carte Mega 2560 et le bon port com:

Téléversez ce code !

Nul besoin de modifier quoique ce soit.

  • Ouvrir la console série à 115200 bauds.
  • Ecrire ON dans le champs de la console qui permet de dialoguer avec le périphérique
  • > La led affiche le mot 'ON'
  • Ecrire OFF (ou tout autre mot)
  • l'affichage s'arrête à le fin du mot.

Fin de la Deuxième Partie

La troisième et dernière partie expliquera comment faire interagir le serveur Wifi et l'affichage ou non du code en morse !

Elle comportera une vidéo sur YOUTUBE qui reprendra l'ensemble des trois parties

Portrait de Anonyme

Partie 3 et dernière partie !

Nous allons tester maintenant une application complète qui va avoir comme but :

  • Saisie dans un navigateur, l’adresse de la carte (xxx.xxx.xxx :100/) suivi d’un mot ou d’une phrase alphanumérique puis Entrée ! Pas de caractères spéciaux ni accentués.
  • Une fois le message reçu par la carte elle renverra au navigateur un acqui
  • Puis sur la console série elle affichera successivement les caractères du message suivi du code Morse ‘-‘ pour les traits et ‘*’ pour les points et un laps de temps d'un valeur de 7 points (7x 100 ms) pour les espaces.
  • Enfin un LED transcrira le code en signaux lumineux

Ainsi on aura utilisé l’ensemble de la carte.

Maintenant vous connaissez le principe :

Voici de code pour la partie ESP8266

|

/* Tuto pour Carte AtMega2560 + WIFI (Esp8266) Par Wolfram69 ** Févier 2020
  Configurez les dip switch Comme ceci : OFF OFF OFF OFF ON ON ON OFF soit 5,6 et 7 sur ON les autre sur OFF.
  Positionnez le switch sur RXD3 TXD3 juste en dessous des ports 0 à 3
  renseignez le SSID et le PASSWORD.* (Ici Wolfram69)
  Selectionnez le bon port com sur IDE Arduino ainsi que la carte "Generic ESP8266 Module */

#include <ESP8266WiFi.h> // Librairie pour la WIFI
//Définition des varaibles globales et constantes
const char* ssid = "Wolfram69"; // Le nom de votre réseau Wifi
const char* password = "Wolfram69"; // Votre clef WEP en général
const int portWifi = 100;
int N, Deb, Fin;
String req, txt;

// Creation d'un serveur Web sur le port standard 100

WiFiServer server(portWifi); //vous pouvez changer cestte valeur "8100" mais il faudra la reconduire dans les différents codes !!/

void setup() {
  // Création d'un port série à 115200 bauds
  Serial.begin(115200);
  //Serial.begin(115200);
  delay(10);

  // Connection au réseau WiFi
  Serial.println();
  Serial.println();
  Serial.print("Connection au réseau Wifi :");
  Serial.println(ssid);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(300);
    Serial.print(".");
  }
  Serial.println("WiFi connectee");
  // Démarrage du Serveur
  server.begin();
  Serial.println("Serveur demarre");

  // Envoie de l'adresse IP sur le port série
  Serial.println("Adresse Ip du serveur :");
  Serial.println(WiFi.localIP()); // Affichage de l'adresse  IP
  Serial.println("Test WIFI Reussi");
  Serial.println("Maintenant ouvrez votre navigateur préféré et tapez l'adresse :");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.print(":");
  Serial.print(portWifi);
  Serial.println();

  Serial.println("Puis entree");

}

/********************************************************/

void loop()
{
  WiFiClient client = server.available();
  if (!client) { // Si pas de client retour au début de "void loop()"
    return;
  }
  // Attente des datas du client
  while (!client.available()) { // Attente de la requète du client
    delay(10);
  }
  // Lecture de la requête du client
  String req = client.readStringUntil('\r'); // Lecture de la requète jusqu'à '\r'
  Deb = req.indexOf("GET /") + 5; // Recherche du début de la requète
  Fin = req.indexOf(" HTTP/"); // Recherche de la fin de la requète
  txt = req.substring(Deb, Fin); // Attribution de la requète à la variable String  txt
  txt.replace("%20", " "); //Remplacement du codage des espaces en html par de vrai espaces
  Serial.println(txt); // Afichage de la requète sur le port série

  String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\n ";
  String Retour = "Le message '" + txt + "' a ete envoye au module Mega";
  s += Retour;
  client.print(s);
  client.flush(); // Libération du client
  client.flush(); // idem pour en être sûr
}

Copiez ce code dans L’IDE Arduino.

Positionnez les dips switches suivant les indications en tête du code du code, sélectionnez le type de carte « WeMos R1 D1 » et le bon Port COM !

Raccordez la carte au port USB puis téléversez ce code.

Débranchez la carte du port USB

  Voici de code pour la partie AtMega 2560

|

/* Tuto pour Carte AtMega2560 + WIFI (Esp8266) Par Wolfram69 ** Février 2020
  Programme Alphabet Morse pour module Mega2560 seule

  Configurez les dip switch Comme ceci : OFF OFF ON ON OFF OFF OFF OFF soit 3 et 4 sur ON les autre sur OFF.
  Positionnez le switch sur RXD0 TXD0 juste en dessous des ports 0 à 3
  Selectionnez le bon port com sur IDE Arduino ainsi que la carte "AtMega 2560 */

char Alphabet[47][6] = {
  {'-', '-', '-', '-', '-'}, // 0
  {'*', '-', '-', '-', '-'}, // 1
  {'*', '*', '-', '-', '-'}, // 2
  {'*', '*', '*', '-', '-'}, // 3
  {'*', '*', '*', '*', '-'}, // 4
  {'*', '*', '*', '*', '*'}, // 5
  {'-', '*', '*', '*', '*'}, // 6
  {'-', '-', '*', '*', '*'}, // 7
  {'-', '-', '-', '*', '*'}, // 8
  {'-', '-', '-', '-', '*'}, // 9
  {},
  {},
  {},
  {},
  {},
  {},
  {},
  {},
  {'*', '-'},               // A
  {'-', '*', '*', '*'},     // B
  {'-', '*', '-', '*'},     // C
  {'-', '*', '*'},          // D
  {'*'},                    // E
  {'*', '*', '-', '*'},     // F
  {'-', '-', '*'},          // G
  {'*', '*', '*', '*'},     // H
  {'*', '*'},               // I
  {'*', '-', '-', '-'},     // J
  {'-', '*', '-'},          // K
  {'*', '-', '*', '*'},     // L
  {'-', '-'},               // M
  {'-', '*'},               // N
  {'-', '-', '-'},          // O
  {'*', '-', '-', '*'},     // P
  {'-', '-', '*', '-'},     // Q
  {'*', '-', '*'},          // R
  {'*', '*', '*'},          // S
  {'-'},                    // T
  {'*', '*', '-'},          // U
  {'*', '*', '*', '-'},     // V
  {'*', '-', '-'},          // W
  {'-', '*', '*', '-'},     // X
  {'-', '*', '-', '-'},     // Y
  {'-', '-', '*', '*'}      // Z
};

int Lg;
String Txt;

void setup() {
  char n;
  pinMode(LED_BUILTIN, OUTPUT);

  Serial.begin(115200);
  //  Serial.println(Alphabet['A'][4]);

  //("SOS   SOS   SOS   SOS   SOS ");// me recevez vous 5 sur 5");
}

void loop() {
  // put your main code here, to run repeatedly:
  if (Serial.available() > 0) {
    Txt = Serial.readString();
    Txt.toUpperCase();
    Phrase(Txt);
  }

}
void Phrase(String Ph) {
  Ph.toUpperCase();
  Lg = Ph.length();
  int n;
  Serial.println(Lg);
  for (n = 0; n < Lg; n++) {
    char x = Ph.charAt(int(n));
    Serial.print(x);
    if (x == ' ') {
      Serial.println(' ');
      delay(600);
    }
    else
      //Serial.println(Alphabet[x - 47]);
      LedMorse(Alphabet[x - 47]);
  }
}
char LedMorse(char C[6]) {
  int n, LedOn, LedOff;
  Serial.println(C);
  for (n = 0; n < 6; n++) {
    switch (C[n]) {
      case '-':
        LedOn = 300;
        LedOff = 100;
        break;

      case '*':
        LedOn = 100;
        LedOff = 100;
        break;
      default :
        LedOn = 0;
        LedOff = 200;
    }
    digitalWrite(LED_BUILTIN, HIGH);
    delay(LedOn);
    digitalWrite(LED_BUILTIN, LOW);
    delay(LedOff);
  }
}

Copiez ce code dans L’IDE Arduino.

Positionnez les dips switches suivant les indications en tête du code du code, sélectionnez le type de carte « AtMega 2560 » et le bon Port COM !

Raccordez la carte au port USB puis téléversez ce code.

Débranchez la carte du port USB

Positionnez maintenant les dips switches sur ON ON ON ON OFF OFF OFF OFF soit les quatre premiers sur ON les autres sur OFF 

Positionnez le switch sur RXD0 TXD0 juste en dessous des ports 0 à 3

Le switch n° 8  est inactif !!

Raccordez la carte au port USB de votre Ordinateur et attendre 10 à 20 secondes pour laissez le temps à la carte de se connecter à la WIFI de votre BOX.

Ouvrez le navigateur de votre choix

Dans la barre d’adresse taper l’adresse de votre carte suivi de la phase voulue par exemple :

http://xxx.xxx.xxx:100/SOS sos SoS SOS

puis

http://xxx.xxx.xxx:100/Recu 5 sur 5

Voilà ce n’est pas très compliqué il suffit de suivre les étapes dans l’ordre !

La démo en vidéo sur Youtube, par contre je vous laisse tester par vous même la fin de la deuxième partie

  

Portrait de Anonyme

Vous pouvez poser vos questions ici !

Portrait de smsgsic

.