【掌控】mpython-15…按键和触摸,一起来开灯
国庆假期后,来一场说造就造的旅行。
上海创客嘉年华,让人向往。
这一段时间,掌控“掌控”了我,承诺吴俊杰老师和伙伴们在众筹前要给出18课普惠(入门)课,眼看就要完成了,哈哈,真的是入门课呢。
在我的设想中,后面要加上些---机器学习人工智能,No No NO ,蓝牙WIFI物联网,哈哈,这个可以有,不过还在寻求技术支持中,过不了多久就有些基础小项目出来了。
其实掌控正在完善硬件和软件,一个不让大伙失望,能让大家顺手用起来的开源硬件还在打磨中,特别是打通scratch,让小朋友也能轻松使用。
图形化软件还在加班开发的同时,mpython2正在渐渐成熟。
这一段玩掌控,有两个小体会,一是python真的是很好上手,二呢治疗了我的代码恐惧症,虽说没有痊愈,但也不像以前那么害怕了。{:5_131:}
在等物联网彩蛋放出的时间里,今天玩一些简单的,按键和触摸,一起来开灯。
掌控有6个电容触摸按键,用导电胶带接长,再加上其它模块……可以做出来很多好玩的互动项目来。
这个后面再玩,现在还是基础课,祼板玩法。
【任务目标】
1、熟悉掌控的两个按钮和6个触摸按键的使用。
2、复习变量的使用。
3、复习for循环使用。
【1】A开B关
from mpython import *#导入掌控库
import time#引入时间库
while True:
if button_a.value() == 0 andbutton_b.value() == 1: # 按下时为0,松开为1
rgb.fill((50, 0, 0))# 设置为红色
rgb.write()
if button_a.value() == 1 andbutton_b.value() == 0:
rgb.fill((0, 0, 0)) # off
rgb.write()
time.sleep_ms(100)#延时防抖
【2】按A开灯,再按关灯程序1:
from mpython import *#导入掌控库
import time#引入时间库
#初始化变量
item = 0
while True:
if button_a.value() == 0 andbutton_b.value() == 1: # 按下时为0,松开为1
item = item + 1#变量加1
if item == 1: #如果变量为1
rgb.fill((50, 0, 0))# 设置为红色
rgb.write()
elif item == 2: #如果变量为2
rgb.fill((0, 0, 0))# off
rgb.write()
item = 0 #变量回0
time.sleep_ms(200) #延时防抖
程序2:
from mpython import *#导入掌控库
import time#引入时间库
#初始化布尔变量为真
item = True
while True:
if button_a.value() == 0 andbutton_b.value() == 1: # 按下时为0,松开为1
if item == True: #如果变量为真
rgb.fill((50, 0, 0))# 设置为红色
rgb.write()
item = False # 变量设为假
else: # 否则变量为假
rgb.fill((0, 0, 0))# 设为0
rgb.write()
item = True #变量设为真
time.sleep_ms(200) #延时防抖
【3】用单触摸按键实现开关
程序:以按键P为例
from mpython import *#导入掌控库
import time#引入时间库
#初始化布尔变量为真
item = True
while True:
if touchPad_P.read() < 100: # 触摸p
if item == True: #如果变量为真
rgb.fill((50, 0, 0))# 设置为红色
rgb.write()
item = False # 变量设为假
else: # 否则变量为假
rgb.fill((0, 0, 0))# 设为0
rgb.write()
item = True #变量设为真
time.sleep_ms(200) #延时防抖
【4】触摸不同按键,点亮不同色灯
网上可以查出各种颜色的RGB,例如:http://tool.oschina.net/commons?type=3
参考程序:
from mpython import *# 导入掌控库
while True:
if touchPad_P.read() < 100:
rgb.fill((255, 0, 0)) # 设置为红色
rgb.write()
elif touchPad_Y.read() < 100:
rgb.fill((0, 255, 0))
rgb.write()
elif touchPad_T.read() < 100:
rgb.fill((0, 0, 255))
rgb.write()
elif touchPad_H.read() < 100:
rgb.fill((255, 0, 255))
rgb.write()
elif touchPad_O.read() < 100:
rgb.fill((255,255,0))
rgb.write()
elif touchPad_N.read() < 100:
rgb.fill((0,255,255))
rgb.write()
【5】小练习:只按A按扭,实现三色转换,第四次关灯
【6】其它自己设计的互动灯效。
结合生活场景,设计其它创意,并实现它。
结合生活场景的创意很好!
页:
[1]