构建夜灯 - Raspberry Pi 在本课程的这一部分中,你将为你的Raspberry Pi添加一个光传感器。 硬件 本课程使用的传感器是一个光传感器,它使用光电二极管将光线转换成电信号。这是一个模拟传感器,会发送一个从0到1000的整数值,表示相对的光照量,并不对应任何标准单位,例如勒克斯。 光传感器是外部的Grove传感器,需要连接到连接在Raspberry Pi上的Grove Base HAT上。 连接光传感器 用于检测光照水平的Grove光传感器需要连接到Raspberry Pi上。 任务 - 连接光传感器 连接光传感器 一个Grove光传感器 将Grove线的一端插入光传感器模块上的插座。它只能以一种方式插入。
在本课程的这一部分中,你将为你的Raspberry Pi添加一个光传感器。
本课程使用的传感器是一个光传感器,它使用光电二极管将光线转换成电信号。这是一个模拟传感器,会发送一个从0到1000的整数值,表示相对的光照量,并不对应任何标准单位,例如勒克斯。
光传感器是外部的Grove传感器,需要连接到连接在Raspberry Pi上的Grove Base HAT上。
用于检测光照水平的Grove光传感器需要连接到Raspberry Pi上。
连接光传感器

将Grove线的一端插入光传感器模块上的插座。它只能以一种方式插入。
在关闭电源的情况下,将Grove线的另一端连接到标记为A0的模拟插座上。这个插座位于连接到Pi的Grove Base HAT上的GPIO引脚旁边,它是这一行插座中最右边第二个。

现在可以使用Grove光传感器对设备进行编程了。
编程设备。
启动Pi并等待其启动。
打开你在本作业前一部分创建的夜灯项目,要么直接在Pi上运行,要么通过Remote SSH扩展连接。
打开app.py文件并将其中的所有代码删除。
在app.py文件中添加以下代码以导入一些所需的库:
import time from grove.grove_light_sensor_v1_2 import GroveLightSensor
从Grove Python库中导入import time statement imports the time module that will be used later in this assignment.
The from grove.grove_light_sensor_v1_2 import GroveLightSensor statement imports the GroveLightSensor。此库包含与Grove光传感器交互的代码,并且在Pi设置期间已全局安装。
在上面的代码之后添加以下代码以创建管理光传感器的类实例:
light_sensor = GroveLightSensor(0)
light_sensor = GroveLightSensor(0) creates an instance of the GroveLightSensor类连接到针脚A0 - 光传感器连接的模拟Grove针脚。
在上述代码之后添加一个无限循环,以轮询光传感器值并将其打印到控制台:
while True: light = light_sensor.light print('Light level:', light)
这将使用light property of the GroveLightSensor class. This property reads the analog value from the pin. This value is then printed to the console.
Add a small sleep of one second at the end of the loop读取0-1023范围内的当前光照级别。由于不需要连续检查光照水平,因此添加了一个睡眠时间以减少设备的功耗。
time.sleep(1)
从VS Code终端运行以下命令来运行你的Python应用程序:
python3 app.py
光照值将输出到控制台。遮住和移开光传感器,数值将发生变化:
pi@raspberrypi:~/nightlight $ python3 app.py Light level: 634 Light level: 634 Light level: 634 Light level: 230 Light level: 104 Light level: 290
你可以在code-sensor/pi文件夹中找到此代码。
成功地为你的夜灯程序添加了一个传感器!
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。