(→Liens avec d'autres réalisation) |
(→Le code) |
||
Ligne 58 : | Ligne 58 : | ||
// Petit Bot // | // Petit Bot // | ||
/////////////// | /////////////// | ||
- | // Un programme pedagogique des petits debrouillards ?=+ pour gerer le robot "Petit Bot" | + | // Un programme pedagogique des petits debrouillards ?=+ pour gerer le robot "Petit Bot" |
- | + | ||
// Voir sur http://wikidebrouillard.org/index.php?title=Petit_Bot_un_robot_controlable_en_Wifi | // Voir sur http://wikidebrouillard.org/index.php?title=Petit_Bot_un_robot_controlable_en_Wifi | ||
// Ce programme est inspire de : http://www.esp8266.com/viewtopic.php?f=29&t=6419#sthash.gd1tJhwU.dpuf | // Ce programme est inspire de : http://www.esp8266.com/viewtopic.php?f=29&t=6419#sthash.gd1tJhwU.dpuf | ||
Ligne 129 : | Ligne 128 : | ||
s += "<!DOCTYPE HTML>\r\n"; | s += "<!DOCTYPE HTML>\r\n"; | ||
s += "<html>\r\n"; | s += "<html>\r\n"; | ||
- | + | ||
- | s += "Le petit bot "; | + | s += "<center>"; |
+ | s += "<h1 style=\"font-size:300%;\"\> Le petit bot "; | ||
// on va finaliser la chaine de caracteres et envoyer les instructions | // on va finaliser la chaine de caracteres et envoyer les instructions | ||
Ligne 163 : | Ligne 163 : | ||
monservo2.write(0); //vers l'avant. | monservo2.write(0); //vers l'avant. | ||
} | } | ||
- | + | ||
+ | s += "</h1>"; | ||
s += "<br>"; //aller a la ligne | s += "<br>"; //aller a la ligne | ||
s += "<br>"; //aller a la ligne | s += "<br>"; //aller a la ligne | ||
- | s += "<a href=\"/stop\"\"><button>Stop </button></a>\r\n";// creer un boutton "Stop" | + | s += "<a href=\"/stop\"\"><button style=\"font-size:200%; width: 18%\"\>Stop </button></a>\r\n";// creer un boutton "Stop" |
- | s += "<a href=\"/avance\"\"><button>Avance </button></a>\r\n"; | + | s += "<a href=\"/avance\"\"><button style=\"font-size:200%; width: 18%\"\>Avance </button></a>\r\n"; |
- | s += "<a href=\"/recule\"\"><button>Recule </button></a>\r\n"; | + | s += "<a href=\"/recule\"\"><button style=\"font-size:200%; width: 18%\"\>Recule </button></a>\r\n"; |
- | s += "<a href=\"/droite\"\"><button>Droite </button></a>\r\n"; | + | s += "<a href=\"/droite\"\"><button style=\"font-size:200%; width: 18%\"\>Droite </button></a>\r\n"; |
- | s += "<a href=\"/gauche\"\"><button>Gauche </button></a><br />\r\n"; | + | s += "<a href=\"/gauche\"\"><button style=\"font-size:200%; width: 18%\"\>Gauche </button></a><br />\r\n"; |
- | + | s += "</center>"; | |
+ | |||
s += "</html>\n"; //Fin de la page Web | s += "</html>\n"; //Fin de la page Web | ||
Ligne 204 : | Ligne 206 : | ||
{ | { | ||
Serial.begin(115200); //ouvre une connection serie pour monitorer le fonctionnement du code quand on reste branche a l'ordinateur | Serial.begin(115200); //ouvre une connection serie pour monitorer le fonctionnement du code quand on reste branche a l'ordinateur | ||
- | } </pre> | + | } |
+ | </pre> | ||
== '''Liens avec d'autres réalisation''' == | == '''Liens avec d'autres réalisation''' == |
Sommaire |
Tutoriel pour construire et un petit robot contrôlable en Wifi.
Il sera contrôlable depuis un ordinateur mais aussi tablette ou smartphone, quelque soit l'appareil.
A imprimer avec une imprimante 3D
Pour imprimer partiellement (moins et ça marche aussi) :
A réaliser dans du carton rigide :
Coller les différentes pièces du petit bot.
1 - l'axe des servomoteurs aux roues (en carton, imprimées en 3D, ou autre...).
2 - Les servomoteurs sont à fixer au châssis (avec du pistolet à colle par exemple.
3 - installez un marqueur à l'avant, ou une roue-bille
/////////////// // Petit Bot // /////////////// // Un programme pedagogique des petits debrouillards ?=+ pour gerer le robot "Petit Bot" // Voir sur http://wikidebrouillard.org/index.php?title=Petit_Bot_un_robot_controlable_en_Wifi // Ce programme est inspire de : http://www.esp8266.com/viewtopic.php?f=29&t=6419#sthash.gd1tJhwU.dpuf // Sous licence CC-By-Sa // Par des gens bien #include <ESP8266WiFi.h> // on appelle la bibliotheque qui gere le WemosD1 mini ////////////////////////// // Definition du WiFi // ////////////////////////// const char WiFiAPPSK[] = "1234567890"; //C'est le mot de passe du wifi "petit bot" ///////////////////////////// // Attribution des broches // ///////////////////////////// #include <Servo.h> //on appelle la bibliotheque qui gere les servomoteurs Servo monservo1; //nom du servo qui gere la premiere roue Servo monservo2; //seconde roue WiFiServer server(80); void setup() { initHardware(); setupWiFi(); server.begin(); monservo1.attach(5); monservo2.attach(4); monservo1.write(91); //pour mettre les servomoteur à l'arret, on leur donne une valeur au milieu entre 0 et 180. monservo2.write(93); } void loop() { // Vérifie si il y a navigateur connecte WiFiClient client = server.available(); if (!client) { return; } // Lit la premiere ligne de la requete String req = client.readStringUntil('\r'); client.flush(); // affecte une valeur a "val" suivant la requete int val = -1; if (req.indexOf("/stop") != -1) val = 0; else if (req.indexOf("/avance") != -1) val = 1; else if (req.indexOf("/recule") != -1) val = 2; else if (req.indexOf("/gauche") != -1) val = 3; else if (req.indexOf("/droite") != -1) val = 4; // Prepare la page web de réponse. on commence par le "header" commun; (le code HTML sera ecrit dans la chaine de carcatere s). String s = "HTTP/1.1 200 OK\r\n"; s += "Content-Type: text/html\r\n\r\n"; s += "<!DOCTYPE HTML>\r\n"; s += "<html>\r\n"; s += "<center>"; s += "<h1 style=\"font-size:300%;\"\> Le petit bot "; // on va finaliser la chaine de caracteres et envoyer les instructions if (val == 2 ) //Recule { s += " recule "; //comme les servomoteurs sont colles un dans un sens et le second dans l'autre sens, il faut leur donner a chacun des instructions inverses. monservo2.write(0); //servo 2 roule vers l'arriere. monservo1.write(180); //servo 1 roule vers l'arriere. } if (val == 1)//Avance { s += " avance "; monservo2.write(180); //vers l'avant. monservo1.write(0); //vers l'avant. } if (val == 0)//stop { s += " est a l'arret "; monservo1.write(91); //stop monservo2.write(93); //stop } if (val == 3)//tourne a gauche { s += " tourne a gauche "; //Pour faire tourner, il suffit qu'une roue tourne dans un sens et la seconde dans le sens inverse monservo1.write(180); //vers l'avant. monservo2.write(180); //vers l'arriere. } if (val == 4)//tourne a droite { s += " tourne a droite "; monservo1.write(0); //vers l'arriere. monservo2.write(0); //vers l'avant. } s += "</h1>"; s += "<br>"; //aller a la ligne s += "<br>"; //aller a la ligne s += "<a href=\"/stop\"\"><button style=\"font-size:200%; width: 18%\"\>Stop </button></a>\r\n";// creer un boutton "Stop" s += "<a href=\"/avance\"\"><button style=\"font-size:200%; width: 18%\"\>Avance </button></a>\r\n"; s += "<a href=\"/recule\"\"><button style=\"font-size:200%; width: 18%\"\>Recule </button></a>\r\n"; s += "<a href=\"/droite\"\"><button style=\"font-size:200%; width: 18%\"\>Droite </button></a>\r\n"; s += "<a href=\"/gauche\"\"><button style=\"font-size:200%; width: 18%\"\>Gauche </button></a><br />\r\n"; s += "</center>"; s += "</html>\n"; //Fin de la page Web // Envoie de la reponse au navigateur client.print(s); delay(1); Serial.println("Client disconnected"); client.flush(); } void setupWiFi() //reglage du reseau wifi emis par le WemosD1 mini { WiFi.mode(WIFI_AP); uint8_t mac[WL_MAC_ADDR_LENGTH]; WiFi.softAPmacAddress(mac); String macID = String(mac[WL_MAC_ADDR_LENGTH - 2], HEX) + String(mac[WL_MAC_ADDR_LENGTH - 1], HEX); macID.toUpperCase(); String AP_NameString = "PetitBot"; //nom du reseau char AP_NameChar[AP_NameString.length() + 1]; memset(AP_NameChar, 0, AP_NameString.length() + 1); for (int i = 0; i < AP_NameString.length(); i++) AP_NameChar[i] = AP_NameString.charAt(i); WiFi.softAP(AP_NameChar, WiFiAPPSK, 7); } void initHardware() { Serial.begin(115200); //ouvre une connection serie pour monitorer le fonctionnement du code quand on reste branche a l'ordinateur }
Voir la Catégorie
C'est sur le site "Let's make robots" qu'il a tété décrit initialement : http://robotshop.com/letsmakerobots/node/48201
le wifi peut être utilisé pour diverses applications, ici, contrôler un robot.
Fablab, dans l'atelier de bidouille électronique le plus proche ?
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique