请选择 进入手机版 | 继续访问电脑版

热点推荐

查看: 722|回复: 24

MeArm.Joystick软件的使用教程

[复制链接]

708

主题

716

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
80511
QQ
发表于 2019-12-30 11:20:41 | 显示全部楼层 |阅读模式

步骤1:给我一盏灯


我们可以通过Arduino开发环境使用C语言来编写程序控制MeArm,也可以在图形介面用拖拉方式产生程序,现在我们开始第一堂课:“给我一盏灯”

使用S4A

步骤1 :: S4A程序

步骤2:拖拉成此程序

步骤3:点击绿色旗子,可以看到MeArm的LED灯亮了。

使用ArduBlock

步骤1:选择工具/ArduBlock

步骤2:拖拉成此程式

步骤3:按“上传至Arduino”即可看到MeArm的LED灯亮了。

使用mBlock(Scratch2)

步骤1:档案-打开项目

步骤2::01.sb2

使用Arduino IDE

步骤1:打开_01.ino

步骤2:单击“上传”,是一个右向箭头符号,可以看到MeArm的LED灯亮了。

说明:LED的脚位为3(S4A中脚位为12),所以当设置该脚位为HIGH时,灯就亮了。

注:您可在S4A内直接打开上方的“ .sb”档(图形介面),也可在ArduBlock内直接打开替换的“ .abp”档(图形介面),也可在Arduino中直接打开上方的“ .ino”档(C语言),直接上传到手臂运行,也产生同样的效果。

步骤2:3秒后熄灭它

如果我们要在3秒后熄灭LED灯,然后在delay 3000毫秒后,设脚位为LOW即可。

步骤3:再闪一下,宝贝

灯既然能亮能灭,那何不闪烁一下呢?就让我们间隔设置1秒

步骤4:变数初体验

假设我们将闪烁时间从间隔0.2秒改为间隔0.1秒或0.05秒,要手动改变每个设定就会很累,这时可用变数来增加效率,我们只要设定一次变数,未来要改变时间间隔时就只要更动一次变数内容即可。

步骤5:变数也可以自嗨

既然有了变数,那么就让它多变几次,您可以试一下变数或减半,或加倍,或加0.1秒,或减0.25秒喔。

mytime = mytime/2;

mytime = mytime * 2;

mytime = mytime + 100;

mytime = mytime-250;

步骤6:使用照妖镜让变数现出原形

既然变数这么方便,所以

“ Serial.println(变数名);”

其中,序列号是序列

第7步:如果,我是真的,只需按一下“串行监视器”就可以看到资料内容了。的。..

“如果”是一种判断式,就像“如果下雨,就带雨伞。如果刮风,就穿风衣”。情况成立例如:

“如果(10> 1),则亮LED灯。”

这时因为10一定大于1,所以LED灯就会亮了。

步骤8:如果,变数也来凑热闹

通常我们对准变数跟“如果”搭配使用,例如本例中的light变数,它可能代表的是光线亮度,当我们在判断是否开灯时,就可以根据光值,例如此例若light值小于10就开灯。

int light = 5;

if(light 《10)

{

digitalWrite(3,HIGH);

delay(1000);

}

步骤9:如果的好朋友:布林

在前例中的“ if(light 《10)”判断式,若成立,则称为“真”,反之则为“假”。这“真假”两种值我们又称为“布林”,也就是“ true/错误。”亦即结果为真,则进行后续动作,若为假,则不做任何动作。

步骤10:向左走,向右走(if-else)

因为布林有两种值,那当然可以“若真则向左边,否则向右边”

if(true){

左转

}否则{

右转

}

步骤11:向左走,向右走(if-else)续1

了解(if-else)功能后,接下来就可以对判断式加变化,例如:

if(num | 3 == 0)

{其中“若是3的倍数,则点灯,否则熄灯。” {

digitalWrite(2,HIGH);

} else {

digitalWrite(2,LOW);

}

步骤12:向左走,向右走(if-else)续2

因为判断式是程式设计的重要基础,所以值得咱们再熟练熟练,接续上一个教程,你能写出来吗?

结果,“如果是单数,则LED闪一下,否则闪两下”

步骤13:回圈:叫我大神,重覆的事情交给我做就对了

除了判断式之外,电脑最世界无敌猛的把戏就是回圈了,重覆的事情找它做就对了。

例如:连续闪烁LED 5次

基本指令格式为“ for(int i = 0; i 《5; i ++)”

步骤14:用回圈帮你从1加到100

还记得数学神童高斯怎么累加1到100吗,若能妥善运用回圈,就算不是神童也能算出最后答案哩。

第15步:回圈也可以只加加偶数喔

若回圈只能做一成不变的事那就小看回圈了。在此例中,咱们要在每一个轮回内加入判断式,若成立才做动作,也就是在1到100之中,我们跳过奇数,只累加偶数。

步骤16:回圈的间隔(步骤)

接续上一个只加偶数的问题,本节要介绍“回圈的间隔”,是一种隔几次才做一次的概念。所以若要加总1到100之间的偶数,意思就是:

结果,“从0开始,每隔2次(中间空1次)才加总”

步骤17:那能不能用step计算一年有几个星期天呢

接续上一个“间隔”概念,你能算出一年有多少个星期天吗?(要间隔多少呢?)

步骤18:回圈2:当条件符合就一直做,一直做,一直做…

无论任何程序语言,回圈都是如此的重要,所以在此要再介绍回圈的另一种格式,同时。这指令的要点就是如果条件为真,就一直做到天荒地老。像本例的条件(2》 1)永远为

步骤19:回圈2的标准型

为了不让电脑跑回圈跑到挂,通常会加一条件限制,让布林值不要永远都是“ true”,并获得所需的结果。本节内容即是如何用而加总1至100。

步骤20:让LED闪到歪腰

若要重覆做一个永远不变的事情,用while是最方便的,本节即是要挑战如何让LED灯持续闪烁到天荒地老。

步骤21:函数:每次闪烁一次都要写4行,真麻烦啊

为了让程式更简洁,设计师习惯将“相同的程式码包成一个黑箱,只要执行黑箱即可”。这个黑箱就叫函数或副程式。妥善利用副程式不仅程式看起来简洁,而且运行效率提高,一举两得。

结果,本例要展示如何将“闪烁”程式码包进黑箱。

步骤22:函数+回圈:让它闪10次

包成黑箱后,我们便可视其为一条指令,将其放到回圈中,要连续执行多次都行。本例展示如何在回圈中呼叫副程式,让LED闪烁10次。

步骤23:回圈也可做在函数内部

多个可以在回圈中运行副程式,反过来当然也可以在副程式中运行回圈。此例要展示的即为直接在副程式中设定要执行的回圈次数。

步骤24:函数的参数(仅限C语言,Ardublock尚无此功能)

副程序的作用强大,还可以更灵活使用,例如我们

步骤25:可以给多个参数吗?(只有C语言,Ardublock尚无此)功能)

副程序既可以接受参数,而且还可以同时接受多个。所以如果我们要设置LED闪烁一次,每次重复几秒钟,只要透过参数指定就

步骤26:挑战再挑战(仅C语言,Ardublock尚无此功能)

带有参数的副程式既强大又常用,接下来的练习是锻炼自己是否能做出一个加总的副程式,例如若要加总1到100,则只要写一条指令

sum(100);

步骤27:伺服马达初体验

花了那么多篇幅讲了程式最核心的概念,现在要进入机器手臂正题了,只要你前面有跑过,相信我,接下来花不了多少时间你就能学会驾驭机器手臂了。

结果,机器手臂是由伺服马达所带动,我们只要设定伺服马达所接的脚位,接下来再设定所要转到的角度即可。要注意的是伺服马达的角度范围是0到179度,如果角度超出两边范围,或部件卡住,或因为螺丝太紧导致马达转不到指定角度,则会因为电流过载而降低马达和主板寿命。

此范例是将一颗伺服马达设定接到脚位11,然后转到0度。

第一颗马达为底座马达。

步骤28:伺马达角度范围0〜179度

既然伺服马达的角度范围是0〜179度,那咱们就依序

步骤29:试一下第二颗马达,但只能45〜145度

搞定了第一颗,那第二颗就依样画葫芦呗。但这次只能从45度到145度。第二颗马达可调整前后角度。

第30步:试一下第三颗马达,但只能90〜179度

搞定前两颗星,第三颗马达能调整水平,咱也依样画葫芦,但限制只能从90度到179度。

步骤31:试一下第四颗星星,但只能0〜50度

最后一颗马达是夹具马达,度数在0至50度之间。如果未遵循标准组装步骤组成夹具,则出现夹具紧或开大绝,这时则需打掉重练。

步骤32:读摇杆资料,0〜1023

本机手臂附有二颗星摇杆,每一颗皆有横纵两向,总共四向,所以能控制4颗颗星,摇杆依次接A0,所以我们只要重新知道这几个脚位的值就会知道摇杆的角度。每个脚位值的范围从0到1024。此例中我们读A0脚位的值然后由

步骤33:将摇杆指令分类为大,中,小

为了用户操作方便,我们只将摇杆区分为2个动作,也就是前进和后退。根据此概念,我们可以设定若摇杆值超过612,则是前进,若小于412,则是后退,若介在中间则不

步骤34:结合摇杆与马达

接下来要将摇杆与马达结合在一起,也就是如果摇杆前进,则则马达增加1度,反之则减一度。

第35步:布局终于出现了

因为一次要读取四个输入,然后借以控制四个输出,这时若使用阵列,会让程式显得更简洁。在此例中,我们要设定一个含有4个元素的阵列,给初值然后再印出来。

步骤36:将全部整合起来,手臂就全听你的了

接下来要把所有整合起来,这样就

(图片来源:Wei-Yu Chen)

步骤37:机器手臂的自动模式

既然已经知道马达的控制方法,咱们便可以预先设定每颗马达的角度,然后一直重覆,这就是我们常在电视上看到的自动机器手臂的酷样。此范例只是个参考,你也可以试着调到所需要的角度和次数,建立自己的生产线喔。

步骤第38页:如何回复原型手臂模式

请在Arduino环境中(非Ardublock),烧入附件程序即可。所以大家多多练习,不用怕回不


本帖子中包含更多资源

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

x




上一篇:树莓派的26种绝佳用途
下一篇:如何使用Visual Studio创建自己的课程网站


回复

使用道具 举报

0

主题

26

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2019-12-30 21:47:13 | 显示全部楼层
科技报就是牛逼!
回复

使用道具 举报

0

主题

31

帖子

186

积分

注册会员

Rank: 2

积分
186
发表于 2019-12-30 08:12:52 | 显示全部楼层
科技报就找九天视频教育
回复

使用道具 举报

0

主题

26

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2019-12-30 03:05:27 | 显示全部楼层
科技报技术好!
回复

使用道具 举报

0

主题

17

帖子

104

积分

注册会员

Rank: 2

积分
104
发表于 2019-12-30 18:20:40 | 显示全部楼层
科技报就是牛逼!
回复

使用道具 举报

0

主题

28

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2019-12-30 09:14:07 | 显示全部楼层
科技报技术好!
回复

使用道具 举报

0

主题

29

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2019-12-30 02:20:58 | 显示全部楼层
科技报技术好!
回复

使用道具 举报

0

主题

34

帖子

206

积分

中级会员

Rank: 3Rank: 3

积分
206
发表于 2019-12-30 09:57:53 | 显示全部楼层
科技报就找九天视频教育
回复

使用道具 举报

0

主题

28

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2019-12-30 16:30:42 | 显示全部楼层
科技报就找九天视频教育
回复

使用道具 举报

0

主题

25

帖子

152

积分

注册会员

Rank: 2

积分
152
发表于 2019-12-30 05:05:04 | 显示全部楼层
科技报技术好!
回复

使用道具 举报

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

本版积分规则

 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
130-6608-3753

微信扫一扫,私享最新原创实用干货
快速回复 返回顶部 返回列表