“Sensor-Joystick/zh”的版本间的差异
502748957@qq.com(讨论 | 贡献) |
502748957@qq.com(讨论 | 贡献) |
||
(未显示另一用户的1个中间版本) | |||
第10行: | 第10行: | ||
|} | |} | ||
<br> | <br> | ||
− | |||
<br> | <br> | ||
{| style="width: 800px;" | {| style="width: 800px;" | ||
第50行: | 第49行: | ||
<p style="color: #333333;font-size:120%">'''普通用法'''</p> | <p style="color: #333333;font-size:120%">'''普通用法'''</p> | ||
可通过[[analogRead()]]来直接读取模拟开关的信号:理论值(0-1023)。通过模拟值判断上拨,下拨,左拨,右拨和按下。 | 可通过[[analogRead()]]来直接读取模拟开关的信号:理论值(0-1023)。通过模拟值判断上拨,下拨,左拨,右拨和按下。 | ||
− | * | + | *将摇杆传感器接在A0引脚,读取摇杆信号值 |
<source lang="cpp"> | <source lang="cpp"> | ||
#define PIN_KEY A0 //摇杆接在A0引脚 | #define PIN_KEY A0 //摇杆接在A0引脚 | ||
第66行: | 第65行: | ||
Serial.println(Val); //串口打印摇杆值 | Serial.println(Val); //串口打印摇杆值 | ||
delay(100);//延时检测速度 | delay(100);//延时检测速度 | ||
+ | } | ||
+ | </source> | ||
+ | *根据摇杆信号值,区分方向 | ||
+ | <source lang="cpp"> | ||
+ | #define PIN_KEY A0 //摇杆接在A0引脚 | ||
+ | |||
+ | uint16_t Val; | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(9600); //设置串口通讯波特率 | ||
+ | pinMode(PIN_KEY, INPUT);//设置摇杆输入状态 | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | Val = analogRead(PIN_KEY); //读取摇杆值 | ||
+ | if (Val < 50) { //按下 | ||
+ | Serial.println("PRESS"); | ||
+ | } | ||
+ | else if ((700 - 50) < Val && Val < (700 + 50)) { //上 | ||
+ | Serial.println("UP"); | ||
+ | } | ||
+ | else if ((330 - 50) < Val && Val < (330 + 50)) { //下 | ||
+ | Serial.println("DOWN"); | ||
+ | } | ||
+ | else if ((512 - 50) < Val && Val < (512 + 50)) { //左 | ||
+ | Serial.println("LEFT"); | ||
+ | } | ||
+ | else if ((860 - 50) < Val && Val < (860 + 50)) { //右 | ||
+ | Serial.println("RIGHT"); | ||
+ | } | ||
+ | delay(50);//延时检测速度 | ||
} | } | ||
</source> | </source> | ||
第110行: | 第140行: | ||
|} | |} | ||
|} | |} | ||
+ | <p style="font-size:150%">[[MCookie 传感器系列|返回Sensor界面]]</p> | ||
+ | <br> | ||
<br> | <br> | ||
− |
2017年12月19日 (二) 08:13的最新版本
| |
|
技术规格
引脚
编程手册 您可通过Getting Started了解使用Arduino IDE编程控制模块。 普通用法 可通过analogRead()来直接读取模拟开关的信号:理论值(0-1023)。通过模拟值判断上拨,下拨,左拨,右拨和按下。
#define PIN_KEY A0 //摇杆接在A0引脚
uint16_t Val;
void setup() {
Serial.begin(9600); //设置串口通讯波特率
pinMode(PIN_KEY, INPUT);//设置摇杆输入状态
}
void loop() {
Val = analogRead(PIN_KEY);//读取摇杆值
Serial.print("Val:");
Serial.println(Val); //串口打印摇杆值
delay(100);//延时检测速度
}
#define PIN_KEY A0 //摇杆接在A0引脚
uint16_t Val;
void setup() {
Serial.begin(9600); //设置串口通讯波特率
pinMode(PIN_KEY, INPUT);//设置摇杆输入状态
}
void loop() {
Val = analogRead(PIN_KEY); //读取摇杆值
if (Val < 50) { //按下
Serial.println("PRESS");
}
else if ((700 - 50) < Val && Val < (700 + 50)) { //上
Serial.println("UP");
}
else if ((330 - 50) < Val && Val < (330 + 50)) { //下
Serial.println("DOWN");
}
else if ((512 - 50) < Val && Val < (512 + 50)) { //左
Serial.println("LEFT");
}
else if ((860 - 50) < Val && Val < (860 + 50)) { //右
Serial.println("RIGHT");
}
delay(50);//延时检测速度
}
高级用法 【_07_m_Sensor_Key】库参考页面提供了有关如何使用开关的完整详细信息和示例。
文档
相关教程
Q&A
历史
图库 |