wing 发表于 2017-5-19 00:52:07

履带精灵1.5号----突然空降的开发计划

本帖最后由 wing 于 2017-5-19 01:09 编辑

获得一些更加小巧,但不带编码器的履带电机。
2号机开发暂缓,临时加插1.5号的开发计划,
主要是wemos d1 信号扩流后控制 L6205 的实践性训练,
通过简单的AP + web service 实现手动控制,这个好处是IP可以固定。
话说web部分以前在RPI版也写过,不过现在再炒一次冷饭。

先上宝贝图





楼下有代码和更多的图

wing 发表于 2017-5-19 00:53:42

本帖最后由 wing 于 2017-5-19 01:05 编辑

那么这里是代码
//8266 AP+ws wifi ssid=ESP8266xxxxxxxx pwd=ap20170519 访问 http://192.168.128.1/pwm1.q 可见页面
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

ESP8266WebServer server ( 80 );
const int led = 13;

void pwm1_page() {
char temp=
"<html><head><style>.v{-webkit-appearance:slider-vertical;writing-mode:bt-lr;width:150;height:400;position:absolute;top:0;}.v.l{left:0;}.v.r{right:0;}i{width:180;margin:10 auto;display:block;}</style><script>var xhr=new XMLHttpRequest();function udp(){if(xhr.readyState==4){var rtn=xhr.responseText;if(rtn.indexOf(\"l\")>=0)document.getElementById(\"t_l\").value=rtn;if(rtn.indexOf(\"r\")>=0)document.getElementById(\"tr\").value=rtn;}}function roc(S){var txt,url;url=\"pwm2.q?\";if(S==1){txt=document.getElementById(\"r_l\").value;url=url+\"l=\"+escape(txt);}if(S==2){txt=document.getElementById(\"rr\").value;url=url+\"r=\"+escape(txt);}xhr.open(\"GET\",url,true);xhr.onreadystatechange=udp;xhr.send();}</script></head><body><input type=\"range\"min=\"-1000\"max=\"1000\"value=\"0\"class=\"v l\"ontouchend=\"roc(1)\"onmouseup=\"roc(1)\"id=\"r_l\"/><i>l:<input type=\"text\"id=\"t_l\"/></i><i>r:<input type=\"text\"id=\"tr\"/></i><input type=\"range\"min=\"-1000\"max=\"1000\"value=\"0\"class=\"v r\"ontouchend=\"roc(2)\"onmouseup=\"roc(2)\"id=\"rr\"/></body></html>";
server.send ( 200, "text/html", temp );
}

void pwm2_page() {

String p= "";

if (server.hasArg("r"))      //是否有r参数
{
p="r="+server.arg("r");   //取r参数值
server.send(200, "text/plain", p);
return;
}
if (server.hasArg("l"))
{
p="l="+server.arg("l");
server.send(200, "text/plain", p);
return;
}
}


void handleNotFound() {
digitalWrite ( led, 1 );
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += ( server.method() == HTTP_GET ) ? "GET" : "POST";
message += "\nArguments: ";
message += server.args();
message += "\n";

for ( uint8_t i = 0; i < server.args(); i++ ) {
    message += " " + server.argName ( i ) + ": " + server.arg ( i ) + "\n";
}

server.send ( 404, "text/plain", message );
digitalWrite ( led, 0 );
}

void setup() {
Serial.begin ( 115200 );
Serial.println("");
// 设置内网
IPAddress softLocal(192,168,128,1);
IPAddress softGateway(192,168,128,1);
IPAddress softSubnet(255,255,255,0);
WiFi.softAPConfig(softLocal, softGateway, softSubnet);
String apName = ("ESP8266_"+(String)ESP.getChipId());   //ap的名称 ESP8266xxxxxxxx   前面固定是ESP8266后面是芯片ID号
const char *softAPName = apName.c_str();
WiFi.softAP(softAPName, "ap20170519");
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
Serial.print("softAPName: ");
Serial.println(apName);

server.on ( "/inline", []() {
    server.send ( 200, "text/plain", "this works as well" );
} );
server.on ( "/pwm1.q", pwm1_page );
server.on ( "/pwm2.q", pwm2_page );
server.onNotFound ( handleNotFound );
server.begin();
Serial.println ( "HTTP server started" );
}

void loop ( void ) {
server.handleClient();
}


当然我还没有把PWM的控制写上去

wing 发表于 2017-5-19 01:01:47

本帖最后由 wing 于 2017-5-19 01:05 编辑

一款可爱的履带,而且更加便宜



用的是385 机电,如果能够换上带编码器的就更完美了




电路部分



当然还没完工的



那么继续努力吧.....

pig881 发表于 2017-5-19 17:50:28

楼主会不会遇到 左右两边马达速度不一致,而走不来直线的问题

wing 发表于 2017-5-19 20:44:25

pig881 发表于 2017-5-19 17:50
楼主会不会遇到 左右两边马达速度不一致,而走不来直线的问题

的确有可能发生这种情况,看操作技术吧,两边的履带的速度都是可以控制的

操作界面类似这种

当然这个是我在本地调试效果的样子,细节还在调....
如果你运行上面8266那个AP+WS程序在手机上也能得到类似的界面

两边的履带电机的输出功率是可以自行调节的,能不能走直线就看操作的人是不是南翔老司机了

弘毅 发表于 2017-5-19 20:59:47

你的这款电机完全可以改造加编码器

wing 发表于 2017-5-20 20:42:50

弘毅 发表于 2017-5-19 20:59
你的这款电机完全可以改造加编码器

带编码器的385电机的确是有,不过这里涉及规格问题。
这款电机是丝杆输出的,输出轴长度目测是15~20mm,
在TB找过带编码器的385输出轴普遍偏短,
如果定制又可能比较贵,毕竟这是个东西的亮点是便宜

wing 发表于 2017-5-25 01:01:10


时隔一周1.5号的车架终于做出来了







wy_51131 发表于 2018-9-14 15:57:12

牛B。乐高积木做车架:lol
页: [1]
查看完整版本: 履带精灵1.5号----突然空降的开发计划