【www.shanpow.com--简历下载】
mblock篇(1):重新认识Makeblock的mblock软件
好读书;不求甚解;每有会意;便欣然忘食。”——晋·陶潜《五柳先生传》
青岛市信息技术教材五年级下册
但是对于一款软件来说,如果不深入去研究和挖掘,往往不能发掘其全部功能,"众里寻他千百度,蓦然回首,那人却在灯火阑珊处",其实有可能你需要的功能,软件已经实现了,只是你不曾研究,不成知道罢了.,而且如果不深入了解软件会绕弯子的,至于为什么往下看就知道了.
使用mblock的第一重境界——初识mblock
什么是mblock
作为一名信息技术教师,或多或少都接触过Scratch,但是Scratch访问速度太慢,国内类似的网站界面太丑,我尝试过编程边玩,编程猫等在线编程平台,作为Scratch或者类Scratch的编辑器还是不错的,至于离线版本的Scratch Editor,官方的不能够输入中文,使用多有不便,后来就认识了mblock,界面简洁大方,而且可以调整界面字体大小,感觉很不错.
Scratch首页
编程猫首页
编程边玩首页
我想这就是使用mblock的第一重境界:单纯的把mblock当做一个离线的Scratch编辑器
使用mblock的第二重境界——Arduino开源硬件
你好,Arduino
给Arduino编程
目前中小学普遍开展创客活动,小学生也开始学习Arduino等开源硬件,我们知道让小学生用Arduino设计一些智能硬件难度偏高,不利于普及,而mblock允许我们利用图形化的编程方式来对Arduino进行编程,尤其是学习过Scratch之后,用Scratch给Arduino编程相对比较容易。
Arduino界面
mblock界面
Arduino代码块
把图形化编程语言转换成c代码
mblock能够把图形化的代码转换成c代码,并且编译下载到Arduino,这样,Arduino只要供电就可以离线运行程序,便于参加比赛;使得基于arduino的小车或者机器人更具有可玩儿性
Arduino图形化编程软件
实际上,当前Arduino图形化编程软件有很多,比如mblock,mixly,mind+,吴俊杰老师正在推广的Ardublock等等,而且Scratch官方也推出了xscratch.org网站,通过扩展来进行图形化编程。
mblock界面
mixly界面
ArduBlock界面巨丑,不喜欢
Mind+界面,漂亮,喜欢
这些软件都可以满足我们的目标,但是因为我们小学阶段编程教育以Scratch为主,这就导致了mblock在这里面是亲和度最高的软件。当然以上提到的软件都是免费的。
mblock的路子是软件免费,硬件收费,兼容市面上常见的Arduino硬件和传感器,当然自家的产品肯定有着最好的支持,何况makeblock还推出了ipad版本的mblocky和makeblock软件,通过ipad用蓝牙给自家产品编程。
IPAD上可以用mblockly对mbot进行简单编程——mblockly for mBot
成本不只是钱,像mblock提供的这些良好的使用体验
高度的可玩性,已经社区等等,是自己用散件所不能代替的.
如果是要低成本开展创客教学,mblock软件是最好的选择,因为mblock对自家产品之外的开源Arduino等硬件支持较好。
还有个比较好的软件是树上科技的ScratchPi,相当好用,配合他家的ScratchPi硬件,做东西非常方便,过年的时候我拿到了一套试用,带着小学一年级的外甥女玩儿,外甥女非常喜欢,活泼好动的外甥女可以连续3个小时不停的搭积木,按照scratchPi官方的教程,然后我在写入程序,充分的让外甥女领略到了科技的魅力。
ScratchPi
买来给自己加的小朋友还是不错的,而且可以让家里闲置的乐高积木重新利用,结合提供的传感器来创作更加好玩的作品.
利用ScratchPi制作只能风扇
官方有一个例子是智能风扇,通过检测距离的原因控制风扇的转速,我略微改了一下,改成声控的,于是小外甥女对着小风扇不停的大喊大叫,喊声越大,风扇转动的越快,外甥女玩儿的不亦乐乎。感谢树上科技的编程小王子耿胜红提供的试用的机会,也感谢随身科技杨峰和树上科技子大可小孙祺让我有接触ScratchPi的机会,感谢他们带给小外甥女的快乐。
言归正传,使用mblock的第二重境界就是,把mblock当做是一个免费的Arduino图形化编程软件.
第三重境界:Makeblock自家的硬件产品
青岛市小学信息技术教材五年级下册
前阵子,青岛金正方科技有限公司的小伙伴们给我了一套mBot小车把玩,我尝试刷入mBot官方的固件,然后玩儿的不亦乐乎,makeblock的产品真的一分钱一分货,同时跟makeblock辞职出来的一个小伙伴聊,对makeblock有了更深一步的认识,虽然他从makeblock离职,但是仍然认为makeblock促进了国内创客以及创客教育的发展,makeblock没有采用乐高作为结构件,而是自己设计生产了金属件,拓展了玩儿,使得制作3d打印机,绘图机器人成为了可能.
之所以把把玩makeblock自家的产品作为第三重,是以为从这里开始,我加深了对mblock的理解,自此,如果你让我推荐一款免费的Scratch离线编辑器和Arduino图形化编程软件,我一定推荐mblock.
第四重境界:Scratch 2.0时代的S4A
编程小白的玩具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硬件,就可以实现联机调试.这个我就震惊了.
Scratch模式
这个有什么用呢?我们知道mixly下载程序是巨慢无比的,mblock相对较快,而Arduino IDE最快,但是即便如此,学生在上课的时候修改了程序还是要等待一段下载的时间(通常几十秒左右),才能够看到效果,宝贵的上课时间就在修改→下载→在修改→再下载中浪费掉了.而如果学生修改了程序马上看到效果,那就棒棒哒了.而这个模式就是实现了这个效果.当然这里存在的一个问题是,你的程序要重新点一下绿旗运行,或者双击代码执行重新执行程序才能够生效,但是也比下载快多了(这一点上,ScratchPi就好多了,真正的及时修改即时生效).大班教学的情境下,要让软件的使用,程序的运行尽可能方便才好,毕竟帮别人节省时间,并且帮人把节省下来的时间更好的利用是一件很美好的事情呢.
这样,mblock的Scratch模式允许代码所见即所得,修改了马上看到效果,而且可以与舞台上的角色交互,学生经过上学期Scratch的学习,结合这学期的传感器可以做出更多富有创意的产品.我认为,创客的核心在于创意,学生不一定学习非常复杂的传感器和编程技术,重要的他们充满童趣和创意的作品,并且他们乐在其中,享受科技和变成带来的乐趣,在心里种下一棵种子,这个才是最重要的.
智能台灯
课本上的例子比较简单,当然我们可以进行扩展,作为普适性的教学大部分学生完成课本上的例子就好了,然而,我们可以制作一些比较复杂的例子,让学友余力的同学完成,既让学生吃饱,又让学生吃好.
同时Arduino模式允许我们离线烧录代码,便于进行比赛和现场作品展示.
所以我们在上课的的时候要教会孩子们用这两种方式实现,Scratch看做很多创意效果,真正的做物理计算或者创意编程,而arduino模式也要掌握,并且理解之间的差别.
关于Scartch模式的说明
一般情况下我们是直接把程序刷入Arduino执行,而在线调试模式是,就是你写一个程序到Arduino,但是这个程序可以跟mblock通信.
刷入Arduino就好比我们自己到游乐场去玩儿.我们就好比是程序.而在线模式就好比,我们远程操控一个机器人,在游乐场玩儿,这个机器人就相当于固件.
第五重境界:买更多的makeblock的全系列的产品来玩儿
当然这个需要花钱,而且可以跳过
第六重境界:利用mblock对任意arduino以及传感器编程
扩展开发
mblock提供了扩展机制,你可以根据自己需要来写扩展,实现需要的代码块,理论上只要c可以的,mblock也可以,只要你扩展写的合理,问题在于当你可以写扩展的时候意味着你对arduino以及c有着很深入的理解,更多的是简化代码来方便别人使用,*我为人人,人人为我,开源共享,体现互联网精神.
第七重:创意无限
做你喜欢的,你心动,你想做的作品吧.
ps:以上几重其实是玩笑话大家不要当真,看看就好.怎么感觉写的啰里啰嗦,翻来覆去...感觉不像是一篇气势磅礴的长文呢.
mblock篇(2):mBlock & Arduino(15)认识晶体管与继电器
小小云提示:教程作者caterpillar是来自台湾的programmer(kinda),所以在一些专有名词的使用上会和我们这边使用的不太一样啦,不过作者也有标注出英文名称,大家自行转换哟(?????????)
Arduino 的 I/O 脚位可供给的电压、电流有限,只能用于 LED 这类小元件,对于需要更高电压或电流的设备,像是直流马达、大型电器等就没办法负担,对于小型直流马达等元件,可以使用晶体管(Transistor)来供给较大量的电流,对于大型电器,可以透过继电器(Relay)来控制。
认识晶体管
实际上,提到晶体管时,多半是指双极型晶体管(Bipolar junction transistor, BJT),依组合的半导体材料,可以分为 NPN 与 PNP 两大类,以 NPN 晶体管为例,是由 N 型半导体与 P 型半导体组合而成:
晶体管有两接面、三个端点,端点分别为集极(Collector)、基极(Base)与射极(Emitter),NPN 晶体管的基本特性是,射极电流 Ie 为基极电流 Ib 与集极电流 Ic 之和,而增益 α = Ic / Ie,β = Ic / Ib,Ib 通常远小于 Ic。
当三个端点施加之偏压不同时,晶体管会处于不同状态:
B-E 为顺向偏压,且 B-C 为顺向偏压时,此时晶体管状态处于饱和区(Saturation region),此时 C 与 E 可视为短路,依电路实际连接情况,Ic 会处于一个饱和电流值。
B-E 为逆向偏压,且 B-C 为逆向偏压时,此时电晶体状态处于截止区(Cutoff region),此时 C 与 E 可视为开路,不过,实际上还是会有少量电流通过,这个现象称为“漏电”(Leakage)。
B-E 为顺向偏压,且 B-C 为逆向偏压时,此时晶体管状态处于动作区(Active region),此时可用于信号放大。
各区实际的偏压,以及 α、β 等值,需要查询晶体管的规格书而定,如果想将晶体管作为开关使用,基本电路之一如下:
如果 Vi 处于高电位状态,那么流经基极的电流 Ib 就是 (Vi – Vbe) / Rb,而流经集极的电流就是 Ic = β * Ib,因此,可以用 Rb 来控制流经 Rl 的电流。
举个例子来说,以下的电路连接,可以让我手边的 2N3904 电晶体驱动一个直流小马达(不过会很烫,不要通电太久…XD):
你可以透过一个小程式来测试一下:
执行程式的话,你就会看到直流马达每转动一秒就停一秒,如果你直接将直流马达一端接到脚位 D8,一端接 GND,在脚位为高电位时,会因为电流不足,无法驱动直流小马达。
如果想驱动 9V 或 12V 以上的马达,可以如下:
由于马达是电力产生磁力,而磁力与马达内部磁铁作用而产生转动,为了避免马达停止供电瞬间而产生的反动电压,会加上一个二极体加以保护。
(如果想运用晶体管提供更大的电流来驱动马达,可以使用两个或多个晶体管的组合,像是达灵顿晶体管;有些 Arduino 相容板,像是Motoduino,本身就内建了可驱动马达的电路,想做马达驱动相关产品时很方便。)
认识继电器
如果要控制电力需求更大的电器,那么可以使用继电器,若是常见的电磁式继电器,其运作原理可使用下图来表示:
当脚位 D8 送出高电位时,晶体管会导通而使得线圈通过电流,因而产生磁力将开关吸合,因而导通电路,脚位 D8 送出低电位时,电流停止通过线圈,磁力消失而开关回到原位,为了避免反动电压,会加上一个二极体保护。
市面上有一些继电器模组,本身已经将相关电阻、二极体与晶体管兜好,例如我手边这颗 Keyes_SRly,还有 LED 显示继电器是否作动:
如果你买的继电器,只是上头蓝色的元件,那么就必须如先前介绍,自行将相关电阻、二极体与晶体管兜好,如果是继电器模组,就只可以直接使用。
首先要注意的是继电器本身的规格,例如上头 SRD-05VDC-SL-C 这个继电器,适用于 10A 的 250V 与 125V 交流电源,以及 10A 的 30V 与 28V 直流电源。
继电器模组上有三个接点,中间那个是共用接点(COMMON),相当于先前概要图中的第 2 个接点,NO 表示常开(Normal Open),也就是平时与共用接点保持开路,相当于先前概要图中第 3 个接点,NC 表示常关(Normal Close),表示平时与共用接点处于接通状态。
继电器的接脚有三个,也就是会有 Vcc、GND 以及开关三个接脚,为了安全起见,这边还是使用继电器控制直流小马达来试试看:
同样只要使用上头撰写的小程式,测试看看直流小马达是否如预期般运作(你还可以听见继电器吸合时滴答滴答的声音)。
感谢CodeData用户:caterpillar的贡献 著作权归作者所有
整理:宁波家电物联网云平台,中科极动云
mblock篇(3):麻省理工学院:开发出能自动组装“方块机器人”!
这个方块机器人名叫M-Blocks,很小、外型是立方体,每一块都可以被视为独立的单位,它们不需要靠外力就能自己动作,例如旋转、组合、移动、甚至跳跃,还可以组装成任何想要的形状。 这项带动它们行使动作的科技并不困难,但是非常有创意:在每一块M-block 里面,都装有一个可以超高速运转的飞轮来提供动能,而在立方体的每个边角上,则装有让它们互相吸附的磁铁、使其可以在保有吸附力的形态下滑动或翻转。 M-Block 的潜力正在进一步挖掘,研究人员将它们设计得越来越小,越来越灵活。他们希望未来能在许多方面有所应用,例如桥梁的修补、各类机械脚架、甚至医院急用的病床等。 M-Block研究团队的领导John Romanishin 也谈到接下来的研究方向:“我们想要有数以百计这样的立方体,将它不规则散落在地上,让它们能够自己去辨识对方,然后自动地相互组装,变形成椅子、桌子、阶梯、或是人们需要的任何东西。”

