|
XR Block图形化编程软件下载:http://www.wifi-robots.com/thread-8367-1-1.html
Arduino IDE编程环境可以将XR Block作为插件进行调用,创客玩家可以很方便地把XR Block编写出来的程序上传到Arduino UNO R3主控板上。
具体配置如下:
首先电脑下载安装Arduino IDE编程环境,我们这里用Arduino 1.7.8作为示范。(推荐使用1.7.8版本,更高版本可能不兼容,下载地址:http://www.wifi-robots.com/thread-8269-1-1.html)
然后把Arduino主控板通过USB数据线与电脑的USB相连接。
1、打开Arduino IDE,在软件上方的“工具”--“端口”中,选择当前Arduino生成的串口COM口。
然后打开左上角的“文件”菜单,并选择里面的“首选项”,在弹出的“首选项”页面中,记住其中的“项目文件夹位置”,一会儿要用到。
2、在Windows中打开“项目文件夹路径”,在该路径下新建文件夹 tools/ArduBlockTool/tool 注意其中的大小写,是严格区分的。然后把小R科技开发的“XR Block.jar”文件放到这个目录下面,如下图所示。
3、重启Arduino IDE开发软件,选择菜单中的“工具”--“XR Block by liuviking BBS:www.wifi-robots.com",即可启动XR Block图形化编程界面。
图形化编程软件主界面,最上面有“选择主板类型”,请确定选择的是“Arduino”,51duino的代码生成方式在软件右上角的“帮助”按钮中可以看到。
4、拖曳左侧的逻辑块,即可在工作区进行机器人小车的逻辑动作编辑组合,组合完成后,点击软件上方的“生成代码”按钮,即可看到Arduino IDE界面出现了由图形化界面生成的Arduino C代码,同时软件弹出保存提示框,你可以选择保存当前生成的代码,也可以选择取消。
示例:定义了一个红外光电开关,引脚为A0,当探测到障碍物时,A0的电平会变成低电平,此时机器人停止,否则机器人继续前进
生成的Arduino C代码为:(仅适用于小R科技的Arduino智能车)
- int ENA = 5;
- int ENB = 6;
- int INPUT2 = 7;
- int INPUT1 = 8;
- int INPUT3 = 12;
- int INPUT4 = 13;
- #define MOTOR_GO_FORWARD {digitalWrite(INPUT1,LOW);digitalWrite(INPUT2,HIGH);digitalWrite(INPUT3,LOW);digitalWrite(INPUT4,HIGH);}
- #define MOTOR_GO_BACK {digitalWrite(INPUT1,HIGH);digitalWrite(INPUT2,LOW);digitalWrite(INPUT3,HIGH);digitalWrite(INPUT4,LOW);}
- #define MOTOR_GO_RIGHT {digitalWrite(INPUT1,HIGH);digitalWrite(INPUT2,LOW);digitalWrite(INPUT3,LOW);digitalWrite(INPUT4,HIGH);}
- #define MOTOR_GO_LEFT {digitalWrite(INPUT1,LOW);digitalWrite(INPUT2,HIGH);digitalWrite(INPUT3,HIGH);digitalWrite(INPUT4,LOW);}
- #define MOTOR_GO_STOP {digitalWrite(INPUT1,LOW);digitalWrite(INPUT2,LOW);digitalWrite(INPUT3,LOW);digitalWrite(INPUT4,LOW);}
- int Left_Speed[11]={
- 90,106,122,138,154,170,186,203,218,234,255};
- int Right_Speed[11]={
- 90,106,122,138,154,170,186,203,218,234,255};
- void setup()
- {
- pinMode( A0 , INPUT);
- pinMode(ENA,OUTPUT);
- pinMode(ENB,OUTPUT);
- pinMode(INPUT1,OUTPUT);
- pinMode(INPUT2,OUTPUT);
- pinMode(INPUT3,OUTPUT);
- pinMode(INPUT4,OUTPUT);
- analogWrite(ENB,10);
- analogWrite(ENA,10);
- }
- void loop()
- {
- if (digitalRead(A0)==LOW)
- {
- MOTOR_GO_STOP;
- }
- else
- {
- analogWrite(ENA,Left_Speed[10]);
- analogWrite(ENB,Right_Speed[10]);
- MOTOR_GO_FORWARD;
- }
- }
复制代码
5、完成上一步后,Arduino IDE自动编译代码,并上传到小车的Arduino主控板上,稍等几秒就可以看到效果了。
Arduino核心的机器人小车可以在这里选购:
https://wifi-robots.taobao.com/category-507910075.htm?spm=a1z10.1-c-s.w4010-15160605186.8.c1DVEj&search=y&parentCatId=476917702&parentCatName=%D0%A1R%BF%C6%BC%BC%BB%FA%C6%F7%C8%CB%D0%A1%B3%B5&catName=Arduino%BC%E6%C8%DD%D0%A1%B3%B5%CC%D7%BC%FE#bd
|
|