电子t恤:如何制作一件充满感觉的衬衫。

E-tshirt项目使用人机交互技术帮助被分类为自闭症的人,帮助他们的护理人员通过他们的自主数据了解他们的情绪状态。这个开源项目包括一件带有电泳(eink)显示器的t恤,可以显示穿戴者的听觉、皮肤温度和皮肤电反应。传感器和定制设计的微型PCB被嵌入到织物中,以允许它。

“e - tshirt&p”是为了帮助自闭症患者和他们的照顾者,让他们了解什么样的物体、声音、颜色和情况会触发人体内的溶解。这是一个关于概念的短片:

本教程只提供有关重新创建这个项目的相关技术信息,以适应您自己的应用程序并帮助处于困境中的人们。这个开源项目的所有源代码和设计文件都可以在这个页面的末尾找到。在开始学习本教程之前,建议先阅读原始概念和发展故事:


必备的知识

为了重新创建这个项目,它需要您有一个使用嵌入式c平台的工作知识,比如STM32 Discovery、ChibiOS、uGFX和Eagle用于开发这个项目。如果您是这些平台的新手,建议您在开始之前先了解这些平台:

  1. STM32L152发现board 参考Manual STM32L152数据表STM32L152命令手册
  2. ChibiOS用于RTOS、HAL等的嵌入式开发环境。
  3. 用于集成显示和开发gui的uGFX嵌入式库。绘制命令Gdisp
  4. 鹰PCB设计软件

所需的材料

这个项目的所有零部件都可以在这里找到。文档。它们中的大多数只在你制作了beta/alpha原型板之后才需要。为了开始修补,只需要前四个组件。除了这些部件之外,还需要像热空气焊接站、烙铁、镊子、连接线等工具。

E-tshirt是如何工作的?

在这个项目中,我使用了心率、皮肤温度和皮肤电反应等参数来确定用户的情绪状态。各种传感器用于实现这一目标。整个系统由STM32L152单片机控制,该控制器是为低功耗而选择的。这个手臂皮层- M3控制器提供256 KB的闪存和32 KB RAM。

传感器

如图所示,三个传感器用于获取自主数据。主要是,脉搏传感器它使用反射脉冲血氧技术来确定心率。在这里,由于血液中的血红蛋白提供了不同的光学性质,所以我们能够区分不同的心跳。

下一个是皮肤电反应传感器,它基本上是两个电极放在t恤内与人的身体接触。在这里,微控制器中的一个12位ADC能够感应人体通过电极提供的电导。根据人的压力水平,由于汗腺的激活,他们表现出更大的皮肤电导率。

最后,我们有一个温度传感器嵌入在t恤下方的用户腋下,可以帮助读取体温。


由这些传感器获得的数据由微控制器处理,以产生准确的自主数据值。然后通过电子墨水显示显示。

E-ink 显示

这里使用的6英寸电子墨水显示器是LG公司生产的LB060X02所生产的塑料基片上的一个薄而柔韧的面板。展品来自中国。该显示器的驱动程序是为STM32L152创建的,使用uGFX平台,并设计了一个小型的四层PCB,以适应其电源处理电路。


电源电路
在这个项目中,该系统使用了一个3.7V 600mAh的锂聚合物电池,它为单片机和电子墨水显示器供电。如图所示,LD3985提供了为STM32L152控制器供电所需的3.3V电源。电子墨水显示需要一系列的电压驱动它,因为它们内部的FETs。它需要+22V,-20V,+15V和-15V。这些电压是由车载电路产生的。

LT3463从电池中获取能量,并产生+22V (GVDD)和-20V (GVEE),基于VPOS_CTRL和VNEG_CTRL信号来自控制器。然后将+22V送入LM78L15,生成+15V (VPOS),并将-20V送入LM79L15以生成-15V (VNEG)。LM358还用于从VPOS和VNEG中产生一个共同的电压(VCOM),并将其输入到电子墨水显示器中。

安装ChibiOS, GCC, openOCD和uGFX。

ChibiOS是RTOS、HAL等的嵌入式开发环境,它可以被认为是一种轻量级的操作系统,适用于像STM32这样的微控制器。它允许我们使用一组标准的命令来与所有这些不同的控制器相互兼容。您可以跟随本教程来安装ChibiOS:ChibiOS Mac 教程
ChibiOS教程for 
其他操作系统的

在安装了ChibiOS并设置了GCC(用于编译C项目)之后,openOCD(用于将十六进制代码部署到微控制器上的调试器)通过上面的教程,我们可以继续。安装uGFX又是;

在STM32板上测试Blink程序。

我们可以首先尝试使用ChibiOS在发现板上运行一个blink程序,以确保所有的包都已正确安装和安装。您可以先从ChibiStudio导入一个演示项目。进行文件->导入->现有项目进入工作空间->这个项目包括一个演示代码,用于测试发现板上的所有模块,如LCD、RAM等。你可以尝试在以后上传这个程序来检查不同的模块。现在,在主程序(main.c)中编辑while循环中的行,以添加LED的blink代码:
while (true) {    palSetPad(GPIOB, GPIOB_LED4);   chThdSleepMilliseconds(500);   palClearPad(GPIOB, GPIOB_LED4);   chThdSleepMilliseconds(500); }

GPIOB_LED4是在发现板上被标记为LD4的右下角的LED。这是将会闪烁的LED。要上传这个程序,请执行以下步骤:

  1. 保存项目(ctrl + s)。
  2. 右键单击项目并构建项目。
  3. 单击顶部工具栏上运行的openocd按钮。
  4. 浏览并选择在项目文件夹内的build文件夹中创建的新文件,扩展为.elf。例如:ch.elf

一旦你完成上传,你应该看到LD4 LED正在闪烁。如果不是,试着检查前面的步骤并检查安装。你也可以试着问一下。ChibiOS论坛。,

注意:如果您想尝试设置/清除其他GPIO引脚,您将必须编辑该板。h文件,并更改其内部的别针的引脚配置。

上传E-tshirt 代码

一旦您熟悉了使用chibiOS,我们就可以开始导入E-tshirt项目的代码了。该代码包含LB060X02 eink显示器和传感器的驱动程序。你可以从这里下载:E-tshirt项目 https://github.com/DIYhacking/E-tshirt。,尝试通过chibi studio导入这个项目并构建项目。根据所得到的错误继续编辑或添加库。在chibiOS论坛中,您可以一直使用谷歌来获得解决方案或请求。


如果项目成功地构建而没有错误,那么我们可以进入下一步。

连接传感器

接下来,尝试连接传感器:心率、GSR和皮肤温度。我要详细地解释一下:

心率

使用E-tshirt检测佩戴者的心率,我使用的是。脉搏传感器又是;它采用反射脉冲血氧技术检测脉搏。这是基于血液中的血红蛋白提供不同的光学性质,这取决于血液中的氧含量。该传感器工作于3V,并连接到。PA1发现板上的pin(端口A, pin 1)。


注意:你将不得不在发现板上移除液晶显示器,因为有几个GPIO引脚连接到它。

GSR(皮肤电反应)
身体的GSR基本上是皮肤传导。当我们处于压力状态时,我们的汗腺会打开,从而增加皮肤的导电性。我们可以使用STM32L152上的12位ADC来测量皮肤的传导率。连接PC0(端口C, pin 0)连接到电极上的一根长连接线。这个电极需要放在皮肤上才能感觉到电导率。我们需要提供一个3V线通过电极到靠近第一个电极的区域。,

皮肤温度

为了检测皮肤温度,我使用LM35。当与我们的皮肤接触时,它可以使用这个公式来检测皮肤温度:temp =(3.0 *类比(tempPin) * 100.0) / 1024;来自LM35的信号线连接到。PA5(港口,销5)。,

注意:所有的pin定义都可以在黑板上看到。h文件(src→board.h)又是;

在sensor_task中,在每个TestThread()中上传E-tshirt代码和取消注释行。c文件从串行监视器上的传感器查看数据。例如,在TestThread2()中,为了从LM35温度传感器获取ADC值,您将看到一条注释行:

//test_println("");
//test_printn(temp);

取消注释这些行并保存,构建项目。接下来将你的串行连接到USB适配器。(TX)和PA10(RX)钉在发现板上。您现在可以从您的串行监视器上的传感器(我使用arduino的串行监视器)上的传感器查看数据,然后将编辑过的代码上传到您的发现板上。确保在串行到USB适配器和发现板之间有一个共同点。你可以为每个传感器做这个程序,检查它们是否连接和正常工作。

设计电子t恤PCB。

测试板

在这个项目中,我设计了两个不同的PCB板。第一块板或测试版是用来测试eink显示器的。这两层板只有驱动eink显示器所需的电源电路。并将从STM32L152发现板到测试版的eink显示器的数据线连接起来。无论如何,你需要一个接插件板连接到eink显示器上的39个大头针,所以你可以下载这两层PCB的原理图和板文件,并制作它。我的电路板是由PCB电源制作的,你可以用这块板来测试eink显示器,验证代码是否正常工作。将组件焊接到这块板上并进行测试。

α董事会

这是最后的四层PCB板,由STM32L152控制器和驱动E-tshirt所需的所有电源电路组成。这个板将会被嵌入到t恤和传感器。这些板子的最小道宽是。0.007英寸/7mils和通过尺寸直径。0.002英寸,钻0.015英寸你需要一个热风机将部件焊接到这块板上。

从这里下载鹰板设计文件:E-tshirt PCB设计 https://github.com/DIYhacking/E-tshirt/blob/master/EtshirtPCB.zip ,和组件列表 https://github.com/DIYhacking/E-tshirt/blob/master/E-Shirt%20components.pdf。

焊接的技巧

使用液体焊剂来焊接这些零件,只需要用焊锡膏(技工膏),以防在纸板上的焊料不够。使用耐高温卡普顿胶带防止焊接部件过热。焊接39针FPC接头可能是一个挑战,因为连接器将开始融化,除非你移除顶部的塑料盖。下一个挑战将是焊接STM32L152控制器,因为你需要均匀地加热所有的大头针。还要确保LT3463的DFN10包的所有引脚都是正确焊接的,因为它是一个无引导包。

如果你碰到锡膏,要小心洗手,因为锡膏含有铅。

将E-Tshirt代码上传至董事会。

在制作电路板之后,用E-来测试它。墨水显示。要做到这一点,你可以通过上面的编程图钉把代码上传到黑板上。将T_JTCK、T_JTMS、T_NRST、CL和T_SWO pins(参见鹰图)连接到发现板上CN2连接器上的相应引脚上。确保你在发现板上移除CN3连接器上的跳线,并将SB100连接在你的E-tshirt板上连接到NRST pin。现在把代码上传到黑板上。您可以使用电源或电池提供3.8-4V 600mAh为系统供电。

为了测试测试版,你必须把发现板上的所有数据线连接到测试版上的连接器上。你可以参考测试版和董事会的原理图。h文件从E-tshirt源代码来理解哪个引脚是哪个。

将系统嵌入t恤上。

你可以即兴创作自己的技术,把系统贴在t恤上,或者你可以检查我的方法。首先,你得在t恤上打个洞,这样就能看到eink屏幕了。为此,我熨了一件硬布。硬麻布,在t恤背面。这种布在加热后会粘在t恤上,使它变得僵硬。这可以让你很容易地剪掉t恤,因为布料不会弯曲或弯曲。


我也用同样的材料来创建口袋,用来保存eink显示器和控制器板。这样你就可以去掉那些部件,这样你以后就可以洗衬衫了。
热胶也是一种很好的粘合剂,可以用来保持零件的位置。

电子t恤项目的资源。

源代码 https://github.com/DIYhacking/E-tshirt

测试板设计文件 https://github.com/DIYhacking/E-tshirt/blob/master/EtshirtPCB.zip


相关文章