找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

基于Arduino的可学习机械臂制作 附代码

查看数: 30137 | 评论数: 43 | 收藏 7
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-4-15 18:09

正文摘要:

本帖最后由 cj52 于 2019-4-19 00:06 编辑 前段时间在知乎上看到有用Arduino做机械臂的,自己也做了一个来玩玩。 基本原理很简单,就是电位器(蓝白可调电阻)来控制舵机。 制作2个机械臂,从机械臂的关节处用 ...

回复

ID:318910 发表于 2020-1-27 18:37
本帖最后由 cj52 于 2020-1-30 10:52 编辑

有问题的代码是因为那些数组后面少了下标i,这个论坛的编辑器把i识别成斜体变换了,所以有问题的代码后面都是斜体,而且i不见了,改动只需要在angle0 angele1等这些数组后面加上方括号,里面再加上i即可
ID:475031 发表于 2021-8-28 19:51
半成品,。代码不全,实验没用成功。一动不动
ID:960420 发表于 2021-8-27 14:53
楼主的电路图接的是上拉电阻,那boolean playmode = false;  //设置运行模式,初始化为学习
和下面的那些模式是不是得改一下? 我改了才可以运行。我是小白,讲得不一定对
ID:186432 发表于 2020-6-12 16:15
cj52 发表于 2019-4-18 16:04
测试过  刚又编译了一次 没有问题啊

我编译的时候也是显示这个错误
ID:318910 发表于 2020-5-28 17:48
小白了,技能 发表于 2020-5-27 18:53
大佬能加一下你QQ吗请教按键问题,为神魔串口监视器一直读出来按键值是1,一直按着才是0.

因为按键就是这样工作的啊。。你看看我置顶的原理图就知道了 没有按的时候是4脚是高电平,读出来就是1,按了之后4脚接地就是0啊
ID:617786 发表于 2020-5-27 19:27
大佬你用的按键是哪种按键,
ID:617786 发表于 2020-5-27 18:53
大佬能加一下你QQ吗请教按键问题,为神魔串口监视器一直读出来按键值是1,一直按着才是0.

ID:739532 发表于 2020-5-21 15:14
楼主好厉害
ID:747036 发表于 2020-5-8 16:42
好厉害,支持支持
ID:742968 发表于 2020-5-2 19:19
热心市民王先生2 发表于 2020-2-16 18:10
up主你好,我把数组名都改了,下载了不能跟着电位计随动,只能长按按键的时候才能随动,能不能解答一下,谢 ...

按键没接对哦,要用微动按键,你可以把  Serial.println(key_value);    这句加一下。就可以知道你按键对不对了。
ID:717402 发表于 2020-3-28 11:09
初来咋到,请多关照,向大师们致敬!
ID:693988 发表于 2020-3-19 13:59
cj52 发表于 2020-3-18 13:35
接线对不对? 滑动变阻器是不是没有引入AD口?因为蓝白可调电阻从最小的阻值到最大的阻值刚好转了一圈, ...

好的,谢谢啦
ID:318910 发表于 2020-3-18 13:35
热心市民王先生2 发表于 2020-3-17 14:46
已经按照你说的添加了下标了,编译也没有问题,但现在不按按键,舵机根本就不能随动

接线对不对? 滑动变阻器是不是没有引入AD口?因为蓝白可调电阻从最小的阻值到最大的阻值刚好转了一圈,所以随动的原理是将蓝白可调电阻作为角度传感器,把它的阻值与旋转角度对应起来,通过AD采样电阻上的电压,就知道大概转了多少角度,然后把这个角度换算成舵机的PWM值,再去控制舵机,这样就能随动了。你可以先自己写一小段代码在面包板上测试一下,用一个滑动变阻器来控制一个舵机旋转,我觉得这个挺有意思的。。可以发散到其他许多地方,比如远程控制等,你不妨也拓展拓展,做一些有意思的东西,不必拘泥于这一个机械臂。

评分

参与人数 1黑币 +90 收起 理由
admin + 90 回帖助人的奖励!

查看全部评分

ID:693988 发表于 2020-3-17 14:46
cj52 发表于 2020-1-27 19:02
已经回复在一楼,谢谢

已经按照你说的添加了下标了,编译也没有问题,但现在不按按键,舵机根本就不能随动
ID:693988 发表于 2020-3-17 14:43
小张总 发表于 2020-3-2 11:52
你好,请问问题解决了吗,能分享一下资料吗?

没有呢
ID:318910 发表于 2020-3-4 21:03
小张总 发表于 2020-3-2 14:26
接线图可以发一下吗?请问

哈哈哈 我会回复图片了 已经回复在一楼
ID:318910 发表于 2020-3-4 20:31
小张总 发表于 2020-3-2 14:26
接线图可以发一下吗?请问

可以啊 但我不知道怎么回复图片。。。
ID:701486 发表于 2020-3-3 05:34
建议上传到优酷,方便观看

这个操作方式挺新奇的
ID:701071 发表于 2020-3-2 14:26
cj52 发表于 2020-1-27 18:37
有问题的代码是因为那些数组后面少了下标i,这个论坛的编辑器把i识别成斜体变换了,所以有问题的代码后面都是 ...

接线图可以发一下吗?请问
ID:701071 发表于 2020-3-2 11:52
热心市民王先生2 发表于 2020-2-16 18:12
程序编译时没问题了,只是下载到板子里不能随动,麻烦解答一下,谢谢

你好,请问问题解决了吗,能分享一下资料吗?
ID:693988 发表于 2020-2-16 18:12
程序编译时没问题了,只是下载到板子里不能随动,麻烦解答一下,谢谢
ID:693988 发表于 2020-2-16 18:10
up主你好,我把数组名都改了,下载了不能跟着电位计随动,只能长按按键的时候才能随动,能不能解答一下,谢谢
ID:318910 发表于 2020-1-27 19:02
s7club 发表于 2019-10-23 06:18
改到哪里了?可以把改的地方再发一次吗?谢谢。。。

已经回复在一楼,谢谢
ID:318910 发表于 2020-1-27 19:02
cd5566 发表于 2019-9-5 21:19
改动的哪里代码啊 ?

已经回复在一楼,谢谢
ID:318910 发表于 2020-1-27 19:01
彭大伟 发表于 2019-7-19 02:07
问题,同一楼编译出错

问题已经回复在一楼,谢谢
ID:318910 发表于 2020-1-27 18:58
lucq7896 发表于 2019-12-15 18:27
请把改动的发一下吗?  谢谢

已经在一楼回复了
ID:318910 发表于 2020-1-27 18:58
快一年没有上到这个论坛了,今天闲来无事登上来才发现这个帖子都有4000多的浏览了,有点小激动。看到很多朋友都说有编译问题,才把这里的代码复制来测试了一遍找到了问题所在,错误的具体原因和改动方法已经回复在一楼了,有需要的朋友可以看看
ID:318910 发表于 2020-1-27 18:54
本帖最后由 cj52 于 2020-1-29 16:42 编辑
探索软件 发表于 2019-4-16 20:00
作者自己测试过该代码吗?

float angle0[30];  编译出错?

先跟你道个歉,上次我说测试没问题是因为我用的是我电脑中的代码测试,没有用这里的代码。快一年没有上这个论坛了,今天上来发现有很多朋友都说这个问题,我把这里的代码复制过去编译,发现确实有问题。不知道怎么从电脑上传到这里就漏了一些东西,就是数组名后面的下标掉了,错误的地方就变成了把数组名(也就是指针)赋给float变量,所以出错了,改动只需在数组名(angle0,angle1,angle2,angle3)后面加上下标即可
ID:318910 发表于 2020-1-27 18:45
weixiao_99 发表于 2019-12-4 19:42
作者你好请问能私聊问你些事情吗?

可以啊
ID:171746 发表于 2019-12-15 18:42
weixiao_99 发表于 2019-12-4 19:42
作者你好请问能私聊问你些事情吗?

改到哪里了?可以把改的地方再发一次吗?谢谢
ID:171746 发表于 2019-12-15 18:27
请把改动的发一下吗?  谢谢
ID:171746 发表于 2019-12-15 18:23
Arduino:1.8.9 (Windows 7), 开发板:"Arduino/Genuino Uno"

The sketch name had to be modified.
Sketch names must start with a letter or number, followed by letters,
numbers, dashes, dots and underscores. Maximum length is 63 characters.

C:\Users\Administrator\Documents\Arduino\jiqibi_xuexi_001\jiqibi_xuexi_001.ino: In function 'void loop()':

jiqibi_xuexi_001:63:16: error: cannot convert 'float [30]' to 'float' in assignment

         temp[0]=angle0;    //暂存当前动作角度值

                ^

jiqibi_xuexi_001:64:16: error: cannot convert 'float [30]' to 'float' in assignment

         temp[1]=angle1;

                ^

jiqibi_xuexi_001:65:16: error: cannot convert 'float [30]' to 'float' in assignment

         temp[2]=angle2;

                ^

jiqibi_xuexi_001:66:16: error: cannot convert 'float [30]' to 'float' in assignment

         temp[3]=angle3;

                ^

In file included from sketch\jiqibi_xuexi_001.ino.cpp:1:0:

jiqibi_xuexi_001:69:32: error: invalid operands of types 'float' and 'float [30]' to binary 'operator-'

         dif[0] = abs(angle0[j]-angle0);     //下一动作与当前动作做差分

                                ^

D:\A
ID:656210 发表于 2019-12-4 19:42
作者你好请问能私聊问你些事情吗?
ID:628217 发表于 2019-10-23 08:51
动手能力真强啊,底座感觉太单薄了,保持平衡会有问题
ID:628606 发表于 2019-10-23 06:18
彭大伟 发表于 2019-7-19 02:47
加我好友qq   1595141562   
我刚刚改了一下代码,就好了。

改到哪里了?可以把改的地方再发一次吗?谢谢。。。
ID:115780 发表于 2019-9-5 21:19
改动的哪里代码啊 ?
ID:474784 发表于 2019-7-19 02:47
探索软件 发表于 2019-4-16 20:00
作者自己测试过该代码吗?

float angle0[30];  编译出错?

加我好友qq   1595141562   
我刚刚改了一下代码,就好了。
ID:474784 发表于 2019-7-19 02:16
数组不能复制
ID:474784 发表于 2019-7-19 02:07
问题,同一楼编译出错

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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