mpython掌控板_用mpython x玩转掌控板——自然灯

【情境导入】

在生活中,楼道里的感应灯大大方便了我们的生活。在光线昏暗时,有人经过只需拍手或脚步声大一些就可以亮灯,既做到了节能也做到了便民,那么今天我们也来制作这个根据光线和声音控制的自然灯。

jpg

【任务描述】

利用板载声音传感器、光线传感器和RGB灯制作一个能够感知自然,贴近生活的创意项目。

【材料清单】

硬件 ——掌控板板载声音传感器、光线传感器和RGB灯、USB数据线

软件 ——mPythonX图形化编辑器

【准备工作】

1、寻找一个光线可以改变的环境。

2、寻找一个安静的环境。

3、保证掌控板板载声音传感器、光线传感器和RBG灯的正常工作。

>关键语句:

(1)嵌套语句

jpg

(2)判断条件语句 (包含> = < ≤ ≥ ≠)

jpg

【学习目标】

1、了解并熟悉逻辑模块的使用(重点)

2、理解选择判断语句和嵌套使用(重难点)

3、体会用科学的方法梳理自己的编程思维(重点)

4、通过该项目制作体会程序设计的步骤(重点)

【项目示例】

Step1 分析自然灯的原理,初步形成逻辑思路

问题1:

何为声光自然灯?

结合生活实例,定义声光自然灯:

声光自然灯即受到声音大小和光线强弱变化的控制,自行打开和关闭的一种自动的灯具

问题2:

声光自然灯如何实现?

逻辑思路初步分析:

当自然光变暗时开灯,人靠近时有声音产生开灯,其它情况不开灯

jpg

Step2 根据初步逻辑思路理清程序思路

问题3:

如何判断光线变暗、有声音产生?→运用逻辑模块里的比较积木块进行判断, 并通过调试取最佳的参数数值进行比较

问题4:

先判断光线变暗还是先判断声音的产生?→当自然光线比较强时,即使有人靠近产生的声音,灯也不会打开,故先判断光线的变化再判断声音的变化

问题5:

如何实现?(如下图)

jpg

Step3 找到相应积木块逐步搭建程序

1、对光线值和声音值分别进行比较判断的积木块

① 光线值以200为临界值。

② 声音以50为临界值

jpg

2、按照思路搭建逻辑主体程序块

当满足条件时RGB灯全亮否则关闭RGB灯

jpg

Step4 丰富声光自然灯的效果,在OLED屏上实时显示出声音值和光线值

读取声音值和光线值,将它们映射为进度条,并转化为文本在OLED屏上适当位置显示

jpg

Step5 搭建好整体程序,下载运行,对照代码欣赏程序结构

jpg

jpg

【拓展思考】

1、能否做出根据声音的大小而改变亮度和颜色的舞台灯?

2、能否做出随着光线的增强减弱而改变亮度的楼道灯?

### 适合儿童学习的Python编程项目示例 #### 使用Arcade库创建简单的游戏 对于喜欢玩游戏的孩子来说,通过编写自己的小游戏来学习编程是非常有趣的。例如,可以使用`arcade`库制作带有光效果的游戏。这不仅能让孩子理解基本的编程概念,还能激发他们的创造力。 ```python import arcade # 设置屏幕大小 SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 TITLE = "我的第一个游戏" class MyGame(arcade.Window): def __init__(self, width, height, title): super().__init__(width, height, title) self.player_sprite = None self.light_layer = None def setup(self): # 初始化玩家角色和其他设置... pass if __name__ == "__main__": game = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT, TITLE) game.setup() arcade.run() ``` 此代码片段展示了如何初始化一个基于`arcade`框架的小型窗口应用程序[^4]。 #### 利用掌控板进行物理计算实验 除了纯软件开发外,还可以考虑让孩子们接触一些硬件编程的知识。比如利用掌控板配合MicroPython来进行温度测量、湿度监测等小型科学探究活动。这类实践有助于提高孩子解决问题的能力以及动手能力。 ```python from mpython import * while True: oled.fill(0) # 清屏 temp = sensor_temp.read() # 获取当前环境温度 oled.DispChar('当前室温:' + str(temp), 0, 0) # 显示文字信息 oled.show() sleep_ms(1000) # 暂停一秒再刷新显示内容 ``` 上述例子说明了怎样读取传感器数据并将其展示在OLED屏幕上[^2]。 #### EV3机器人控制任务 如果条件允许的话,也可以尝试更复杂的挑战——即操作LEGO MINDSTORMS系列下的EV3机器人完成特定的任务。借助于官方提供的MicroPython支持包,即使是小学生也能轻松上手编写程序使机器人移动或执行其他动作。 ```python from ev3dev2.motor import MoveTank, OUTPUT_A, OUTPUT_B tank_drive = MoveTank(OUTPUT_A, OUTPUT_B) for i in range(4): tank_drive.on_for_rotations(left_speed=50, right_speed=75, rotations=1) time.sleep(0.5) ``` 这段脚本实现了让坦克模式驱动装置按照指定速度旋转四次的功能[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值