271|1

59

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【follow me第二季第一期】任务二,检测环境温度和光线 [复制链接]

 

这部分是教学里面两个事例例程的整合

第一个是光线强度检测:

光线传感器数据读取,analogio模块,读取模拟信号并进行转换

关键代码

light = anlogio.Analogln(board.LIGHT)
print(light.value)

出来的结果是这样

 

第二个是温度检测

关键代码

thermistor = adafruit_thermistor.Thermistor(board.TEMPERATURE,10000,10000,25,3950)
while True:
 temp_c = thermistor.temperature

出来的结果是这样

 

同时显示了摄氏度和华氏度的读数

把手摁在传感器上面温度会略微升高

 

眼睛是光线传感器,温度计是温度传感器,丝印标记很清楚

这里有两个官方的示例例程参考。

游乐场光线传感器 |Adafruit Circuit 游乐场快车 |Adafruit 学习系统

操场温度 |Adafruit Circuit 游乐场快车 |Adafruit 学习系统

先下载官方例程,将库拷贝到板子上

然后code部分整合到一起,可以正常运行了

 

# 在这里写上你的代码 :-)
import time
import board
import neopixel
import analogio
import simpleio
import adafruit_thermistor

# 自定义常量
BOARD_NEO_QTY = 10
BOARD_NEQ_BRI = 0.008

RED = (255, 0, 0)
YELLOW = (255, 150, 0)
GREEN = (0, 255, 0)
CYAN = (0, 255, 255)
BLUE = (0, 0, 255)
PURPLE = (180, 0, 255)
WHITE = (255, 255, 255)
OFF = (0, 0, 0)

# 灯带初始化
pixels = neopixel.NeoPixel(board.NEOPIXEL, BOARD_NEO_QTY,brightness=BOARD_NEQ_BRI,auto_write=False)
pixels.fill((0, 0, 0))
pixels.show()
# 传感器
sensor_light = analogio.AnalogIn(board.LIGHT)
sensor_temp = adafruit_thermistor.Thermistor(board.TEMPERATURE, 10000, 10000, 25, 3950)


# 定义颜色序列
brightness_colors = [GREEN, YELLOW, RED]
temperature_colors = [BLUE, YELLOW, RED]
while True:
    # 获取环境的亮度和温度
    peak_light = simpleio.map_range(sensor_light.value, 2000, 62000, 0, 5)
    peak_temp = simpleio.map_range(sensor_temp.temperature, 33, 33.5, 0, 5)
    print("light.value:", sensor_light.value)
    print("--peak_light ", int(peak_light))
    print("temp.value:", sensor_temp.temperature)
    print("**peak_temp ", int(peak_temp))

    # 右侧灯珠表示 亮度
    for i in range(0, 5, 1):
        if i <= peak_light:
            pixels[i] = GREEN
            if peak_light > 2 and i >= 2:
                pixels[i] = YELLOW
            if peak_light > 3 and i >= 3:
                pixels[i] = RED
        else:
            pixels[i] = OFF

    # 左侧灯珠表示 温度
    for j in range(9, 4, -1):
        if j >= 9 - peak_temp:
            pixels[j] = BLUE
            if peak_temp > 2 and j <= 7:
                pixels[j] = YELLOW
            if peak_temp > 3 and j <= 6:
                pixels[j] = RED
        else:
            pixels[j] = OFF
    pixels.show()

    time.sleep(0.1)


 

  绿色的灯表示,没有光线,就是光线检测量化为0的情况

蓝色的灯表示温度正常

最新回复

用官方例程检测环境温度和光线已经成功了   详情 回复 发表于 2024-9-2 07:27
点赞 关注
 
 

回复
举报

6820

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

用官方例程检测环境温度和光线已经成功了

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表