树莓派Scratch
陈拓 chentuo@ms.xab.ac.cn 2019/12/05-2019/12/06
1. 概述
Scratch是麻省理工学院的“终身幼儿园团队”开发的图形化编程工具,主要面对青少年开放。官方网站:https://scratch.mit.edu/
Scratch下载是完全免费的。这个开发组织除了保留对“SCRATCH”名称和“软件的图标也是产品标志小猫”LOGO的权利外,公布源码,允许任意修改,发布,传播。已经有不同的改进版本在网上流通,目前最新的官方版本是3.0版。
官方网站的教学影片和介绍在离线编辑器上都是英文的,在官网可以找到部分中文资料。软件是多语言版本,根据操作系统,自动会改成中文界面。在原版中是没有函数调用的。也就是说复杂的功能只用重复编写相同的代码。在自由软件开发组织中有人进一步开发了制作自定义积木(自己编函数)的功能。
截止目前,Scratch 共有3500多万个注册用户,平均每个月新增100万新用户,年龄范围在8-16岁之间。最重要的是,Scratch最初目的并不完全是教授编程技能,而是为了培养创造性思维、逻辑推理和团队协作能力,这是Scratch团队的教育理念的核心,米切尔·雷斯尼克(Mitch Resnick)作为团队的领导者也强调:“在我们开发最新一代的Scratch时,我们特别重视并支持以我们教育方法为核心,通过兴趣引导、以项目为基础来提升创造力的活动。”
Scratch3.0,对硬件要求高,试了一下,在树莓派3B+上跑不起来。scratch2相比scratch在GPIO上简化了大量的操作,将GPIO的操作简化成了两个函数。
下面我们安装scratch2到树莓派3B+。
2. 安装scratch2到树莓派
有关树莓派操作系统的安装请看参考文档“电脑连接树莓派3B+”和“树莓派连接到电脑显示图形界面”。
在桌面打开应用菜单 > 首选项 > Recommended Software:
选中Scratch 3并单击OK。
点击OK。
或者在LX终端输入命令:sudo apt install scratch2安装。
3. 测试,树莓派GPIO控制
3.1 电路连接
按下图连接LED,电阻和树莓派。详情请看参考文档“树莓派GPIO控制”。
首先我们把LED和树莓派连接。LED的正极串联一个1KΩ电阻接树莓派的GPIO17(pin11)上,负极接地。
上面的电路图用Fritzing绘制,官网https://fritzing.org/download/
3.2 打开Scratch2
在桌面打开应用菜单 > 编程 > Scratch2:
点击“文件”旁边的地球图标,选择“简体中文”。
文件 > 新建项目。
3.3 添加扩展模块
看这里:
更多模块 -> 添加扩展
选择Pi GPIO。
下面会出现两个控制GPIO的函数。
- 引脚设置
set gpio xx to output high x 此函数用于设置gpio引脚。
点击gpio后面的下拉框,可以选择一个引脚。
点击output后面的下拉框,可以选择输出高电平、输入低电平、输入模式。默认是输出高电平。
- 引脚状态
gpio xx is high? 此函数用于控制语句中作为条件,判断指定编号的gpio引脚是高电平,还是低电平,通常用在输入模式下检测外部输入。
3.4 编程
- 开始事件
点击“事件”> 拖一个“当x被点击”模块到右边的脚本窗口。
- 重复执行
点击“控制”> 拖一个“重复执行10次”模块到右边的脚本窗口,注意和上面的模块对齐缺口。
- 设置gpio17为高电平
点击“更多模块” > 拖一个“set gpio xx to output hight”模块到右边的脚本窗口,插入到“重复执行10次”模块中间,将引脚设置为17。
- 设置延时
点击“控制”> 拖一个“等待1秒”模块到右边的脚本窗口,插入到 “设置gpio17为高电平” 模块下面。
- 设置gpio17为低电平,设置延时
- 执行
点击绿旗开始。LED闪烁10次。
中途点击红点停止。
- 保存项目
文件 > 保存项目 > 输入名称:LedFlicker.sb2 > 保存。
4. 自定义的模块
- 新建项目 > 更多模块 > 新建功能块
- 输入名称 > 确定
- 模块编程
- 调用模块
- 执行
点击绿旗开始。LED闪烁20次。模块就是子程序,可以被主程序多次调用。
参考文档
- 树莓派介绍https://blog.csdn.net/chentuo2000/article/details/81051241
- 电脑连接树莓派3B+ https://blog.csdn.net/chentuo2000/article/details/103332186
- 树莓派连接到电脑显示图形界面
https://blog.csdn.net/chentuo2000/article/details/103383749 - 树莓派GPIO控制https://blog.csdn.net/chentuo2000/article/details/81051645
- 树莓派3B——打开硬件加速OpenGL https://www.jianshu.com/p/2438d2c76cdb
来源:CSDN
作者:chentuo2000
链接:https://blog.csdn.net/chentuo2000/article/details/103455423