“四按键”的版本间的差异
来自Labplus盛思维基百科
Tangliufeng(讨论 | 贡献) (→概述) |
(→掌控板及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的最新版本
概述
集成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显示屏显示对应方向箭头。
连接示意图 |
图形化及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会灭 |
版本历史记录
Version | Date | Note [+]新增[-]删除[^]修复 |
---|---|---|
V2.0 |