重新认识mblock
本帖最后由 iArduion 于 2017-3-1 17:15 编辑“好读书;不求甚解;每有会意;便欣然忘食。”
——晋·陶潜《五柳先生传》
作者:少儿创客帮
转载请注明出处欢迎大家关注微信公众号:少儿创客帮http://upload-images.jianshu.io/upload_images/1108512-0d1908696a32ace9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
青岛市信息技术教材五年级下册
但是对于一款软件来说,如果不深入去研究和挖掘,往往不能发掘其全部功能,"众里寻他千百度,蓦然回首,那人却在灯火阑珊处",其实有可能你需要的功能,软件已经实现了,只是你不曾研究,不成知道罢了.,而且如果不深入了解软件会绕弯子的,至于为什么往下看就知道了.使用mblock的第一重境界——初识mblockhttp://upload-images.jianshu.io/upload_images/1108512-78a231ff96bfa87f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
什么是mblock
作为一名信息技术教师,或多或少都接触过Scratch,但是Scratch访问速度太慢,国内类似的网站界面太丑,我尝试过编程边玩,编程猫等在线编程平台,作为Scratch或者类Scratch的编辑器还是不错的,至于离线版本的Scratch Editor,官方的不能够输入中文,使用多有不便,后来就认识了mblock,界面简洁大方,而且可以调整界面字体大小,感觉很不错.http://upload-images.jianshu.io/upload_images/1108512-7ea8e9d403770568.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
Scratch首页
http://upload-images.jianshu.io/upload_images/1108512-fd7a498f7837a12c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
编程猫首页
http://upload-images.jianshu.io/upload_images/1108512-788fbc3bc888473e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
编程边玩首页
我想这就是使用mblock的第一重境界:单纯的把mblock当做一个离线的Scratch编辑器使用mblock的第二重境界——Arduino开源硬件http://upload-images.jianshu.io/upload_images/1108512-d41e08e8ea0d0c33.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
你好,Arduino
http://upload-images.jianshu.io/upload_images/1108512-0cbba445afbfaded.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
给Arduino编程
目前中小学普遍开展创客活动,小学生也开始学习Arduino等开源硬件,我们知道让小学生用Arduino设计一些智能硬件难度偏高,不利于普及,而mblock允许我们利用图形化的编程方式来对Arduino进行编程,尤其是学习过Scratch之后,用Scratch给Arduino编程相对比较容易。http://upload-images.jianshu.io/upload_images/1108512-404051626df24efe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
Arduino界面
http://upload-images.jianshu.io/upload_images/1108512-1d39ff1f7a8402a4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
mblock界面
http://upload-images.jianshu.io/upload_images/1108512-ef339de32bd013c0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
Arduino代码块
http://upload-images.jianshu.io/upload_images/1108512-ff6976e8c14f3e88.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
把图形化编程语言转换成c代码
mblock能够把图形化的代码转换成c代码,并且编译下载到Arduino,这样,Arduino只要供电就可以离线运行程序,便于参加比赛;使得基于arduino的小车或者机器人更具有可玩儿性Arduino图形化编程软件实际上,当前Arduino图形化编程软件有很多,比如mblock,mixly,mind+,吴俊杰老师正在推广的Ardublock等等,而且Scratch官方也推出了xscratch.org网站,通过扩展来进行图形化编程。http://upload-images.jianshu.io/upload_images/1108512-1d39ff1f7a8402a4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
mblock界面
http://upload-images.jianshu.io/upload_images/1108512-e0e48f6b228188ed.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
mixly界面
http://upload-images.jianshu.io/upload_images/1108512-c0a7107dd58ed2e8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
ArduBlock界面巨丑,不喜欢
http://upload-images.jianshu.io/upload_images/1108512-de4c3f84c2b42152.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
Mind+界面,漂亮,喜欢
这些软件都可以满足我们的目标,但是因为我们小学阶段编程教育以Scratch为主,这就导致了mblock在这里面是亲和度最高的软件。当然以上提到的软件都是免费的。mblock的路子是软件免费,硬件收费,兼容市面上常见的Arduino硬件和传感器,当然自家的产品肯定有着最好的支持,何况makeblock还推出了ipad版本的mblocky和makeblock软件,通过ipad用蓝牙给自家产品编程。http://upload-images.jianshu.io/upload_images/1108512-e7e7988f42699c3b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
IPAD上可以用mblockly对mbot进行简单编程——mblockly for mBot
http://upload-images.jianshu.io/upload_images/1108512-21fea2ee68259f05.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
成本不只是钱,像mblock提供的这些良好的使用体验
高度的可玩性,已经社区等等,是自己用散件所不能代替的.如果是要低成本开展创客教学,mblock软件是最好的选择,因为mblock对自家产品之外的开源Arduino等硬件支持较好。还有个比较好的软件是树上科技的ScratchPi,相当好用,配合他家的ScratchPi硬件,做东西非常方便,过年的时候我拿到了一套试用,带着小学一年级的外甥女玩儿,外甥女非常喜欢,活泼好动的外甥女可以连续3个小时不停的搭积木,按照scratchPi官方的教程,然后我在写入程序,充分的让外甥女领略到了科技的魅力。http://upload-images.jianshu.io/upload_images/1108512-f1163dd38df66615.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
ScratchPi
买来给自己加的小朋友还是不错的,而且可以让家里闲置的乐高积木重新利用,结合提供的传感器来创作更加好玩的作品.http://upload-images.jianshu.io/upload_images/1108512-1d9b273590d30f72.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
利用ScratchPi制作只能风扇
官方有一个例子是智能风扇,通过检测距离的原因控制风扇的转速,我略微改了一下,改成声控的,于是小外甥女对着小风扇不停的大喊大叫,喊声越大,风扇转动的越快,外甥女玩儿的不亦乐乎。感谢树上科技的编程小王子耿胜红提供的试用的机会,也感谢随身科技杨峰和树上科技子大可小孙祺让我有接触ScratchPi的机会,感谢他们带给小外甥女的快乐。言归正传,使用mblock的第二重境界就是,把mblock当做是一个免费的Arduino图形化编程软件.第三重境界:Makeblock自家的硬件产品http://upload-images.jianshu.io/upload_images/1108512-bbcf9b6a35432348.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
青岛市小学信息技术教材五年级下册
前阵子,青岛金正方科技有限公司的小伙伴们给我了一套mBot小车把玩,我尝试刷入mBot官方的固件,然后玩儿的不亦乐乎,makeblock的产品真的一分钱一分货,同时跟makeblock辞职出来的一个小伙伴聊,对makeblock有了更深一步的认识,虽然他从makeblock离职,但是仍然认为makeblock促进了国内创客以及创客教育的发展,makeblock没有采用乐高作为结构件,而是自己设计生产了金属件,拓展了玩儿,使得制作3d打印机,绘图机器人成为了可能.之所以把把玩makeblock自家的产品作为第三重,是以为从这里开始,我加深了对mblock的理解,自此,如果你让我推荐一款免费的Scratch离线编辑器和Arduino图形化编程软件,我一定推荐mblock.第四重境界:Scratch 2.0时代的S4Ahttp://upload-images.jianshu.io/upload_images/1108512-7fde2cae584d0379.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
编程小白的玩具S4A,我们从来不曾真正掌握
很多接触Scratch比较早的朋友都知道,Scratch 1.4时代有个软件叫做s4a可以方便开发一些互动性的作品,实现硬件与屏幕角色之间的交互,比如做一个接苹果的游戏,用滑动变阻器来操控水果篮,允许我们通过硬件以及各种传感器操作程序世界的虚拟角色.那么Scratch 2.0时代呢,很长一段时间我都被这个问题所困扰,知道最近这个问题才得到圆满的解决.从2016年10月份开始,我一直在试图寻找一个Scratch 2.0的类似S4A的软件,一直无果,后来虽然接触到了ScratchPi,但是对于Arduino不够友好,以为他家的接口是自定义的,虽然软件本身是个好软件;而诺丁科技/啃萝卜等都是基于浏览器的解决方案(啃萝卜提供了离线的pc版本,还没有使用过,基于浏览器的方案也是,感觉需要一定的时间才能看到程序执行的结果),我一直很是苦恼.用mblock给arduino硬件编程青岛小学信息技术教材第五册下使用了mblock作为编程软件,但是makeblock的产品价格相对较高,不适合普适性教育,于是就面者如何用mblock对arduino编程,但是还是要联机运行.更改实时生效.就像makeblock自己加的mBot小车一样.当时我既要程序跟教材的一致,同时硬件还得完全采用开源的,中间经历了种种不表,单说,把mblock针对Arduino固件刷入到Arduino硬件,就可以实现联机调试.这个我就震惊了.http://upload-images.jianshu.io/upload_images/1108512-9a71536c1855d6db.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
Scratch模式
这个有什么用呢?我们知道mixly下载程序是巨慢无比的,mblock相对较快,而Arduino IDE最快,但是即便如此,学生在上课的时候修改了程序还是要等待一段下载的时间(通常几十秒左右),才能够看到效果,宝贵的上课时间就在修改→下载→在修改→再下载中浪费掉了.而如果学生修改了程序马上看到效果,那就棒棒哒了.而这个模式就是实现了这个效果.当然这里存在的一个问题是,你的程序要重新点一下绿旗运行,或者双击代码执行重新执行程序才能够生效,但是也比下载快多了(这一点上,ScratchPi就好多了,真正的及时修改即时生效).大班教学的情境下,要让软件的使用,程序的运行尽可能方便才好,毕竟帮别人节省时间,并且帮人把节省下来的时间更好的利用是一件很美好的事情呢.这样,mblock的Scratch模式允许代码所见即所得,修改了马上看到效果,而且可以与舞台上的角色交互,学生经过上学期Scratch的学习,结合这学期的传感器可以做出更多富有创意的产品.我认为,创客的核心在于创意,学生不一定学习非常复杂的传感器和编程技术,重要的他们充满童趣和创意的作品,并且他们乐在其中,享受科技和变成带来的乐趣,在心里种下一棵种子,这个才是最重要的.http://upload-images.jianshu.io/upload_images/1108512-a787e02884e419a9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
智能台灯
课本上的例子比较简单,当然我们可以进行扩展,作为普适性的教学大部分学生完成课本上的例子就好了,然而,我们可以制作一些比较复杂的例子,让学友余力的同学完成,既让学生吃饱,又让学生吃好.同时Arduino模式允许我们离线烧录代码,便于进行比赛和现场作品展示.所以我们在上课的的时候要教会孩子们用这两种方式实现,Scratch看做很多创意效果,真正的做物理计算或者创意编程,而arduino模式也要掌握,并且理解之间的差别.关于Scartch模式的说明一般情况下我们是直接把程序刷入Arduino执行,而在线调试模式是,就是你写一个程序到Arduino,但是这个程序可以跟mblock通信.刷入Arduino就好比我们自己到游乐场去玩儿.我们就好比是程序.
而在线模式就好比,我们远程操控一个机器人,在游乐场玩儿,这个机器人就相当于固件.第五重境界:买更多的makeblock的全系列的产品来玩儿当然这个需要花钱,而且可以跳过第六重境界:利用mblock对任意arduino以及传感器编程http://upload-images.jianshu.io/upload_images/1108512-96896be1f1754009.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
扩展开发
mblock提供了扩展机制,你可以根据自己需要来写扩展,实现需要的代码块,理论上只要c可以的,mblock也可以,只要你扩展写的合理,问题在于当你可以写扩展的时候意味着你对arduino以及c有着很深入的理解,更多的是简化代码来方便别人使用,*我为人人,人人为我,开源共享,体现互联网精神.第七重:创意无限做你喜欢的,你心动,你想做的作品吧.ps:以上几重其实是玩笑话大家不要当真,看看就好.怎么感觉写的啰里啰嗦,翻来覆去...感觉不像是一篇气势磅礴的长文呢
一直在找这个文档,朋友分析得很对啊。最好私下可以聊聊 我觉得我终于找到知音了。我一直在寻找能把scratch与arduino结合在一起的办法,也发现了Mblock是目前最好的编辑器,只是有许多地方还(比如说深入的循环)无法很好的加载到arduno上去执行。自己对IDE编辑又不太懂,好希望有人能给出解决的办法。希望与楼主多交流。谢谢。 玩arduino的,都在IDE,不会去考虑玩孩子们喜爱的scratch,研究scratch的,又很少有人去玩硬件。想学好Mblock与arduino的结合运用,希望楼主给予帮助。 好文章啊。 :) 为什么mBlock 提示没有undefinedxx
页:
[1]