rzyzzxw 发表于 2018-12-1 09:31:52

【掌控】mpython_一起爱上掌控(new)

这是新写的教程,因为有了music库,比用频率来使蜂鸣器奏乐,好用了许多。


【学习目标】
1、学习掌控的触摸按键
2、学习循环积木和条件
3、完成小项目,一起爱上掌控


【触摸按键】
掌控板板载6个触摸焊盘,依次从左到右分别touchPad_P、touchPad_Y、touchPad_T、touchPad_H、touchPad_O、touchPad_N。
https://mc.dfrobot.com.cn/data/attachment/forum/201811/29/100025f66p5a00n9p2yy6y.png
这6个电容触摸按键合起来是什么单词。
PYTHON
就是python。

【Python 简介】
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
[*]Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
[*]Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。
[*]Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
[*]Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

【触摸按键电容值读取】写下面程序下载到掌控中

from mpython import *

display.fill(0)
display.DispChar('触摸按钮电平读取',16,16)
display.show()

while 1:
    display.fill(0)
    display.DispChar((str(touchPad_P.read())),16,16)
    display.show()

没有触摸时读数为________.用手指触摸P,读数为_______.你打算将触摸时的阈值设为_________.
【一起爱上掌控】参考下面程序完成任务,要求开机时清屏,然后触摸p时,显示‘一’,触摸Y时显示‘起’,依次完成全部程序,分别显示‘一起爱上掌控’,重复执行。请注意计算字符显示的坐标位置,如果下载后有误,重新修改后下载。
from mpython import *

display.fill(0)
while 1:
    if touchPad_P.read() < 200:
      display.DispChar('一',16,16)
      display.show()
    elif touchPad_Y.read() < 200:
      display.DispChar('起',32,16)
      display.show()
    elif touchPad_T.read() < 200:
      display.DispChar('爱',48,16)
      display.show()
    elif touchPad_H.read() < 200:
      display.DispChar('上',64,16)
      display.show()
    elif touchPad_O.read() < 200:
      display.DispChar('掌',80,16)
      display.show()
    elif touchPad_N.read() < 200:
      display.DispChar('控',96,16)
      display.show()
【音符响起】导入音乐库掌控的板载蜂鸣,可以演奏出音符来。
例如:music.play(['C4:4'])中音 do 1拍
from mpython import *
import music

display.fill(0)
while 1:
    if touchPad_P.read() < 200:
      display.DispChar('一',16,16)
      display.show()
      music.play(['C4:4'])
    elif touchPad_Y.read() < 200:
      display.DispChar('起',32,16)
      display.show()
      music.play(['D4:4'])
    elif touchPad_T.read() < 200:
      display.DispChar('爱',48,16)
      display.show()
      music.play(['E4:4'])
    elif touchPad_H.read() < 200:
      display.DispChar('上',64,16)
      display.show()
      music.play(['F4:4'])
    elif touchPad_O.read() < 200:
      display.DispChar('掌',80,16)
      display.show()
      music.play(['G4:4'])
    elif touchPad_N.read() < 200:
      display.DispChar('控',96,16)
      display.show()
      music.play(['A4:4'])
【边弹边亮灯】
from mpython import *
import music

display.fill(0)
while 1:
    if touchPad_P.read() < 200:
      display.DispChar('一',16,16)
      display.show()
      rgb.fill((255, 0, 0))
      rgb.write()
      music.play(['C4:4'])      
    elif touchPad_Y.read() < 200:
      display.DispChar('起',32,16)
      display.show()
      rgb.fill((255, 255, 0))
      rgb.write()
      music.play(['D4:4'])
    elif touchPad_T.read() < 200:
      display.DispChar('爱',48,16)
      display.show()
      rgb.fill((255, 0, 255))
      rgb.write()
      music.play(['E4:4'])
    elif touchPad_H.read() < 200:
      display.DispChar('上',64,16)
      display.show()
      rgb.fill((0, 255, 255))
      rgb.write()
      music.play(['F4:4'])
    elif touchPad_O.read() < 200:
      display.DispChar('掌',80,16)
      display.show()
      rgb.fill((120, 126, 0))
      rgb.write()
      music.play(['G4:4'])
    elif touchPad_N.read() < 200:
      display.DispChar('控',96,16)
      display.show()
      rgb.fill((0, 60, 126))
      rgb.write()
      music.play(['A4:4'])
注意设置完RGB灯颜色后要加上一个RGB显示代码rgb.write()。【小练习】1、如果把灯光颜色改成随机,会什么样?2、自己有什么新想法,可以尝试下,和小伙伴交流。

rzyzzxw 发表于 2018-12-27 10:12:55

from mpython import *

oled.fill(0)
while True:
    if touchPad_P.read() < 200:
      oled.DispChar('一',16,16)
      oled.show()
    elif touchPad_Y.read() < 200:
      oled.DispChar('起',32,16)
      oled.show()
    elif touchPad_T.read() < 200:
      oled.DispChar('爱',48,16)
      oled.show()
    elif touchPad_H.read() < 200:
      oled.DispChar('上',64,16)
      oled.show()
    elif touchPad_O.read() < 200:
      oled.DispChar('掌',80,16)
      oled.show()
    elif touchPad_N.read() < 200:
      oled.DispChar('控',96,16)
      oled.show()

新版库中改用oled取代display.
页: [1]
查看完整版本: 【掌控】mpython_一起爱上掌控(new)