“四按键”的版本间的差异

来自Labplus盛思维基百科
跳转至: 导航搜索
MicroPython示例
第39行: 第39行:
 
=== MicroPython示例 ===
 
=== MicroPython示例 ===
 
<pre style="color:blue">
 
<pre style="color:blue">
//程序功能:如果门磁开关被触发,播放声音//
+
//程序功能:按下不同按键,播放不同音调//
 +
from microbit import *
 +
import music
  
</pre>
+
bool get4ButtonVal(int index, int pin):
 +
  int val = analogRead(pin)
 +
  int btn = 0
 +
  if(val < 101) btn = 1
 +
  else if(val > 199 && val < 301) btn = 2
 +
  else if(val > 449 && val < 551) btn = 3
 +
  else if(val > 699 && val < 801) btn = 4
 +
  return btn == index
  
  
 +
while True:
 +
  if get4ButtonVal(2, 0):
 +
    music.pitch(200, 1000, pin0)
 +
  if get4ButtonVal(3, 0):
 +
    music.pitch(400, 1000, pin0)
 +
  if get4ButtonVal(4, 0):
 +
    music.pitch(600, 1000, pin0)
 +
  if get4ButtonVal(1, 0):
 +
music.pitch(800, 1000, pin0)
 +
</pre>
  
 
=== 图形化示例 ===
 
=== 图形化示例 ===

2018年4月20日 (五) 15:30的版本

黑色传感器最终版12.20-14.png

概述

集成4个按压式按键,只需1个引脚资源便可获取4个按键状态,节省主控I/O资源。当某个按键按下时,AO输出相应的模拟量。

技术参数

  • 工作电压:VCC 3.3-5V
  • 集成4个按键,只需1引脚资源
  • 模块尺寸:24x46x7.5mm

引脚定义

VCC 电源
NC 空脚
AO 模拟输出
GND

使用教程

AO输出模拟量0~1023,可通过analog Read,检测4按键状态。

按键状态 AO模拟量
4个按键都不按 >1000
按下A按键 0-50
按下B按键 200-300
按下C按键 450-550
按下D按键 700-800

MicroPython示例

//程序功能:按下不同按键,播放不同音调//
from microbit import *
import music

bool get4ButtonVal(int index, int pin):
  int val = analogRead(pin)
  int btn = 0
  if(val < 101) btn = 1
  else if(val > 199 && val < 301) btn = 2
  else if(val > 449 && val < 551) btn = 3
  else if(val > 699 && val < 801) btn = 4
  return btn == index


while True:
  if get4ButtonVal(2, 0):
    music.pitch(200, 1000, pin0)
  if get4ButtonVal(3, 0):
    music.pitch(400, 1000, pin0)
  if get4ButtonVal(4, 0):
    music.pitch(600, 1000, pin0)
  if get4ButtonVal(1, 0):
music.pitch(800, 1000, pin0)

图形化示例



门磁开关.png

版本历史记录

Version Date Note [+]新增[-]删除[^]修复
V2.0