添加传感器 - Wio Terminal 在本课程的这一部分中,您将使用Wio Terminal上的光传感器。 硬件 本课程使用的传感器是一个光传感器,它使用光电二极管将光线转换为电信号。这是一个模拟传感器,会发送一个从0到1023的整数值,表示相对的光量,这个值并不对应任何标准单位,例如lux。 光传感器内置在Wio Terminal中,并且可以通过背面的透明塑料窗口看到。 Wio Terminal背面的光传感器 编程光传感器 现在可以编写设备以使用内置的光传感器。 任务 编程设备。 打开你在上一部分作业中创建的夜灯项目。 在 函数的底部添加以下行: 这一行配置了与传感器硬件通信所用的引脚。
在本课程的这一部分中,您将使用Wio Terminal上的光传感器。
本课程使用的传感器是一个光传感器,它使用光电二极管将光线转换为电信号。这是一个模拟传感器,会发送一个从0到1023的整数值,表示相对的光量,这个值并不对应任何标准单位,例如lux。
光传感器内置在Wio Terminal中,并且可以通过背面的透明塑料窗口看到。

现在可以编写设备以使用内置的光传感器。
编程设备。
打开你在上一部分作业中创建的夜灯项目。
在setup函数的底部添加以下行:
pinMode(WIO_LIGHT, INPUT);
这一行配置了与传感器硬件通信所用的引脚。
在WIO_LIGHT pin is the number of the GPIO pin connected to the on-board light sensor. This pin is set to INPUT, meaning it connects to a sensor and data will be read from the pin.
Delete the contents of the loop function.
Add the following code to the now empty loop函数中。
int light = analogRead(WIO_LIGHT); Serial.print("Light value: "); Serial.println(light);
这段代码从WIO_LIGHT pin. This reads a value from 0-1,023 from the on-board light sensor. This value is then sent to the serial port so you can read it in the Serial Monitor when this code is running. Serial.print writes the text without a new line on the end, so each line will start with Light value: and end with the actual light value.
Add a small delay of one second (1,000ms) at the end of the loop读取模拟值,因为不需要连续检查光级。延迟减少了设备的功耗。
delay(1000);
重新连接Wio Terminal到你的电脑,并像之前一样上传新代码。
连接串行监视器。光值将输出到终端。遮住和揭开Wio Terminal背面的光传感器,数值将会变化。
> Executing task: platformio device monitor < --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- Light value: 4 Light value: 5 Light value: 4 Light value: 158 Light value: 343 Light value: 348 Light value: 344
你可以在code-sensor/wio-terminal文件夹中找到这段代码。
成功地给你的夜灯程序添加了一个传感器!
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。