基于nodemcu(esp8266)+Blinker的五自由度机械臂(纸皮版)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12753|回复: 28

[分享] 基于nodemcu(esp8266)+Blinker的五自由度机械臂(纸皮版)

[复制链接]
发表于 2019-2-13 13:54 | 显示全部楼层 |阅读模式
本帖最后由 邓文饼 于 2019-2-13 17:30 编辑

                                                        五自由度机械臂WiFi版(原创)

         在学习arduino时,接触过蓝牙控制机械臂,后来想一下弄一个高级点,蓝牙相对WiFi 有点low.

在学习蓝牙控制机械臂时,还接触过app inventor2,这个挺好玩的。蓝牙的软件还能做出来(电气生),但是要用到Mqtt实在没办法搞定。还有一本厚厚的自控书要看。 这时候 BLINKER 拯救了我,我是十分感谢它的,实在太好用了。

       在学习BLINKER之前,我看了一些大神的帖子,将nodemcu当成是服务端,将手机当成是客户端,然后用tcp协议 进行传输数据,这个方法也是OK的,也是简洁明了。

    材料清单

     1.................伺服电机xx90     5个(按照那副人类肩膀的图,机械臂最好有七个自由度,听起来很赞)

     2.................nodemcu(esp8266)   (这个实在太厉害,真的佩服发明的人)

   电脑软件

         Arduino ide

   手机软件

      BLINKER (应用市场可以下载)https://doc.blinker.app/?file=home-%E9%A6%96%E9%A1%B5 这个网址是Blinker 的官网 里面的文件很详细地讲述。
微信图片_20190213135132.jpg 微信图片_20190213135200.png
   
话不多说上代码
#include <Servo.h>
Servo s1;
Servo s2;
Servo s3;
Servo s4;
Servo s5;
#define BLINKER_WIFI
int s1pos, s2pos, s3pos, s4pos, s5pos;
int32_t s1ppos, s2ppos, s3ppos, s4ppos, s5ppos;


#include <Blinker.h>

char auth[] = "521b80a5b79f";
char ssid[] = "Daniel handsome";
char pswd[] = "15975618512dwb";


BlinkerSlider Slider1("a");
BlinkerSlider Slider2("b");
BlinkerSlider Slider3("c");
BlinkerSlider Slider4("d");
BlinkerSlider Slider5("e");
//number 1
void slider1_callback(int32_t value1)
{
  BLINKER_LOG("get slider value: ", value1);
s1ppos=value1;
   if(s1ppos>s1pos)
   {
    for(int i1=s1ppos;i1>=s1pos;i1--){
       s1.write(i1);
       delay(20);}
   }
   if(s1ppos<s1pos)
   {
    for(int i1=s1ppos;i1<=s1pos;i1++){
    s1.write(i1);
    delay(20);}
    }
    s1pos=s1ppos;
}
//number 2
void slider2_callback(int32_t value2)
{
  BLINKER_LOG("get slider value: ", value2);
   s2ppos=value2;
   if(s2ppos>s2pos)
   {
    for(int i2=s2ppos;i2>=s2pos;i2--){
       s2.write(i2);
       delay(20);}
   }
   if(s2ppos<s2pos)
   {
    for(int i2=s2ppos;i2<=s2pos;i2++){
    s2.write(i2);
    delay(20);}
    }
    s2pos=s2ppos;


}

void slider3_callback(int32_t value3)
{
  BLINKER_LOG("get slider value: ", value3);
   s3ppos=value3;
   if(s3ppos>s3pos)
   {
    for(int i3=s3ppos;i3>=s3pos;i3--){
       s3.write(i3);
       delay(20);}
   }
   if(s3ppos<s3pos)
   {
    for(int i3=s3ppos;i3<=s3pos;i3++){
    s1.write(i3);
    delay(20);}
    }
    s3pos=s3ppos;


}
void slider4_callback(int32_t value4)
{
  BLINKER_LOG("get slider value: ", value4);
   s4ppos=value4;
   if(s4ppos>s4pos)
   {
    for(int i4=s4ppos;i4>=s4pos;i4--){
       s4.write(i4);
       delay(20);}
   }
   if(s4ppos<s4pos)
   {
    for(int i4=s4ppos;i4<=s4pos;i4++){
    s4.write(i4);
    delay(20);}
    }
    s4pos=s4ppos;


}
void slider5_callback(int32_t value5)
{
  BLINKER_LOG("get slider value: ", value5);
   s5ppos=value5;
   if(s5ppos>s5pos)
   {
    for(int i5=s5ppos;i5>=s5pos;i5--){
       s5.write(i5);
       delay(20);}
   }
   if(s5ppos<s5pos)
   {
    for(int i5=s5ppos;i5<=s5pos;i5++){
    s5.write(i5);
    delay(20);}
    }
    s5pos=s5ppos;


}


void setup()
{
  Serial.begin(115200);
  BLINKER_DEBUG.stream(Serial);
  Blinker.begin(auth, ssid, pswd);

  Slider1.attach(slider1_callback);
  Slider2.attach(slider2_callback);
  Slider3.attach(slider3_callback);
  Slider4.attach(slider4_callback);
  Slider5.attach(slider5_callback);
  s1.attach(D2);
  s2.attach(D3);
  s3.attach(D4);
  s4.attach(D5);
  s4.attach(D6);
  s1pos = 90;
  s1.write(s1pos);
  s2pos = 0;
  s2.write(s2pos);
  s3pos = 0;
  s3.write(s3pos);
  s4pos = 0;
  s4.write(s4pos);
  s5pos = 0;
  s5.write(s5pos);

}

void loop()
{
  Blinker.run();
}
经检验,代码ok
微信图片_20190213155553.jpg 微信图片_20190213155543.jpg
原创 来自邓文饼  转贴 请把我的名字带上
发表于 2019-2-13 14:45 | 显示全部楼层
项目挺有意思,但是机械臂长啥样
发表于 2019-2-13 15:35 | 显示全部楼层
我想看实物演示
 楼主| 发表于 2019-2-13 16:00 | 显示全部楼层

大神你好呀,我是你的粉丝呀,我已经补充了两幅图,(有点丑),等回学校,我去问问机械的同学借个3d打印机,可能会更好看点。更直观
 楼主| 发表于 2019-2-13 16:02 | 显示全部楼层
Creeper666 发表于 2019-2-13 14:45
项目挺有意思,但是机械臂长啥样

我觉得肩膀那个位置应该是错了的,望纠正啦
发表于 2019-2-13 17:19 | 显示全部楼层
邓文饼 发表于 2019-2-13 16:00
大神你好呀,我是你的粉丝呀,我已经补充了两幅图,(有点丑),等回学校,我去问问机械的同学借个3d打印 ...

66666666
发表于 2019-2-13 19:48 | 显示全部楼层
我这有个机械臂。看看能不能给整合上。不过机械多集会有震动很难去掉。[img][/img]

机械手图片

机械手图片
发表于 2019-2-13 19:52 | 显示全部楼层
关于电路部分我用的是nano板。有外接tf开的接口。我想可以改成8266-01的 端子
 楼主| 发表于 2019-2-13 23:04 | 显示全部楼层
mak4000bug 发表于 2019-2-13 19:48
我这有个机械臂。看看能不能给整合上。不过机械多集会有震动很难去掉。[/img] ...

我也有有点震动
 楼主| 发表于 2019-2-13 23:05 | 显示全部楼层
mak4000bug 发表于 2019-2-13 19:48
我这有个机械臂。看看能不能给整合上。不过机械多集会有震动很难去掉。[/img] ...

如果你可以动的话,告诉我一声哦,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 07:32 , Processed in 0.090876 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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