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

来自Labplus盛思维基百科
跳转至: 导航搜索
概述
掌控板及mPython编程
 
(未显示3个用户的11个中间版本)
第21行: 第21行:
  
 
== 使用教程 ==
 
== 使用教程 ==
AO输出模拟量0~1023,可通过analog Read,检测4按键状态。
+
AO输出模拟量0~1023/0~4095,可通过analog Read,检测4按键状态。
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! 按键状态 !! AO模拟量
 
! 按键状态 !! AO模拟量
 
|-
 
|-
| 4个按键都不按 || >1000
+
| 4个按键都不按 || >1000/>4000
 
|-
 
|-
| 按下A按键 || 0-50
+
| 按下A按键 || 0-50/0-200
 
|-
 
|-
| 按下B按键 || 200-300
+
| 按下B按键 || 200-300/800-1200
 
|-
 
|-
| 按下C按键 || 450-550
+
| 按下C按键 || 450-550/1800-2200
 
|-
 
|-
| 按下D按键 || 700-800
+
| 按下D按键 || 700-800/2800-3600
 
|}
 
|}
 +
=== <font size="3">掌控板及mPython编程</font> ===
 +
 +
<pre style="color:blue">
 +
#程序功能:当按下ABCD按键时,掌控板OLED显示屏显示对应方向箭头。
 +
</pre>
 +
{|
 +
|-
 +
| [[文件:4按键接线图.png |800px|居中|无框]]
 +
|-
 +
|style="text-align:center"|连接示意图
 +
|}
 +
<br/>
 +
 +
{|
 +
|-
 +
| [[文件:4按键mPython编程.png |900px|居中|无框]]
 +
|-
 +
|style="text-align:center"|图形化及mPython代码
 +
|}
 +
<br/>
 +
<br/>
 +
 
=== Arduino示例 ===
 
=== Arduino示例 ===
 
<pre style="color:blue">
 
<pre style="color:blue">
第45行: 第67行:
 
   pinMode(fourbottonPin, INPUT);
 
   pinMode(fourbottonPin, INPUT);
 
}
 
}
 
 
void loop() {
 
void loop() {
 
   // put your main code here, to run repeatedly:
 
   // put your main code here, to run repeatedly:
第52行: 第73行:
 
}
 
}
 
</pre>
 
</pre>
 +
=== Bluebit主控 ===
 +
<pre style="color:blue">
 +
from microbit import *
 +
 +
def get4ButtonVal(pin):
 +
    val=pin.read_analog()
 +
    btn=None
 +
    if val<51:
 +
        btn='A'
 +
    elif val>199 and val<301:
 +
        btn='B'
 +
    elif val>449 and val<551:
 +
        btn='C'
 +
    elif val>699 and val<801:
 +
        btn='D'
 +
    return btn
 +
 +
while True:
 +
    print(get4ButtonVal(pin0))
 +
</pre>
 +
 +
=== 图形化示例 ===
 +
{|
 +
|程序功能:按下A键时LED1会亮,按下B键LED1灭;按下C键时LED2亮,按下D键时LED2会灭
 +
|-
 +
| [[文件:四位键 1.png|1500px|无框|左]]
 +
|}
 +
 +
== 版本历史记录 ==
 +
 +
{|  border="1" cellspacing="0" align="left" cellpadding="0" width="60%" style="text-align:center;"
 +
|- style="text-align:center;background-color:#6fa8dc;color:#fffff;"
 +
!width="10%"|Version !!width="15%"| Date !! Note  <small>[+]新增[-]删除[^]修复</small>
 +
|-
 +
| V2.0 || || style="text-align:left"|
 +
|}

2020年4月16日 (四) 14:06的最新版本

黑色传感器最终版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/0~4095,可通过analog Read,检测4按键状态。

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

掌控板及mPython编程

#程序功能:当按下ABCD按键时,掌控板OLED显示屏显示对应方向箭头。
4按键接线图.png
连接示意图


4按键mPython编程.png
图形化及mPython代码



Arduino示例

//程序功能:读取四按键当前的采样值//
int fourbottonPin =A0;
int val;
void setup() {
  Serial.begin(9600);  
  pinMode(fourbottonPin, INPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
  val=analogRead(fourbottonPin);
  Serial.println(val);
}

Bluebit主控

from microbit import *

def get4ButtonVal(pin):
    val=pin.read_analog()
    btn=None
    if val<51:
        btn='A'
    elif val>199 and val<301:
        btn='B'
    elif val>449 and val<551:
        btn='C'
    elif val>699 and val<801:
        btn='D'
    return btn 

while True:
    print(get4ButtonVal(pin0))

图形化示例

程序功能:按下A键时LED1会亮,按下B键LED1灭;按下C键时LED2亮,按下D键时LED2会灭
四位键 1.png

版本历史记录

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