“Sensor-Joystick/zh”的版本间的差异
502748957@qq.com(讨论 | 贡献) |
502748957@qq.com(讨论 | 贡献) |
||
(未显示2个用户的4个中间版本) | |||
第15行: | 第15行: | ||
| | | | ||
<p style="color: #333333;font-size:155%">'''技术规格'''</p> | <p style="color: #333333;font-size:155%">'''技术规格'''</p> | ||
− | + | {| class="wikitable" | |
− | + | |- | |
− | + | | '''电压'''||5V | |
− | * | + | |- |
− | + | | '''接口'''||A0~A7 | |
− | + | |- | |
− | + | | '''传感器大小'''||23.5mm*13mm | |
− | + | |- | |
− | + | | '''接口'''||1.27mm间距的4Pin座 | |
+ | |- | ||
+ | | '''操作方向'''||上下左右及按下五种 | ||
+ | |} | ||
<br> | <br> | ||
---- | ---- | ||
− | |||
<p style="color: #333333;font-size:155%">'''引脚'''</p> | <p style="color: #333333;font-size:155%">'''引脚'''</p> | ||
{| border="0" cellpadding="10" width="90%" | {| border="0" cellpadding="10" width="90%" | ||
第34行: | 第36行: | ||
**PIN1:GND | **PIN1:GND | ||
**PIN2:VCC | **PIN2:VCC | ||
− | ** | + | **PIN3:模拟信号输出 |
**PIN4:NC(空) | **PIN4:NC(空) | ||
|width="35%" valign="top" align="center"| | |width="35%" valign="top" align="center"| | ||
第47行: | 第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 | + | #define PIN_KEY A0 //摇杆接在A0引脚 |
uint16_t Val; | uint16_t Val; | ||
第63行: | 第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> | ||
第68行: | 第101行: | ||
【_07_m_Sensor_Key】库参考页面提供了有关如何使用开关的完整详细信息和示例。 | 【_07_m_Sensor_Key】库参考页面提供了有关如何使用开关的完整详细信息和示例。 | ||
*<p style="font-size:125%">库语法手册</p>[[Sensor_Key_Reference]] | *<p style="font-size:125%">库语法手册</p>[[Sensor_Key_Reference]] | ||
− | |||
− | |||
<br> | <br> | ||
---- | ---- | ||
第75行: | 第106行: | ||
<p style="color: #333333;font-size:135%">'''文档'''</p> | <p style="color: #333333;font-size:135%">'''文档'''</p> | ||
*传感器CAD图纸:'''[[File:Sensor_CAD.zip]]''' | *传感器CAD图纸:'''[[File:Sensor_CAD.zip]]''' | ||
− | |||
<br> | <br> | ||
---- | ---- | ||
第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
历史
图库 |