Arduino 上手教程
M5Dial Encoder旋转编码器相关API与案例程序。
#include "M5Dial.h" void setup() { auto cfg = M5.config(); M5Dial.begin(cfg, true, false); M5Dial.Display.setTextColor(GREEN); M5Dial.Display.setTextDatum(middle_center); M5Dial.Display.setTextFont(&fonts::Orbitron_Light_32); M5Dial.Display.setTextSize(2);} long oldPosition = -999; void loop() { M5Dial.update(); long newPosition = M5Dial.Encoder.read(); if (newPosition != oldPosition) { M5Dial.Speaker.tone(8000, 20); M5Dial.Display.clear(); oldPosition = newPosition; Serial.println(newPosition); M5Dial.Display.drawString(String(newPosition), M5Dial.Display.width() / 2, M5Dial.Display.height() / 2); } if (M5Dial.BtnA.wasPressed()) { M5Dial.Encoder.readAndReset(); } if (M5Dial.BtnA.pressedFor(5000)) { M5Dial.Encoder.write(100); }}
函数原型:
void begin();
功能说明:
可通过调用M5Dial.begin时设置参数enableEncoder
为true一同初始化。
M5Dial.begin(m5::M5Unified::config_t cfg, bool enableEncoder,bool enableRFID)
传入参数:
返回值:
函数原型:
int32_t read()
功能说明:
传入参数:
返回值:
函数原型:
void write(int32_t p)
功能说明:
传入参数:
返回值:
函数原型:
int32_t readAndReset()
功能说明:
传入参数:
返回值: