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

来自Microduino Wikipedia
跳转至: 导航搜索
第50行: 第50行:
 
<p style="color: #333333;font-size:120%">'''普通用法'''</p>
 
<p style="color: #333333;font-size:120%">'''普通用法'''</p>
 
可通过[[analogRead()]]来直接读取模拟开关的信号:理论值(0-1023)。通过模拟值判断上拨,下拨,左拨,右拨和按下。
 
可通过[[analogRead()]]来直接读取模拟开关的信号:理论值(0-1023)。通过模拟值判断上拨,下拨,左拨,右拨和按下。
*将摇杆传感器接在A0引脚
+
*将摇杆传感器接在A0引脚,读取摇杆信号值
 
<source lang="cpp">
 
<source lang="cpp">
 
#define PIN_KEY A0  //摇杆接在A0引脚
 
#define PIN_KEY A0  //摇杆接在A0引脚
第66行: 第66行:
 
   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行: 第141行:
 
|}
 
|}
 
|}
 
|}
 +
<p style="font-size:150%">[[MCookie 传感器系列|返回Sensor界面]]</p>
 +
<br>
 
<br>
 
<br>
<p style="font-size:125%">[[MCookie 传感器系列|返回Sensor界面]]</p>
 

2017年12月18日 (一) 06:02的版本

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界面