当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]公共空间正日益优化以提升行动效率。人们快速、安静地穿行其中,既不触碰任何物体,也不与本意之外的人接触。移动中的身体,便成为被操控的身体。

公共空间正日益优化以提升行动效率。人们快速、安静地穿行其中,既不触碰任何物体,也不与本意之外的人接触。移动中的身体,便成为被操控的身体。

这个项目源于一个不同的问题:如果有一种可穿戴设备,能让身体以感知的方式意识到空间、邻近感以及他人存在,而不是仅仅通过视觉?不是作为通知,而是像皮肤上悄然降临的某种存在,几乎如同第二层肌肤一般。

《情感破裂》是一种基于两个无线单元构建的可穿戴距离感应系统。其中一个单元利用Grove超声波测距仪读取距离;当另一人体在100厘米范围内靠近时,便会通过ESP-NOW无线方式将数据传送给身上佩戴的第二个单元。该单元作出响应:振动电机启动,其震动强度随距离变化而调整;同时,NeoPixel LED灯带的颜色会从绿色逐渐过渡为蓝色、紫色,最终变为红色,随着距离减小而变化。当无人靠近时,振动电机和LED灯则自动关闭。当有人进入阈值范围时,电机会根据距离产生振动,同时灯光随之亮起。

该项目是巴塞罗那IAAC/Elisava的MDEF项目的一部分,基于身体美学、愉悦行动主义和女性主义理论开发而成。

系统采用两个独立的XIAO ESP32-S3模块进行无线通信。

模块1(传感器模块):

模块2(触觉+LED模块):

在该规模下,ERM电机无需使用晶体管。XIAO D1引脚通过analogWrite()直接以PWM方式驱动电机。若计划使用更大的电机,请添加一个NPN晶体管(BC547或S8050),并连接一个100Ω基极电阻和一个1N4148反向二极管。

注意:请将NeoPixel灯带从灯带箭头方向的输入端连接。从输出端连接将无法产生效果。

制作指南

1:获取MAC地址

在编写任何ESP-NOW代码之前,您需要获取模块2(接收器)的MAC地址。将该地址上传至每个XIAO,并在串口监视器中记录输出结果。

2:先上传模块2的代码

在模块1开始发送数据之前,必须先确保模块2已运行并处于监听状态。将接收器代码上传到电机和LED单元,并记录其MAC地址,然后使用该地址更新发送器代码,再上传至单元1。

3:连接单元1

使用Grove数据线连接Grove超声波测距仪:黑色线接GND,红色线接3V3,黄色线接D0,白色线不使用。

4:连接单元2

电机的红色线接3V3,电机的黑色线接D1。NeoPixel的GND接GND,5V接5V,DIN接D2。如果电机线太细无法夹在面包板上,请先用跳线将其拧紧后再插入。

5:独立测试

在同时运行两个单元之前,先分别测试各个组件。对于电机:上传一个简单的analogWrite(D1, 200)程序并确认是否产生振动。对于LED灯带:上传一个基础的NeoPixel程序并确认颜色响应正确。

6:同时运行两个单元

通过USB或电池为两个单元供电。传感器单元将开始读取距离并通过ESP-NOW发送数据。将手靠近传感器100厘米内,观察单元2上的LED和电机是否作出反应。

硅胶

外层采用了硅胶材质,使其外观更接近皮肤。制作过程相对简单:我尝试了不同厚度的硅胶,因为部分硅胶部件用于缝合电子元件,而较薄的硅胶则用作外层。

故障排除

电机不振动:检查电线末端是否与面包板有良好接触。细线电机电缆通常无法牢固夹住面包板上的夹子,插入前请使用跳线将其拧紧。同时确认在整个程序中都只使用 analogWrite(),不要在同一引脚上混合使用 analogWrite() 和 digitalWrite()。

LED 不亮:请确认连接的是灯带的输入端,而不是输出端。灯带上的箭头指示数据方向。此外,请确认 DIN 线确实连接到 D2 引脚。

ESP-NOW 无法连接:两个设备必须处于同一 WiFi 频道(默认为频道 0)。请确认设备 1 的 MAC 地址与设备 2 完全一致。可使用上方的 MAC 地址示例进行验证。如果在串口监视器中看到“Peer interface is invalid”错误信息,在 setup() 函数中调用 esp_now_init() 之前,在 WiFi.mode(WIFI_STA) 后添加 delay(100)。

串行监视器无输出:请检查波特率是否设置为115200,并在“工具”中选择正确的端口。如果同时连接了两个XIAO设备,它们会显示为两个独立的端口,容易误操作打开错误的端口。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭