【Follow me第二季第1期】使用Makecode图形化完成任务
[复制链接]
本帖最后由 顺竿爬 于 2024-9-4 01:35 编辑
项目介绍
先看一下视频:
本次项目使用到了Adafruit Circuit Playground Express和树莓派zero2w。
由于使用的是图形化编程,每个任务的软件流程图即为图形化程序本身,因此在这不再单独列出。
入门任务:开发环境搭建,板载LED点亮
这个任务我们仅需使用到Adafruit Circuit Playground Express就可以完成。Makecode开发环境是部署在云端的,因此无需搭建可以直接使用。
这次的项目我计划使用树莓派zero作为上位机使用,先下载官方镜像烧录器,打开后,选择烧录设备,操作系统,以及准备安装树莓派系统的储存卡,点击下一步烧录即可。
烧录完成后,把储存卡插进树莓派中,安装散热器,再接上显示器,并通过otg线接上我们的Adafruit Circuit Playground Express,就算大功告成,直接上电即可。注意电源最好使用充电器,这样确保供电能力充足。
编写代码是在网页端进行的,因此我们需要使用浏览器。但是需要注意的是,在linux系统下每个账户和应用都有严格的权限管理,而由于我们需要在浏览器中连接Adafruit Circuit Playground Express,但这个硬件级别的操作需要用到root权限,因此我们不能直接点击浏览器图表启动,而应该使用终端用sudo方式启动。
打开终端后,输入以下命令启动root权限的浏览器:
sudo chromium-browser -no-sandbox
只需要打开官方网站Adafruit Circuit Playground Express - Blocks / Javascript editor,然后点击New Project新建一个项目:
就可以进入编程页面,我们先什么都不做,直接点击左下角的下载,下载一个基础固件,然后按一下板载的reset按钮,进入刷机模式,将下载好的固件拖进去就完成了基础固件的刷写。
有了基础固件后,点击右上角的齿轮,配对设备,成功后就可以开始创作。
点灯我们可以通过LIGHT选项中的第一个选择得到,将它拖动到on start中,并下载固件,就可以在程序运行把所有LED设置成红色。
点击页面上的JAVASCRIPT,可以看到刚刚图形化的程序原始脚本的样子。我们可以把它复制出来保存一下。这样以后再需要这个程序时,直接复制这个脚本放入JAVASCRIPT就可以。所有任务的脚本我会在文章末尾作为源代码添加进附件中供大家下载使用。
基础任务一:控制板载炫彩LED,跑马灯点亮和颜色变换
这个任务因为我们希望跑马灯可以一直持续,因此需要把on start换成forever,然后选择LIGHT下的show animation拖进去就可以了。
基础任务二(必做):监测环境温度和光线,通过板载LED展示舒适程度
利用板载的光线和温度传感器,同时点亮两个指示灯。先通过点击左边的show console device来查看串口数据。据此来设置合适的温度强度阈值,然后完成程序,当温度适宜,光强不刺眼时两个指示灯都显示为绿,如果哪个传感器条件不再适宜,则对应指示灯变为红色。
可以看到,我用手指来加热温度传感器,若有强光出现或温度上升,对应的舒适度指示灯会变成红色。
基础任务三:接近检测——设定安全距离并通过板载LED展示,检测到入侵时,发起声音报警
板子上并没有测距模块可以试用。但是我们看到板上既有LED,又有光纤传感器。如果让LED全亮,那么在光线不强的环境里,如果板子面前有物体,这个物体越亮,代表反射的光越多,也就代表离板子越近。通过这个思路,我们可以利用光线传感器来测量距离。
我们在这个程序中同样使用的控制台输出的功能,因此可以通过点击左边的show console device来查看串口数据。据此来设置合适的光线强度阈值。
进阶任务:制作不倒翁——展示不倒翁运动过程中的不同灯光效果
可以通过加速度计的Z轴读数,来表示Adafruit Circuit Playground Express的倾斜程度。当倾斜程度过大时,让红色报警指示灯亮起。同样的倾斜阈值由串口数据得到。
可以看到板子平放时没有灯亮起,而当板子倾斜时则指示灯亮起。
创意任务一:有创意的可穿戴装饰——可结合多种传感器和灯光效果展示
我用Adafruit Circuit Playground Express做了个创意小挂坠,正常情况下,它会显示各种各样的光效,如果点击两个按钮,会发出相应的声音。同时,板载还有一个开关,推动开关,可以把它变成一个手电筒使用。
心得体会
这次活动选的板子非常适合新手入门,官方准备了非常直观的工具,可以让0基础的同学也立马体验到电子开发的乐趣。同时,板子上也集成了足够多的外设,可玩性非常高。
每个任务的脚本代码: https://download.eeworld.com.cn/detail/%E9%A1%BA%E7%AB%BF%E7%88%AC/633948
|