339|1

13

帖子

3

TA的资源

一粒金砂(中级)

楼主
 

【Follow me第二季第1期】基础任务二:监测环境温度和光线,通过板载LED展示舒适程度 [复制链接]

 

任务理解

热敏电阻温度传感器 A9 和 光线传感器 A8 ,都已经集成在了主板,获取两个传感器的值映射到NeoPixel灯带

 

      

代码部分

  • 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)

主要逻辑

1. 初始化传感器前的部分,和任务一 是基本一致

2. 初始化 光线传感器 和 温度传感器

3.1 大循环 中,首先把两个传感器的值 在 范围内映射到 5 个灯珠

3.2 按照2个传感器的值,分别显示在左右两排 NeoPixel灯带

 

展示

 

 

补光灯开启

 

 

尾巴

CircuitPython 开发无需 编写大量的 驱动,甚至连针脚都已经被环境定义好,使用起来很方便

最新回复

看着感觉这个RGB的光用相机一拍就很失真,和人眼看到的差距很大   详情 回复 发表于 2024-8-8 08:46
点赞 关注
 
 

回复
举报

6803

帖子

10

TA的资源

版主

沙发
 

看着感觉这个RGB的光用相机一拍就很失真,和人眼看到的差距很大

个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
立即报名 | 2025 瑞萨电子工业以太网技术日即将开启!
3月-4月 深圳、广州、北京、苏州、西安、上海 走进全国6城
2025瑞萨电子工业以太网技术巡回沙龙聚焦工业4.0核心需求,为工程师与企业决策者提供实时通信技术最佳解决方案。
预报从速,好礼等您拿~

查看 »

 
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
快速回复 返回顶部 返回列表