Ping Test ESP8266

About: Bienvenue sur mon profil ! Je suis un jeune étudiant passionné par l'électronique et je vous présente ici quelques projets réalisés.

Qui en tant que joueurs en ligne n'a pas connu les terribles lags ? Les énormes montées de ping causées par votre connexion ou encore les déconnexions en pleine partie classée ? N'ayant pas la fibre, et étant 5 chez moi, ces problèmes sont monnaies courantes. On peut mesurer à quel point notre connexion bug grâce au Ping. Il s'agit du délai entre le moment où vous faites l'action sur votre manette ou votre clavier et le moment ou l'action se réalise dans le jeu. Plus cette donnée est grand plus la latence est importante. J'ai donc imaginé un petit boitier donnant en temps réel cette mesure. Ce capteur est uniquement constitué d'un ESP8266 et d'un petit écran OLED. Alors allons y !

Step 1: Le Schéma

Pour réaliser cette carte électronique nous aurons besoin uniquement de 3 composants :

  • Un ESP8266
  • Un écran OLED 1.3"
  • Un LM1117t-3.3

L'ESP va contenir tout le programme. Il va se connecter au Wifi du domicile et ensuite effectuer des pings en continu. Ensuite l'ESP va transmettre le temps en millisecondes sur l'écran via une communication I2C. Quant au LM1117t-3.3 lui permet de convertir le 5V de l'alimentation en 3.3V exigé par l'écran et l'ESP.

Le schéma est plutôt simple. L'alimentation arrive sur le régulateur, ensuite le 3,3V est réparti sur les 2 composants. On relie SDA et SCL sur les ports gpio0 et gpio2 associés respectivement. Et on n'oublie pas de relier les broches CH_PD et RST de l'ESP. Rien de plus !

Step 2: La Programmation

Le moment où j'ai eu le plus de mal dans ce projet est de trouver une librairie pour l'écran COMPATIBLE avec les ESP8266. Entre les librairies où il est carrément impossible de compiler, celles ou le téléversement se fait mais rien ne se passe et celles ou il est affiché n'importe quoi sur l'écran. C'est avec soulagement que j'ai trouvé celle-ci :

https://github.com/rene-mt/esp8266-oled-sh1106

Elle est faites pour les écrans SH1106, donc pour ceux possédant un SSD1306 il est plus simple de trouver une libraire fonctionnelle.

Si c'est la première utilisation de votre ESP8266 je vous laisse d'abord aller voir cet ancien article montrant comment flasher et programmer son ESP : https://www.instructables.com/id/Smart-Plug-ESP826...

Alors tout d'abord téléchargeons la librairie depuis le github et dézippons la dans Documents>Arduino>Librairies.
Une fois cela fait lancez Arduino IDE ou relancez le si vous l'avez déjà ouvert pour actualiser les librairies. Ensuite copiez mon code, et insérez le SSID et le mot de passe de votre WiFi téléversez et vous devriez avoir votre ping d'afficher avec une jolie police 7 segments.

Step 3: Personnaliser La Police

J'ai personnellement choisi une police 7 segments donnant un aspect rétro et geek. Mais si vous souhaitez changer la police cela est possible. Pour cela nous allons utiliser le site : http://oleddisplay.squix.ch

On peut y choisir plein de polices différentes avec la taille souhaitée. Choisissez donc votre police et la taille. Pour celle-ci évitez de dépasser 50 sinon la hauteur des symboles sera supérieure à 64 pixels, soit la hauteur de l'écran. Ensuite choisissez >=3.0.0 et faites Create. Vous obtenez un long code. Nous allons juste y apporter une petite modification au niveau de la déclaration (3ème ligne) nous allons remplacer le char par uint8_t


Une fois cela fait un petit CTRL+A et nous allons coller ce code dans la librairie. Pour cela retournez dans Documents>Arduino>Librairies. Aller dans la librairie de l'écran (esp8266-oled-ssd1306-master). Puis collez le code dans src>OLEDDisplayFonts.h. Ensuite relancer Arduino et sélectionnez votre police avec la commande :

 display.setFont(Ma_police_24);

Step 4:

Voilà c'est tout pour ce projet. Avec ce magnifique capteur vous saurez si oui ou non vous pouvez lancer une partie de votre jeu préféré ! Alors oui je sais un ping www.google.com fait aussi bien l'affaire. Mais ce petit objet reste sympathique et pratique !

Share

    Recommendations

    • Weaving Challenge

      Weaving Challenge
    • Build a Tool Contest

      Build a Tool Contest
    • Organization Contest

      Organization Contest

    Discussions