2018-10-5 17:03:55 [显示全部楼层]
4439浏览
查看: 4439|回复: 4

[入门教程] 【掌控】mpython-11…我不知道风,在哪个方向吹-体感灯

[复制链接]

我不知道风/是在哪一个方向吹--

我是在梦中,/在梦的轻波里依洄。

我不知道风/是在哪一个方向吹--

我是在梦中,/她的温存,我的迷醉。

我不知道风/是在哪一个方向吹--

我是在梦中,/甜美是梦里的光辉。

我不知道风/是在哪一个方向吹--

我是在梦中,/她的负心,我的伤悲。

我不知道风/是在哪一个方向吹--

我是在梦中,/在梦的悲哀里心碎!

我不知道风/是在哪一个方向吹--

我是在梦中,/黯淡是梦里的光辉。


在国庆的假日里,我在写掌控的代码,我不知道会给伙伴们带来多少启发,
或者根本没有。
不过能在掌控的生态建设中发出一点光,
也很开心。

【学习小目标】
练习掌控加速度传感器的使用。

【掌控体感灯】

【掌控】mpython-11…我不知道风,在哪个方向吹-体感灯图1
还没有电池扩展板,自己做了一个接头接上锂电。
视频镇楼:


【过程汇报】
首先认识一下掌控的板载加速度传感器。

【1】显示板载加速度传感器的值
程序:
  1. from mpython import *
  2. import time
  3. while True:
  4. display.fill(0)
  5. x1 = accelerometer.get_x()
  6. y1 = accelerometer.get_y()
  7. z1 = accelerometer.get_z()
  8. display.DispChar("加速度x:",0,0)
  9. display.DispChar(str(x1),48,0)
  10. display.DispChar("加速度y:",0,16)
  11. display.DispChar(str(y1),48,16)
  12. display.DispChar("加速度z:",0,32)
  13. display.DispChar(str(z1),48,32)
  14. display.show()
  15. time.sleep_ms(10)
复制代码


刷入掌控。运行。

仔(jia)细(de)研究了下,原来掌控的加速度计用的是笛右手坐标系。
【资料】
(传说从高中到大学的课堂上,)教材中所涉及的立体几何基本都是右手系。在原本的二维直角坐标系,再添加一个垂直于 x-轴,y-轴的坐标轴,称为 z-轴,这z-轴与 x-轴,y-轴相互正交于原点。
如下图所示符合右手定则的称之为右手系,反之则为左手系。
右手定则:以右手握住z轴,当右手的四指从正向x轴以π/2角度转向正向y轴时,大拇指的指向就是z轴的正向。

【掌控】mpython-11…我不知道风,在哪个方向吹-体感灯图2



【2】我的掌控体感灯


程序:
  1. from mpython import *
  2. while True:
  3.     display.fill(0)     
  4.     x1 = accelerometer.get_x()
  5.     y1 = accelerometer.get_y()
  6.     z1 = accelerometer.get_z()
  7.     display.DispChar("加速度x:", 0, 0)
  8.     display.DispChar(str(x1), 48, 0)
  9.     display.DispChar("加速度y:", 0, 16)
  10.     display.DispChar(str(y1), 48, 16)
  11.     display.DispChar("加速度z:", 0, 32)
  12.     display.DispChar(str(z1), 48, 32)
  13.     display.show()
  14.     if x1 > 0.5:
  15.         rgb[0] = (255, 0, 0)    # 设置红色
  16.         rgb[1] = (255, 0, 0)  
  17.         rgb[2] = (255, 0, 0)   
  18.         rgb.write()
  19.     elif x1 < -0.5:
  20.         rgb[0] = (0, 255, 0)    # 设置绿色
  21.         rgb[1] = (0, 255, 0)  
  22.         rgb[2] = (0, 255, 0)   
  23.         rgb.write()
  24.     elif y1 > 0.5:
  25.         rgb[0] = (0, 0, 255)    # 设置蓝色
  26.         rgb[1] = (0, 0, 255)  
  27.         rgb[2] = (0, 0, 255)   
  28.         rgb.write()
  29.     elif y1 < -0.5:
  30.         rgb[0] = (0, 255, 255)   
  31.         rgb[1] = (0, 255, 255)  
  32.         rgb[2] = (0, 255, 255)   
  33.         rgb.write()
  34.     elif z1 > 0.5:
  35.         rgb[0] = (0, 0, 0)    #全0,灭灯
  36.         rgb[1] = (0, 0, 0)  
  37.         rgb[2] = (0, 0, 0)   
  38.         rgb.write()
  39.     elif z1 < -0.5:
  40.         rgb[0] = (255, 255, 0)   
  41.         rgb[1] = (255, 255, 0)  
  42.         rgb[2] = (255, 255, 0)   
  43.         rgb.write()     
复制代码



【扩展任务】
有新函数了。代码可以改短些。
rgb.fill((50, 50, 50))  点亮
rgb.fill((0, 0, 0))  灭灯




rzyzzxw  版主
 楼主|

发表于 2018-10-5 17:06:10

文题不搭,只是写帖子时想到这首诗,就摘抄过来了。
回复

使用道具 举报

rzegkly  版主

发表于 2018-10-5 17:42:52

国庆假期,我跟着大圣老师一起学PYTHON ,收益匪浅
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-10-5 17:51:33

rzegkly 发表于 2018-10-5 17:42
国庆假期,我跟着大圣老师一起学PYTHON ,收益匪浅

不急哈,慢慢来。
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2018-12-28 11:31:53

  1. from mpython import *
  2. oled.fill(0)
  3. oled.DispChar('掌控体感灯', 36, 16)
  4. oled.show()
  5. while True:
  6.     display.fill(0)     
  7.     x1 = accelerometer.get_x()
  8.     y1 = accelerometer.get_y()
  9.     z1 = accelerometer.get_z()
  10.     if x1 > 0.5:
  11.         rgb.fill((255, 0, 0))
  12.         rgb.write()
  13.     elif x1 < -0.5:
  14.         rgb.fill((0, 255, 0))   
  15.         rgb.write()
  16.     elif y1 > 0.5:
  17.         rgb.fill((0, 0, 255))   
  18.         rgb.write()
  19.     elif y1 < -0.5:
  20.         rgb.fill((0, 255, 255))   
  21.         rgb.write()
  22.     elif z1 > 0.5:
  23.         rgb.fill((0, 0, 0))   
  24.         rgb.write()
  25.     elif z1 < -0.5:
  26.         rgb.fill((255, 255, 0))   
  27.         rgb.write()        
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail