极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 29383|回复: 9

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

[复制链接]
发表于 2017-5-19 00:52:07 | 显示全部楼层 |阅读模式
本帖最后由 wing 于 2017-5-19 01:09 编辑

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

先上宝贝图





楼下有代码和更多的图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2017-5-19 00:53:42 | 显示全部楼层
本帖最后由 wing 于 2017-5-19 01:05 编辑

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

  4. ESP8266WebServer server ( 80 );
  5. const int led = 13;

  6. void pwm1_page() {
  7. char temp[1100]=
  8. "<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>";
  9. server.send ( 200, "text/html", temp );
  10. }

  11. void pwm2_page() {

  12.   String p= "";

  13.   if (server.hasArg("r"))      //是否有r参数
  14.   {
  15.   p="r="+server.arg("r");     //取r参数值
  16.   server.send(200, "text/plain", p);
  17.   return;
  18.   }
  19.   if (server.hasArg("l"))
  20.   {
  21.   p="l="+server.arg("l");
  22.   server.send(200, "text/plain", p);
  23.   return;
  24.   }
  25. }


  26. void handleNotFound() {
  27.   digitalWrite ( led, 1 );
  28.   String message = "File Not Found\n\n";
  29.   message += "URI: ";
  30.   message += server.uri();
  31.   message += "\nMethod: ";
  32.   message += ( server.method() == HTTP_GET ) ? "GET" : "POST";
  33.   message += "\nArguments: ";
  34.   message += server.args();
  35.   message += "\n";

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

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

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

  58.   server.on ( "/inline", []() {
  59.     server.send ( 200, "text/plain", "this works as well" );
  60.   } );
  61.   server.on ( "/pwm1.q", pwm1_page );
  62.   server.on ( "/pwm2.q", pwm2_page );
  63.   server.onNotFound ( handleNotFound );
  64.   server.begin();
  65.   Serial.println ( "HTTP server started" );  
  66. }

  67. void loop ( void ) {
  68.   server.handleClient();
  69. }
复制代码



当然我还没有把PWM的控制写上去
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-19 01:01:47 | 显示全部楼层
本帖最后由 wing 于 2017-5-19 01:05 编辑

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



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




电路部分



当然还没完工的



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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2017-5-19 17:50:28 | 显示全部楼层
楼主会不会遇到 左右两边马达速度不一致,而走不来直线的问题
回复 支持 反对

使用道具 举报

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


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

操作界面类似这种

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2017-5-19 20:59:47 | 显示全部楼层
你的这款电机完全可以改造加编码器
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-20 20:42:50 | 显示全部楼层
弘毅 发表于 2017-5-19 20:59
你的这款电机完全可以改造加编码器

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

使用道具 举报

 楼主| 发表于 2017-5-25 01:01:10 | 显示全部楼层

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







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2018-9-14 15:57:12 | 显示全部楼层
牛B。乐高积木做车架
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-18 16:52 , Processed in 0.060688 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表