《优秀的IC/FPGA开源项目》是新开的系列,旨在介绍单一项目,会比《优秀的 Verilog/FPGA开源项目》内容介绍更加详细,包括但不限于综合、上板测试等。两者相辅相成,互补互充~
一种智能手套,可将手语字母翻译成带显示器的书面字母。
绪论
在这个项目中,我们的主要目的是开发一款智能手套,帮助使用手语的人在日常生活中轻松交流。
学习手语是一个要求很高的过程。因此,许多健康人并不了解这个过程。在这款智能手套的帮助下,那些健康的人将能够理解那些使用手语的人。智能手套还可以用作想要学习手语的健康人的模拟器。
这个项目主要涉及到模拟字母,字母是语言的基石。在这个项目中,我们使用 FPGA 来实现将手势模拟为视觉字母的算法。检测手势是通过手指上的柔性传感器测量出手的形状。vga监视器用于直观显示FPGA中转换为字母的手势。




上三图说明了 VGA 控制器产生的时序信号。控制器包含两个计数器。一个计数器在像素时钟上递增并控制 h_sync(水平同步)信号的时序。通过将其设置为显示时间从计数器值 0 开始,计数器值在显示时间内等于像素的列坐标。水平显示时间之后是消隐时间,消隐时间包括水平前沿、水平同步脉冲本身和水平后沿,每个都有指定的持续时间。在行的末尾,计数器重置以开始下一行。v_sync 计数器在垂直轴内应用相同的操作。
使用这些计数器,VGA 控制器输出水平同步、垂直同步、显示启用和像素坐标信号。每个 VGA 模式的同步脉冲被指定为正极性或负极性。

我们首先创建随机图像并使用 RGB 信号改变它们的颜色,如上图所示。

要在屏幕上显示文本或字符串,有一个众所周知的 Font Rom Map -上图 - 包括所有 ASCII 字符(每个字符为 8x16 位)。通过使用 Font Rom,我们的代码现在能够在显示器上书写文本或字母,如下图所示 。

为了转换来自柔性传感器的模拟数据,我们使用了ADC-每通道具有 12 位分辨率。由于 4 个手指足以执行大多数手语字母,因此一个 4 通道ADC就足够了。

ADC的通信的逻辑如下图所示。


作为总结,项目的架构如下图所示。



作为参考手语,我们使用了ASL,它具有下图中的手势。


现在执行工程就可以识别到上图中标记的字母。
工程链接:
https://github.com/umuttoksoy/10ISTK---Sign-Language-Translator