“Sensor-Joystick/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
应用
 
(未显示6个用户的53个中间版本)
第1行: 第1行:
{{Language|Microduino-Joystick }}
+
{| style="width: 800px;"
 +
|-
 +
|[[File: Microduino-Joystick-v1.jpg|300px|left]] ||
 +
::<p style="color: #000000;font-size:200%"><br><br><br><br><br>'''Sensor-Joystick'''</p>
 +
::产品编号:'''<big style="color: #00A0A6">MSDS71</big>'''
 +
|-
 +
|[[File: Add-to-cart.jpg|300px|left|link=https://shop108263663.taobao.com/?spm=a230r.7195193.1997079397.2.ek3cAW]]||
 +
::<p style="color: #000000;font-size:120%">Sensor-Joystick为模拟传感器,作为五向摇杆按键使用。
 +
</p>
 +
|}
 +
<br>
 +
<br>
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
 
|
 
|
[[File: Microduino-Joystick.jpg|400px|thumb|right| Microduino-Joystick]]
+
<p style="color: #333333;font-size:155%">'''技术规格'''</p>
 
+
{| class="wikitable"
Microduino-Joystick是摇杆传感器,可以检测摇杆在平面上的位移。
+
|-
 
+
| '''电压'''||5V
 
+
|-
 
+
| '''接口'''||A0~A7
 
+
|-
 
+
| '''传感器大小'''||23.5mm*13mm
 +
|-
 +
| '''接口'''||1.27mm间距的4Pin座
 +
|-
 +
| '''操作方向'''||上下左右及按下五种
 +
|}
 +
<br>
 +
----
 +
<p style="color: #333333;font-size:155%">'''引脚'''</p>
 +
{| border="0" cellpadding="10" width="90%"
 +
|-
 +
|width="35%" valign="center" align="left"|
 +
*IN'''<big style="color: #00A0A6">(模拟信号)</big>'''
 +
**PIN1:GND
 +
**PIN2:VCC
 +
**PIN3:模拟信号输出
 +
**PIN4:NC(空)
 +
|width="35%" valign="top" align="center"|
 +
[[file: Sensor_backpin.png|130px|center]]
 +
|width="25%" valign="top" align="center"|
 +
|}
 +
<br>
 +
----
 +
<br>
 +
<p style="color: #333333;font-size:135%">'''编程手册'''</p>
 +
您可通过[[AVR核心:Getting_started/zh|Getting Started]]了解使用Arduino IDE编程控制模块。
 +
<p style="color: #333333;font-size:120%">'''普通用法'''</p>
 +
可通过[[analogRead()]]来直接读取模拟开关的信号:理论值(0-1023)。通过模拟值判断上拨,下拨,左拨,右拨和按下。
 +
*将摇杆传感器接在A0引脚,读取摇杆信号值
 +
<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);//读取摇杆值
 +
  Serial.print("Val:");
 +
  Serial.println(Val); //串口打印摇杆值
 +
  delay(100);//延时检测速度
 +
}
 +
</source>
 +
*根据摇杆信号值,区分方向
 +
<source lang="cpp">
 +
#define PIN_KEY A0  //摇杆接在A0引脚
  
 
+
uint16_t Val;
 
 
==特色==
 
*平面X,Y轴两个方向
 
*体积小巧,美观
 
 
 
==规格==
 
*3.3V~5V工作电压;
 
*1.27mm间距的4Pin接口
 
*输出:两个0~5V模拟输出
 
*引脚说明:GND、VCC、信号1输出、信号2输出,该输出信号为模拟信号,需要使用模拟接口来检测(A0~A7)。可以接到Sensor-hub的10,11,12号引脚,对应使用的引脚为A7/A6,A3/A2,A1/A0。
 
[[file:mCookie-sensorhub_rule.JPG|thumb|800px|center]]
 
[[File: Microduino-Joystick_rule1.jpg|600px|thumb|center]]
 
 
 
==文档==
 
 
 
*原理图:'''[[File: Microduino_ Joystick.Zip]]'''
 
 
 
==开发==
 
可以模拟鼠标和其他位移传感器,用作人机交互输入。
 
 
 
==应用==
 
===测试===
 
*所需硬件:[[Microduino-CoreUSB/zh]]、[[Microduino-USBTTL/zh]]、[[Microduino-Sensorhub/zh]]、 杜邦线、USB数据线;
 
*软件:
 
**确认你搭建了Microduino的开发环境,否则参考:[[Microduino Getting start/zh]]
 
*程序
 
<source lang="cpp">
 
  
 
void setup() {
 
void setup() {
   Serial.begin(9600);   //串口初始化
+
   Serial.begin(9600); //设置串口通讯波特率
 +
  pinMode(PIN_KEY, INPUT);//设置摇杆输入状态
 
}
 
}
  
 
void loop() {
 
void loop() {
   int sensorValueX = analogRead(A0);     //X轴输入
+
   Val = analogRead(PIN_KEY);   //读取摇杆值
   int sensorValueY = analogRead(A1);      //Y轴输入
+
   if (Val < 50) {              //按下
  float voltageX = sensorValueX * (5.0 / 1023.0);
+
    Serial.println("PRESS");
   float voltageY = sensorValueY * (5.0 / 1023.0);
+
   }
   Serial.print(voltageX);
+
  else if ((700 - 50) < Val && Val < (700 + 50)) { //
   Serial.print(",");
+
    Serial.println("UP");
   Serial.println(voltageY);
+
   }
   delay(50);
+
  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>
*把所有模块叠一起,将Joystick传感器通过转接线与sensorhub的A0/A1口连接起来。
+
<p style="color: #333333;font-size:120%">'''高级用法'''</p>
*打开Arduino IDE,将程序拷贝到IDE中,在Tools→Board里面选择正确的板卡,然后进行编译。
+
【_07_m_Sensor_Key】库参考页面提供了有关如何使用开关的完整详细信息和示例。
*编译完成后在Arduino IDE的Tools→Serial Port里面选择正确的端口号,然后直接下载程序。
+
*<p style="font-size:125%">库语法手册</p>[[Sensor_Key_Reference]]
*下载完毕你可以打开串口监视器,控制台会循环显示X,Y轴两个方向上的模拟量,当摇杆处于中间位置时,X、Y轴均显示2.5左右。
+
<br>
===项目===
+
----
* '''[[Joystick传感器使用]]'''
+
<br>
 +
<p style="color: #333333;font-size:135%">'''文档'''</p>
 +
*传感器CAD图纸:'''[[File:Sensor_CAD.zip]]'''
 +
<br>
 +
----
 +
<br>
 +
<p style="color: #333333;font-size:135%">'''相关教程'''</p>
 +
*[[开关短按与长按]]
 +
*[[开关状态与动作]]
 +
<br>
 +
----
 +
<br>
 +
<p style="color: #333333;font-size:135%">'''Q&A'''</p>
 +
*能同时检测几个状态吗?
 +
**不能,同一时间只能检测上拨,下拨,左拨,右拨和按下其中一个。
  
==购买==
 
  
==历史==
+
<br>
 
+
<br>
==图库==
+
----
 
+
<br>
*正面
+
<p style="color: #333333;font-size:135%">'''历史'''</p>
[[file: Microduino-Joystick-F.JPG|thumb|600px|center|Microduino-Joystick Front]]
+
*最新版本更新了[[Sensor_Key_Reference]]库使用说明。
*背面
+
*[https://wiki.microduino.cn/index.php?title=Sensor-Joystick/zh&oldid=20505 2017/6/1]
[[file: Microduino-Joystick -b.JPG|thumb|600px|center|Microduino-Joystick Back]]
+
<br>
 +
<br>
 +
----
 +
<br>
 +
<p style="color: #333333;font-size:135%">'''图库'''</p>
 +
{| border="0" cellpadding="10" width="100%"
 +
|-
 +
|width="50%" valign="top" align="left"|
 +
[[file: Microduino-Joystick-F.JPG|250px|center]]
 +
|width="50%" valign="top" align="left"|
 +
[[file: Microduino-Joystick-b.JPG|250px|center]]
 +
|}
 
|}
 
|}
 +
<p style="font-size:150%">[[MCookie 传感器系列|返回Sensor界面]]</p>
 +
<br>
 +
<br>

2017年12月19日 (二) 08:13的最新版本

Microduino-Joystick-v1.jpg






Sensor-Joystick

产品编号:MSDS71
Add-to-cart.jpg

Sensor-Joystick为模拟传感器,作为五向摇杆按键使用。



技术规格

电压 5V
接口 A0~A7
传感器大小 23.5mm*13mm
接口 1.27mm间距的4Pin座
操作方向 上下左右及按下五种



引脚

  • IN(模拟信号)
    • PIN1:GND
    • PIN2:VCC
    • PIN3:模拟信号输出
    • PIN4:NC(空)
Sensor backpin.png




编程手册

您可通过Getting Started了解使用Arduino IDE编程控制模块。

普通用法

可通过analogRead()来直接读取模拟开关的信号:理论值(0-1023)。通过模拟值判断上拨,下拨,左拨,右拨和按下。

  • 将摇杆传感器接在A0引脚,读取摇杆信号值
#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

  • 能同时检测几个状态吗?
    • 不能,同一时间只能检测上拨,下拨,左拨,右拨和按下其中一个。






历史





图库

Microduino-Joystick-F.JPG
Microduino-Joystick-b.JPG

返回Sensor界面