本帖最后由 DI玩 于 2024-8-5 15:07 编辑
在蚕宝宝智能育婴室项目中,项目小组用信息科技实验板+行空板的组合实现了育婴室的恒温控制和物联网监控。行空板那么强大,能不能只用一块主控解决问题?拥有今天的主角——行空板双路电机I/O扩展板,就可以做到单板支撑整个育婴室项目了。
扩展板由DF新版塑封袋包装,内袋也增加了明晰的产品标识。
随扩展板配送了U型TypeC转HY2.0-4P线和一个DC2.1转接线端子。
功能示意图
扩展板尺寸和行空板差不多
板上最显眼的当属这个斜45°安装的行空板插槽。
插上行空板的样子,量过,确实是45°
插槽并不直接给行空板供电,需要用附赠的转接线转接。
教学用的话,接插件“防呆”设计是必须的
转接线“上身”效果
作为恒温箱实验的简易加热装置,以及一些科学实验数字化改造的必要角色,白炽灯依然有它的用武之地。但是翻遍扩展板的说明文档,你也是找不到如何用它点亮白炽灯的。其实,我们可以变通操作,将灯泡接电机驱动接口上,并用PWM信号控制灯的亮度。
电路连接示意图
需要注意的是,白炽灯和电机对于行空板来说属于“大功率电器”,要外接电源才能满足供电需求。扩展板的外接电源电压范围是6-12V,这里用的是一块7.4V的锂电池。
给行空板写一个可以根据环境亮度调节灯光的程序
- import math
- import time
- from unihiker import GUI
- from pinpong.board import Board, Pin
- from pinpong.extension.unihiker import *
-
- # 定义映射函数
- def numberMap(x, in_min, in_max, out_min, out_max):
- return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
-
- # 创建GUI对象
- u_gui = GUI()
- Board().begin()
- # 设置P5引脚为输出模式
- p_p5_out = Pin(Pin.P5, Pin.OUT)
- # 设置P8引脚为PWM模式
- p_p8_pwm = Pin(Pin.P8, Pin.PWM)
- # 加载字体文件
- font_family = u_gui.load_font('LcdPhone-wgZ2.ttf')
- # 设置屏幕背景色为黑色
- u_gui.fill_rect(x=0, y=0, w=240, h=320, color="#000000")
- # 在屏幕上显示文本"12345"
- L = u_gui.draw_text(text="12345", x=50, y=50, font_size=50, color="#FFCC33")
- # 设置文本的字体
- L.config(font_family=font_family)
-
- while True:
- # 更新屏幕上的文本为当前的光敏传感器读数
- L.config(text=(str(light.read())))
- # 将P5引脚设置为低电平
- p_p5_out.write_digital(0)
- # 读取光敏传感器的值
- my_variable = light.read()
- # 使用numberMap函数将光敏传感器的读数映射到0到600的范围
- my_variable = (numberMap(my_variable, 200, 700, 600, 0))
- # 将映射后的值写入P8引脚作为PWM信号
- p_p8_pwm.write_analog((int(my_variable)))
- # 等待100毫秒
- time.sleep(0.1)
复制代码
工作时的效果
外接电源后,扩展板的VM指示灯会亮起
电机接口有输出时,对应的白色信号指示灯也会闪烁。
在扩展板的加持下,行空板有了更多“天马行空”的施展空间,但这个扩展板最有趣的设计,还是45度倾斜的插槽。翻看电路板背面,插槽引脚是修剪齐平的,这可能导致加工难度和成本的上升。
虽然斜45度的安装方式看过去确实很有腔调,但DF显然不至于为了好看去下这功夫。揣摩过程中顿悟,这是为了获得更清晰的屏幕视觉效果呀!行空板采用的液晶屏可能是TN屏,和这种屏幕类型的显示器一样,左右视角很清晰,但是上下视角就存在不足了。
通过插槽倾斜进行补偿,让用户使用时获得更好的视觉体验,应该是厂家下本做出这种“神奇”设计的初衷吧。
|