我不知道风/是在哪一个方向吹-- 我是在梦中,/在梦的轻波里依洄。 我不知道风/是在哪一个方向吹-- 我是在梦中,/她的温存,我的迷醉。 我不知道风/是在哪一个方向吹-- 我是在梦中,/甜美是梦里的光辉。 我不知道风/是在哪一个方向吹-- 我是在梦中,/她的负心,我的伤悲。 我不知道风/是在哪一个方向吹-- 我是在梦中,/在梦的悲哀里心碎! 我不知道风/是在哪一个方向吹-- 我是在梦中,/黯淡是梦里的光辉。
在国庆的假日里,我在写掌控的代码,我不知道会给伙伴们带来多少启发,
或者根本没有。
不过能在掌控的生态建设中发出一点光,
也很开心。
【学习小目标】
练习掌控加速度传感器的使用。
【掌控体感灯】
还没有电池扩展板,自己做了一个接头接上锂电。
视频镇楼:
【过程汇报】
首先认识一下掌控的板载加速度传感器。
【1】显示板载加速度传感器的值
程序:
- from mpython import *
- import time
-
- while True:
- display.fill(0)
- x1 = accelerometer.get_x()
- y1 = accelerometer.get_y()
- z1 = accelerometer.get_z()
- display.DispChar("加速度x:",0,0)
- display.DispChar(str(x1),48,0)
- display.DispChar("加速度y:",0,16)
- display.DispChar(str(y1),48,16)
- display.DispChar("加速度z:",0,32)
- display.DispChar(str(z1),48,32)
- display.show()
- time.sleep_ms(10)
复制代码
仔(jia)细(de)研究了下,原来掌控的加速度计用的是笛右手坐标系。 【资料】 (传说从高中到大学的课堂上,)教材中所涉及的立体几何基本都是右手系。在原本的二维直角坐标系,再添加一个垂直于 x-轴,y-轴的坐标轴,称为 z-轴,这z-轴与 x-轴,y-轴相互正交于原点。
如下图所示符合右手定则的称之为右手系,反之则为左手系。
右手定则:以右手握住z轴,当右手的四指从正向x轴以π/2角度转向正向y轴时,大拇指的指向就是z轴的正向。
【2】我的掌控体感灯
程序: - from mpython import *
-
-
- while True:
- display.fill(0)
- x1 = accelerometer.get_x()
- y1 = accelerometer.get_y()
- z1 = accelerometer.get_z()
- display.DispChar("加速度x:", 0, 0)
- display.DispChar(str(x1), 48, 0)
- display.DispChar("加速度y:", 0, 16)
- display.DispChar(str(y1), 48, 16)
- display.DispChar("加速度z:", 0, 32)
- display.DispChar(str(z1), 48, 32)
- display.show()
- if x1 > 0.5:
- rgb[0] = (255, 0, 0) # 设置红色
- rgb[1] = (255, 0, 0)
- rgb[2] = (255, 0, 0)
- rgb.write()
- elif x1 < -0.5:
- rgb[0] = (0, 255, 0) # 设置绿色
- rgb[1] = (0, 255, 0)
- rgb[2] = (0, 255, 0)
- rgb.write()
- elif y1 > 0.5:
- rgb[0] = (0, 0, 255) # 设置蓝色
- rgb[1] = (0, 0, 255)
- rgb[2] = (0, 0, 255)
- rgb.write()
- elif y1 < -0.5:
- rgb[0] = (0, 255, 255)
- rgb[1] = (0, 255, 255)
- rgb[2] = (0, 255, 255)
- rgb.write()
- elif z1 > 0.5:
- rgb[0] = (0, 0, 0) #全0,灭灯
- rgb[1] = (0, 0, 0)
- rgb[2] = (0, 0, 0)
- rgb.write()
- elif z1 < -0.5:
- rgb[0] = (255, 255, 0)
- rgb[1] = (255, 255, 0)
- rgb[2] = (255, 255, 0)
- rgb.write()
复制代码
【扩展任务】
有新函数了。代码可以改短些。
rgb.fill((50, 50, 50)) 点亮
rgb.fill((0, 0, 0)) 灭灯
|