简体中文
English
简体中文
日本語

Arduino 上手教程

2. 设备开发 & 案例程序

5. 扩展模块

6. 应用案例

Unit Light Arduino 使用教程

1. 准备工作

2. 注意事项

引脚兼容性
由于每款主机的引脚配置不同,为了让用户更方便地使用,M5Stack 官方提供了引脚兼容性表,方便用户查看,请根据实际引脚连接情况修改案例程序。

3. 案例程序

  • 本教程中使用的主控设备为 Basic V2.7,搭配 Unit Light。Unit Light 同时提供模拟量和数字量输出,请根据实际电路连接修改程序中的 A_PIND_PIN 引脚定义,下方程序使用的是 G36(A_PIN)G26(D_PIN)
说明
Unit Light 的数字量输出阈值可通过模块上的可调电阻调节,模拟量输出会随环境光强度变化。
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
#include <M5Unified.h>
#include <M5GFX.h>

#define A_PIN 36
#define D_PIN 26

M5Canvas img(&M5.Lcd);

void setup()
{
    M5.begin();        
    M5.Power.begin(); 
    img.setColorDepth(8);
    img.createSprite(320, 240);
    img.setTextSize(2);
    // Set pin as input mode
    pinMode(A_PIN, INPUT);
    pinMode(D_PIN, INPUT);  
}

void loop()
{
    static uint16_t digitalRead_value = 0, analogRead_value = 0;
    analogRead_value = analogRead(A_PIN);   
    digitalRead_value = digitalRead(D_PIN);  
    img.fillRect(0, 0, 320, 240, 0x00);
    img.drawCenterString("Unit Light Test", 160, 5);
    img.setCursor(90, 30);
    img.printf("Analog:%d\n", analogRead_value);
    img.setCursor(90, 50);
    img.printf("Digital:%d\n", digitalRead_value);
    img.pushSprite(0, 0); 
    delay(10);
}

4. 编译上传

  • 复制粘贴上述例程代码到项目代码区,选中设备端口(详情请参考 程序编译与烧录),点击 Arduino IDE 左上角编译上传按钮,等待程序完成编译并上传至设备。

5. 光照检测

  • 程序运行后,屏幕将持续显示 Unit Light 的模拟量与数字量读取结果。改变传感器表面的光照强度,调节模块上的可调电阻,可观察 Analog 数值变化以及 Digital 状态切换。
Page Tools
PDF
On This Page