Robot ESP8266

Discussions de la liste robotique
Avatar de l’utilisateur
Batto
Messages : 92
Enregistré le : jeu. 17 oct. 2013 20:02
Adhérent Labsud : Adhérent
Localisation : Montpellier
Contact :

Robot ESP8266

Messagepar Batto » mar. 19 janv. 2016 14:05

Bonjour à tous,

Y'aura bientôt un atelier sur le sujet doc j'ai commencé à jouer avec : il s'agit d'un kit robot qu'on trouve basé sur un NodeMCU (une carte de développement à base d'ESP8266 qui est un processeur ARM avec le wifi pour une bouchée de pain, programmable via l'interface de développement Arduino). Il s'agit donc ici de commencer par bâtir un robot contrôlé par wifi.

Le robot

Image

Le kit est fourni avec un shield moteur basé sur un L293 qui permet de faire l'interface de puissance entre le NodeMCU et les moteurs. L'utilisation du L293 est très simple : il y a deux "canaux" pour deux moteurs, et pour chaque moteur on a un pin pour la direction (état haut je tourne dans un sens, état bas dans l'autre) et un pin pour déclencher le passage du courant. Ce dernier peut être piloter en PWM ce qui permet de faire varier la vitesse du moteur.

J'ai commencé à coder une appli Android sous AppInventor, une plateforme qui permet de faire très simplement des appli sous Android. Alors petite faiblesse de cette plateforme, c'est qu'elle ne gère que les requête HTTP complète, alors qu'ici ce qu'il aurait fallu c'est pouvoir ouvrir un socket TCP ou UDP. En plus l'appli a un peu de mal à les enchainer, donc le résultat est pas parfait mais fonctionnel. J'ai même rajouter une photorésistance et dans l'appli on récupère la luminosité.

Le code qui n'est pas très propre pour le moment : https://github.com/labsud/WifiBot

L'appli : http://ai2.appinventor.mit.edu/#5459681000030208

Le principe est assez simple : le robot obéit à une requete de la forme http://sonip.sondomaine:port/motdepasse ... l=WW&fb=YY

Y'a pas mal de notion touchant à internet un peu longue à décrire ici donc je vais pas rentrer dans les détails, surtout qu'on fera un atelier dessus, mais j'espère que ça aidera certains qui ont commencé à jouer avec.
Président de LABSud

Blog électronique : http://battomicro.wordpress.com/
Photographie : http://www.interactive-celebration.fr

Sabri ch
Messages : 1
Enregistré le : lun. 6 juin 2016 14:01
Adhérent Labsud : pas encore...

Re: Robot ESP8266

Messagepar Sabri ch » mer. 8 juin 2016 00:06

Bonsoir
merci beaucoup pour ce bloc
je suis aussi interessé par developpement d'une application par AppInventor 2 pour commander un robot par wifi
pouvez vous m'aider pour faire les blocs de l'application
et merci :)

cmaury
Messages : 1
Enregistré le : mar. 8 août 2017 11:41
Adhérent Labsud : pas encore...

Re: Robot ESP8266

Messagepar cmaury » mar. 8 août 2017 15:54

Bonjour
Je tourne en rond de puis plusieurs jours avec ce shield moteur basé sur un L293. J'essaye de déclencher et de stopper un moteur avec juste un exemple simple avec Arduino et je suis en train de craquer. Pouvez vous me donner un conseil pour que je puisse comprendre ce qu'il ne va pas ?
J'ai suivi et lu tous les tutos et documentation et je ne comprends pas pourquoi mon moteur ne démarre pas ...
pour info, j'ai branché la carte et l'alim du moteur en 5 v (usb pc) , branché un moteur sur le "moteur A" et je ne suis pas un électronicien ...

mon esp8266 12 E est nodemcu 1.0

:-(((

Voici mon code

//----------------------------------------------------------------------
// programme
//
//----------------------------------------------------------------------
#include <ESP8266WiFi.h>
const char* ssid = "XXXXX";
const char* password = "XXXXXXXXXXXXXx";



void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
delay(10);
Serial.print("Connexion wifi");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");

}

pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(0, OUTPUT);
pinMode(2, OUTPUT);

digitalWrite(5, 0);
digitalWrite(4, 0);

digitalWrite(0, 1);
digitalWrite(2, 1);
}

void loop() {
// put your main code here, to run repeatedly:
int motorASpeed = 1023;

// pour demarrer

analogWrite(5, motorASpeed);
analogWrite(4, 0);
digitalWrite(0, 1);
digitalWrite(2, 0);

delay (2000);

// pour stopper
analogWrite(5, 0);
analogWrite(4, 0);

digitalWrite(0, 0);
digitalWrite(2, 0);




}


Retourner vers « Robotique »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité