1.图形化编程,让孩子也能轻松掌握编程技巧; 2.arduino开源环境,和全世界小朋友一起分享创意玩法; 3.接线方便; 4.蓝牙,红外线无线多种控制,电池盒、充电池双电源供电; 5.图形化编程可自动转化成arduino语言。
1.arduino数据I/O口没有引出,需自行焊接; 2.传感器、rgb全彩led,电机、超声波、扬声器等接口在说明书中没有注明,采用arduino C语音编程时需要对代码进行解读。
未来的世界离不开编程,人工智能、机器人、智能家居、智能手机、无人机……但凡不需要人参与的,带有芯片的产品,都需要编程将人的意志烧录其中并精准执行!
我们是幸运的,生活在万物互联的信息、知识共享时代!风靡全球的arduino开发板在全世界掀起了一股DIY浪潮,不同行业领域的爱好者通过arduino开发板制作出许多有创意的产品,小到led流水灯,含量高点的3D打印机,激光雕刻机,无人机,仿人机器人,大到人造mini卫星,都有arduino的身影。
本次体验的Makeblock教育编程机器人便源于arduino开发板,融合了arduino的开源外,在接线易用性,编程图形化上更加适合儿童入门。
包装盒上除了印有安装好的MakeBlock机器人外,在下方更是罗列了MakeBlock产品五大特点:
1.接线简单化;
2.编程图形化;
3.兼容arduino C语言;
4.传感器模块化;
5.开源,分享更多创意。
Makeblock教育机器人为组装件,根据产品说明书示意图进行安装,可以培养孩子的工程思维,小车结构为什么需要这样设计?固定控制板,车轮都需要何种螺丝钉?传感器如何接线,接哪个口?带着这样的疑问去组装,会有更多的收获。
说arduino开发板,Makeblock教育机器人适合初学者编程,是相对过去对单片机,芯片而言的。在硬件上实现编程,不像在电脑上编写C语言那么容易,需要考虑硬件寄存器中的资源,时钟响应速度,知己知彼方能百战不殆,将芯片功能发挥到极致!
我们知道,在电子世界里,信息是通过1和0这两个量进行表达的。我们看到单片机有许多型号,不同型号之间在外形上很相似,都有许多引脚,这样的引脚简单理解成开关变量,通过烧录其中的程序也就是人们的思维,去控制这些触角,比如控制一盏灯的点亮,程序会自动控制其中的几个引脚,将芯片内部的开关打开,这是灯就被点亮了。
单片机工作一个指令周期,完成一系列代码的实现,与人的反应速度不同的是单片机的处理速度在微妙级甚至更快,所以单片机可以做出比人快得多的反应,同时反复重复枯燥的工作也是单片机的一大特性,这两点便是单片机的生命。
单片机在编程时对编程人员要求非常高,不仅需要掌握编程语言,熟悉编程环境,而且对单片机硬件也要有非常深厚的理解,寄存器、指令优先级、时钟中断等等……除此之外对电子电路也要熟练掌握,才能设计出低功耗,高可靠性的电子产品。
而arduino开发板将底层难于理解的代码进行封装,转化成易于理解和掌握的arduino语音进行编程,我们不需要知道寄存器的分区,也可以编程烧录程序,控制数字IO口制作有意思的产品。
arduino较传统单片机编程已经有非常大的进步了,在电路实现上仅需将电子元器件固定在面包板上,然后用杜邦线将其接入相应的IO口,烧录代码便可控制led灯的开关以及亮度了。
但是对于稍微复杂点的电子元器件,需要接许多跟杜邦线时,arduino就显得有些杂乱,对于马虎的人来说接错一根线程序便不能正常运行,这无疑增添了许多附加的问题,并因此扼杀了孩子喜爱编程的兴趣,也许就是一根接错的杜邦线,毁掉了一位斯诺登,乔布斯,比尔盖茨……
Makeblock教育机器人的出现从根本上改变了接线繁琐的缺陷,通过类似于网线的数据线,简单地将数字IO口与传感器进行链接,就实现了arduino开发板众多io插孔的接线,省时省力。
说了这么多,相信大家已经初步了解我们的先辈是如何编写单片机程序以及通过Makeblock教育编程机器人学习编程都有哪些优势,接下来就一同深入了解这款神器的Makeblock教育机器人吧!
超声波模块相当于Makeblock机器人的眼睛,可以检测前方有无障碍物,在B模式超声波壁障模式下非常关键。
电池采用4节1.5V电池供电,也可采用备件中的3.7V为主控版供电。蓝牙收发模块支持2.0、4.0,方便与手机,平板进行连接通讯。这在ipad上编程控制MakeBlock机器人时非常方便。
红外遥控器同mbot主板上的红外收发二极管进行通信,实现控制小车前进、后退、左右转以及ABC三种运动模式。
按下遥控器A键,进入手动控制模式,可以通过遥控器控制小车前进,后退,左右转弯。在行进时Makeblock上的两颗RGB全彩led灯会有不同颜色指示。
结合Makeblock底部光线传感器检测到Makeblock自带的黑色arduino logo “8”字图标进行自动循迹,编程原理时当小车偏离轨迹后向反方向旋转前行。
按下B后,在无人为干预时Makeblock也能实现避开障碍物的动作,这一编程思想在未来的无人驾驶
中会有广泛应用。
通过ipad以及电脑,都可以对Makeblock进行编程。Makeblock还自带了一本编程入门书籍,不仅可以控制机器人,还可以通过Makeblock与电脑实现互动。
通过左侧的图形化指令进行拖拉式的编程,在文本框中输入数字,变量等即可实现顺序指令,循环指令,中断,逻辑运算,数学运算等控制。
我尝试制作了一个用ipad控制小车前进后退,并点亮RGB灯,同时让扬声器发声的程序。
还可以长按进入复制,这样制作一首曲目非常便捷。
通过以上观察不难发现,当制作简单的程序时,图形化编程很实用,降低了入门的门槛,但对于复制的程序,图形化就显得过于繁琐了。
此时我们可以通过arduino 语音进行复杂程序的编写,这会极大提升编程速度,培养编程思维。
初次使用arduino编程界面需要安装驱动,而后进行COM口的选择,正确后方可烧录代码。
Makeblock主控版mbot上预留了arduino数字io孔,方便自己焊接,arduino是开源共享的,也正是因为如此,才会越来越多的人喜欢上它。
下面上传上图的arduino程序代码,感谢新浪众测给予nunulong本次Makeblock教育机器人试用体!
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12,11,2,3,4,5,6,7,8,9,10); //1602数据io接线端口
// make some custom characters: //制作心形点阵图案
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};
byte armsDown[8] = {
0b00100,
0b01010,
0b00100,
0b00100,
0b01110,
0b10101,
0b00100,
0b01010
};
byte armsUp[8] = {
0b00100,
0b01010,
0b00100,
0b10101,
0b01110,
0b00100,
0b00100,
0b01010
};
void setup() {
// initialize LCD and set up the number of columns and rows:
lcd.begin(16, 2); //设置显示行列范围
// create a new character
lcd.createChar(0, heart); //创建自定义字库
// create a new character
lcd.createChar(3, armsDown);
// create a new character
lcd.createChar(4, armsUp);
lcd.clear();
lcd.setCursor(0,0);
// Print a message to the lcd.
lcd.print("I"); //显示 I
lcd.write(byte(0));
// when calling lcd.write() '0' must be cast as a byte
lcd.print("MakeBlock! ");
}
void loop() {
// read the potentiometer on A0:
lcd.setCursor(0, 1);
// draw the little man, arms down:
lcd.write(3);
delay(200);
lcd.setCursor(0, 1);
// draw him arms up:
lcd.write(4);
delay(200);
lcd.print(" XinLangZhongCe"); //显示 新浪众测 英文
}
------------------------------------------------------------------------------------------
HELLO XINLANGZHONGCE!
Thanks!