mirror of
https://github.com/m5stack/m5-docs.git
synced 2026-05-20 10:23:01 -07:00
4.2 KiB
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
- 白色:其他(取决于主设备)
产品特性
包含
- 1x ADC Unit
- 1x Grove 线
相关链接
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) | GPIO36 | GPIO26 | 5V | GND |
| ANGLE Unit | Sensor Pin | / | 5V | GND |

