Recycler une voiture télécommandée (RC Car) avec un ESP8266, Shield Motor Wemos d1 mini et Blynk

Accéder aux soldes du Black Friday Amazon Black friday Banggood Black Friday Gearbest
10% de remise supplémentaire* sur les produits domotiques Xiaomi

Kits domotiques, caméras de sécurité, robot aspirateur, purificateur d'air... *Hors produits déjà en promotion

Voir le code promo
39 jours restants

Pour ce nouveau projet, je vous propose de recycler une voiture télécommandée en remplaçant le récepteur radio par un ESP8266. Les moteurs seront contrôlés à l’aide d’un shield Motor pour Wemos d1 mini présenté dans cet article. Vous avez certainement une vieille voiture télécommandée qui traine à la maison. La télécommande ne fonctionne plus ou elle a été perdue. Pour ce projet, nous allons retirer le circuit imprimé qui contient le récepteur et les commandes des moteurs. Nous conserverons uniquement les moteurs et bloc de piles qui servira à alimenter en énergie les 2 moteurs. Pour ce tutoriel, j’ai utilisé un modèle de voiture télécommandée équipé d’un moteur pour l’orientation des roues avant. La télécommande sera remplacée par une tablette ou un smartphone à l’aide de l’application et de la librairie Blynk. Si vous n’avez pas de vielle voiture télécommandée, nous adapterons le programme dans un prochain tutoriel pour un kit RC Car.

Matériel utilisé

Pour ce projet, je vous propose d’utiliser le shield Motor pour Wemos d1 mini. Elle vient s’empiler sur l’ESP8266 ce qui permet d’obtenir un montage très compact. Ls moteurs seront alimentés à l’aide de l’ancien bloc de piles. La Wemos sera alimentée à l’aide d’un batterie LiPo. Ici, j’ai utilisé une batterie de 1100mAh. Je vous conseille d’utiliser le shield Battery (présenté ici) ou utiliser une Power Bank.

esp8266 Wemos D1 mini Wemos D1 Mini
wemos d1 mini motor shield i2c Driver I2C pour piloter 2 moteurs (15 VDC max.)

Environ 2,85€ (hors frais de port)

batterie lipo 150mah 3V7 Batterie LiPo 3,7V pour alimentation Wemos d1 mini

à partir de 6,90€

Comme c’est un projet de voiture télécommandée, il y a forcément des options :-).

wemos d1 mini shield batterie lipo Chargeur pour batterie LiPo avec connecteur micro USB.

environ 2,20€

Câble de remplacement avec connecteur JST XH2-2.54mm

environ 0,23€ le cable

wemos d1 mini dual base Base double.

Environ 0,95€

kit connecteur header dupont jumper Kit connecteur pour jumper Dupont

Environ 4,17€ la boite de 310 pièces

Power Bank. Vous pouvez également alimenter la Wemos par une batterie délivrant une tension de 5V servant habituellement à  recharger un smartphone ou tablette en voyage

A partir de 12€

Attention. Le firmware n’est pas correctement installé sur de nombreux clones. Je vous conseille d’acheter directement ce shield sur la boutique officielle de Wemos CC ici.

Pourquoi ne pas utiliser un pont en H L293D ?

Effectivement, si vous ne voulez pas investir dans un shield Motor, il est tout à fait possible d’utiliser un pont en H, par exemple le L293D. Le prix de revient est équivalent. Par contre au niveau de la mise en oeuvre, ça n’a rien à voir ! Sur le shield Motor, vous n’aurez que 6 fils à brancher. L’alimentation électrique en provenance du bloc de piles et 2 fils par moteur. Vous n’aurez même pas besoin de jumpers. Vous pourrez recycler les anciens fils (s’ils sont assez long évidemment). Enfin dernier avantage, le shield Motor est déjà correctement câblé pour délivrer toute la puissance au moteur.

Sur un L293D, il faudra brancher une alimentation électrique complémentaire (par exemple une pile 4.5V) sur la broche 8 (VCC2) pour délivrer suffisamment de puissance aux moteurs. La Wemos d1 mini ne délivre pas assez de puissance pour faire fonctionner les moteurs correctement. La broche 16 sert uniquement à alimenter le pont en H. Vous pouvez la relier à la sortie 5V de la Wemos. Enfin, n’oubliez pas de brancher la masse de la batterie à la masse de la Wemos.

L293D pinout repérage des broche

Repérage des broches du pont en H L293D

 

 Pin N°
 Function
 Nom
1
Enable pin pour Moteur 1. Actif sur état Haut
Enable 1,2
2
Entrée 1 pour Moteur 1
Input 1
3
Sortie 1 pour Moteur 1
Output 1
4
Masse (0V)
Ground
5
Masse (0V)
Ground
6
Sortie 2 pour Moteur 1
Output 2
7
Entrée 2 pour Moteur 1
Input 2
8
Alimentation électrique des Moteurs. 9 à 12V (jusqu’à 36V)
 Vcc 2
9
Enable pin pour Moteur 2. Actif sur état Haut
Enable 3,4
10
Entrée 1 pou Moteur 1
Input 3
11
Sortie 1 pour Moteur 1
Output 3
12
Masse (0V)
Ground
13
Masse (0V)
Ground
14
Sortie 2 pour Moteur 1
Output 4
15
Entrée 2 pour Moteur 1
Input 4
16
Alimentation 5V du pont L293H (jusqu’à 36V)
Vcc 1

Préparation de la voiture télécommandée

La première chose à faire est donc de démonter l’ancien circuit. Le plus difficile est le démontage. Dans mon cas, la carrosserie était collée au chassis. Coupez tous les câbles au plus près du récepteur radio.

rc car voiture telecommandee carte radio commande

Pensez à la planète. Ne mettez pas à la poubelle l’ancien circuit. Recyclez le dans une déchèterie proche de chez vous

Circuit

Pour connecter les anciens câbles au shield Motor, vous pouvez utiliser un kit de connecteur Dupont. Voici le montage terminé.

rc car voiture telecommandee esp8266 blynk shield motor battery

J’ai utilisé une base double pour limiter la hauteur de l’assemblage. Il n’y a pas de position particulière à respecter. La Wemos d1 mini peut être placée aussi bien à droite qu’à gauche. Le Shield Motor n’est pas livré avec des connecteurs à empiler,, elle a pris place au dessus de la Wemos. Le shield Battery sur l’emplacement libre avec la Led. Une Led verte de 5mm de diamètre pouvant supporter une tension d’alimentation comprise entre 3 et 3.4V, il n’est pas utile de réduire la tension délivrée par la Wemos d1 mini (3.3V).

Projet Blynk

Lancez Blynk sur votre smartphone ou tablette. Si vous disposez d’un serveur local, connectez vous à celui-ci en modifiant la source comme indiqué sur la copie d’écran ci-dessous.

Pour bien débuter avec l’application Blynk, suivez ce tutoriel.

blynk create account local server

Créez un nouveau projet. Dans la liste Device, sélectionnez ESP8266. Dans la liste Connexion Type, choisissez WiFi.

 esp8266 blynk rc car voiture telecommandee shield motor

Placez ensuite 4 boutons. Choisissez le mode Push. La valeur est maintenue jusqu’au relâchement de celui-ci. Voici les variables virtuelles utilisées dans le code Arduino :

  • V1 : avancer
  • V2 : reculer
  • V3 : droite
  • V4 : gauche

esp8266 blynk rc car voiture telecommandee shield motor bouton avance

Placez enfin un slider (V0). Cochez Send values on release only, ce qui permet de n’envoyer la valeur de la consigne qu’au moment du relâchement du slider. La borne maximale ne doit pas excéder 100 (%).

esp8266 blynk rc car voiture telecommandee shield motor slider speed

Voici le projet obtenu

esp8266 blynk rc car voiture telecommandee shield motor

Code Arduino / ESP8266

Pour ce projet, nous allons inclure les 3 librairies suivantes :

Les variables suivantes permettent de définir

  • la consigne de la puissance du moteur de propulsion
  • la broche sur laquelle est branchée la Led qui indique l’état de connexion au serveur Blynk
  • les paramètres de connexion au réseau WiFi
  • le token du projet Blynk

Maintenant, nous allons créer deux objets qui permettent de contrôler les moteurs

Dans la boucle setup, on initialise la sortie de Led et on lance la connexion au serveur Blynk local. Si vous n’utilisez pas un serveur Blynk local, supprimez simplement les deux derniers paramètres (IP du serveur Blynk local et port).

La boucle loop est très simple. On appel simplement à chaque passage Blynk. On vérifie que l’on est toujours connecté au serveur Blynk. Si c’est le cas, on allume la Led. Dans le cas contraire, on l’éteint.

Maintenant il ne reste plus qu’à gérer les commandes de pilotage :

  • V0 : ajuste la puissance moteur entre 0 et 100%
  • V1 : avance
  • V2 : recule
  • V3 : tourne à gauche
  • V4 : tourne à droite

Pour avancer par exemple, on utilise la méthode setmotor qui prend deux paramètres

  • l’ordre (_CW, _CCW, _SHORT_BRAKE, _STOP ou _STANDBY)
  • une consigne

Donc ici, pour avancer, on passera les paramètres _CW avec la consigne contenue dans la variable _speed. Pour reculer, on passera l’ordre inverse, _CCW. Si les commandes sont inversées, vous pouvez simplement inverser le câblage au niveau du shield Motor. Vous remarquerez dans le code complet que j’ai limité la vitesse de recul à 50% de la vitesse d’avance. Libre à chacun de supprimer cette limitation.

Pour aller à droite ou à gauche, c’est exactement la même chose. On fera tourner le moteur dans un sens ou dans l’ordre. Les roues directrices reviennent en position centrale à l’aide d’un ressort. Il n’y a donc rien à programmer. Par contre c’est un fonctionnement tout ou rien.

Voici le code complet du projet. Il vous reste à modifier les paramètres présentés plus haut avant de le téléverser le programme sur l’ESP8266 de la Wemos d1 mini.



Il ne reste plus qu’à tester le projet. Après chaque téléversement du programme dans l’ESP8266, il est nécessaire de faire un Reset de la carte pour que le shield Motor fonctionne. Je ne connais pas encore l’origine du problème. Attendez quelques secondes, le temps que l’ESP8266 se connecte au réseau WiFi et au serveur Blynk. Si vous êtes connecté sur un serveur local, le temps de connexion devrait être plus rapide.

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous dés inscrire à tout moment.

Comparateur de prix

Bons plans

Les offres suivantes se terminent bientôt. Utilisez le coupon indiqué pour profiter du prix promo

Projets DIY - Domotique et objets connectés à faire soi-même