Files
2019-06-20 14:41:27 +08:00

4.2 KiB

Unit ANGLE {docsify-ignore-all}


📝描述      :octocat:例程      🔌原理图      🛒购买链接   EasyLoader

描述

ANGLE 是一款旋钮开关输入Unit,其内置了一个10K的电位器,通过旋转旋钮能够改变其内部的电阻值.

电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件.根据此原理,ESP32通过端口B获取电位器输出电压的大小,再经过AD转换得到对应的映射数据.在"音量,亮度调节,或是电机调速"等需要连续信号控制的应用场景中,Angle Unit会是一个不错的选择.

在M5Stack产品体系中,通场Grove接口的颜色代表其使用的通信协议类型.

  • 黑色: 单总线 (AD ,DA ,GPIO)
  • 红色: I2C
  • 蓝色:UART
  • 白色:其他(取决于主设备)

产品特性

  • 输出电压范围: 0 ~ 2500mV
  • GROVE 接口, 支持 UIFlowArduino .
  • 2x LEGO 兼容孔

包含

  • 1x ADC Unit
  • 1x Grove 线

相关链接

EasyLoader

点击下载EasyLoader

1.EasyLoader是一个简洁快速的程序烧录器,每一个产品页面里的EasyLoader都提供了一个与产品相关的案例程序.

2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 "Burn" 即可开始烧录

!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),点击此处查看驱动安装教程

例程

1. Arduino IDE

以下代码仅为片段,如需获取完整代码, 请点击此处.

功能说明:在屏幕上显示, Angle Unit输入电压的映射数值.(范围为0~4095)

#include <M5Stack.h>
// select the input pin for the potentiometer
int sensorPin = 36;
// last variable to store the value coming from the sensor
int last_sensorValue = 0;
// current variable to store the value coming from the sensor
int cur_sensorValue = 0;

void setup() {
  M5.begin();
  pinMode(sensorPin, INPUT);
  M5.Lcd.setTextSize(2);
  M5.Lcd.setCursor(0, 0);
  M5.Lcd.print("the value of ANGLE: ");
}

void loop() {
  // read the value from the sensor:
  cur_sensorValue = analogRead(sensorPin);
  M5.Lcd.setCursor(0, 25);
  if(abs(cur_sensorValue - last_sensorValue) > 10){//debaunce
    M5.Lcd.fillRect(0, 25, 100, 25, BLACK);
    M5.Lcd.print(cur_sensorValue);
    last_sensorValue = cur_sensorValue;
  }
  delay(50);
}

2. UIFlow

以下代码仅为片段,如需获取完整代码, 请点击此处.

原理图

管脚映射

M5Core(GROVE B)GPIO36GPIO265VGND
ANGLE UnitSensor Pin/5VGND