0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用于聋人和静音人际互动的手势声控器的制作

454398 来源:网络整理 作者:佚名 2019-11-01 10:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:我们需要的电子设备

为简单起见,我们将项目分为三个部分

·传感器

为此,我们需要两种类型的传感器及以下组件

1。弯曲传感器2个单元,用于测量手指的弯曲程度

2。 ADXL 335获取手的x和y轴x坐标

3。 10K欧姆电阻2个单位,与挠性传感器一起形成分压器偏置

4。小型PCB(覆铜2英寸X 2英寸)以构建传感器电路

5。连接的错误条

·控制器部分

我们尝试使用两种方法使用Arduino UNO板来实现该原型,而另一种方法是为Atmega制作自己的分线板328,但我们仍在使用Arduino UNO烧写引导程序并在Atmega 328中上载代码。

所以这里我们需要

1。 Arduino UNO

2。 Atmega 328p-pu

3。 22p F电容器2个晶体用滤波电容

4。 16 MHz晶振1个单元,用于Atmega 328

5的工作频率。 10K欧姆电阻1个单位复位电阻

6。重置按钮1个单位以重置Atmega 328

7。连接错误条

8。 7805 5V电压调节器可从9V电池获得5V调节电压。

9。 BC 547 npn晶体管8个单元,用于控制音频处理器IC

10的通道。 1K欧姆电阻8个单元,用于将Atmega 328的端口引脚连接到晶体管的基极

·音频处理和LCD单元

1。 APR 33A3音频处理器存储和播放声音1个单位

2。 LCD 16X2 1个单元来显示消息

3。麦克风1个单元,用于录制音频消息

4。扬声器16欧姆1个单位播放音频信号

5。 10K欧姆电位器1个单位,用于控制LCD的亮度

6。并且所有支持APR 33A3的其他组件

·47K欧姆电阻

·4.7K欧姆电阻

·100K欧姆电阻

· 470欧姆电阻

·1nF电容器

·100nF电容器

·100 microF电解电容

·10 microF电容器

·1个微型F电容器

·连接线

其他组件数量请参考APR 33A3的电路图或数据表

步骤2:准备好硬件。。..

使用PCB WIZARD软件进行PCB设计,您可以从此链接下载

软件http://pcb-wizard.software.informer.com/4.0/

PCB向导是设计电路最简单的软件,即使初学者也可以使用它直接因为该软件非常易于使用。..。.它具有许多功能,可减少设计时间电路,例如DRAG和Drop选项。..。

一旦电路设计完成,我们就将.pcb文件附加到设计好的PCB上

从该电路布局的艺术作品中取出印刷品在照片纸或光面纸上,然后通过熨烫工艺跟踪覆铜板上的电路印刷图稿。

在熨烫过程中,您必须注意,所有电路布局图稿应完全在覆铜板上跟踪在完全跟踪覆铜箔上的电路布局图稿后,用水制成Fecl3溶液,并将其跟踪到覆铜箔中约30至40分钟。..。..。在此过程中,您应连续检查其中的覆铜箔一定间隔后,覆铜板的铜应消失,除了电路布局图的痕迹部分……意味着仅应保留电路。..

一旦从溶液中取出板然后清洗钻孔后涂助焊剂并完成并用砂纸打磨钻孔。在镀锡开始安装组件并进行焊接操作之后,借助烙铁进行镀锡过程。..。..。..

使用图像跟踪各个组件的所有过程和位置。

请按照电路图制作自己的PCB。

如果我们在自己制作的分线板上使用Arduino UNO,则只有Atmega 328控制器部分被忽略,其余的连接都相同并进行连接

步骤3:在ATmega 328、168、8中刻录Bootloader

这里有我们学习使用Arduino IDE和Arduino UNO在空白的ATmega 328/168/8芯片上刻录引导程序。

所以,我们需要什么

第一步连接硬件

用于ATmega 328/168/8的空白芯片的分线板

在这里,我们也可以在面包板上进行连接,我也可以根据需要选择制作一块特殊的板,这样就无需做sa我一次又一次地处理,只是节省您的时间。进行如图1所示的连接

观看图2。这是我用来烧写引导程序的板。

在购买ATmega 328空白芯片时请注意

您可能已经注意到,

ATMega328P-PU

ATMega328-PU

两者之间的区别只是328之后的P。是ATMEL开发的一项技术,它允许微控制器以更低的功率运行。

这对于小型应用程序至关重要,但是伙计们在刻录引导加载程序时每个芯片都有其唯一的密钥签名,因此需要在刻录之前编辑该密钥签名引导加载程序。

那么这些IC的密钥签名是什么

ATmega328 0x1E 0x95 0x14

ATmega328P 0x1E 0x95 0x0F

所以我们需要要在刻录引导程序之前更改这些签名,请遵循以下基本步骤

·导航至。.. arduino-1.0.5 hardware tools avr etc

·进行备份文件的副本:avrdude.conf

·在文本编辑器中打开avrdude.conf文件r

·搜索:“ 0x1e 0x95 0x0F”(这是ATmega328P签名)

·替换为:“ 0x1e 0x95 0x14”(这是ATmega328签名)

·保存文件

·重新启动Arduino IDE

·继续进行引导程序的其余步骤,一旦引导加载完成,请还原您制作的备份副本。

使连接与图3所示相同

现在,我们已经完成了硬件设置

2步骤准备软件

打开Arduino IDE,确保您已根据目标AVR ATmega

1更改了您的签名。打开Arduino IDE

2。文件》示例》 Arduino ISP

3。从工具》板中选择Arduino328

4。选择您的串行端口。

5。在Arduino板上烧录。

6。从工具》编程

7中选择Arduino作为ISP。选择Burn Bootloader

步骤4:上传代码并使之运行

在我们加载的引导中使用Arduino UNO加载以下代码芯片(Atmega 328)

//GESTURE

VOCALIZER进行人与人互动

#include

//伙计们从arduino.cc下载此库

LiquidCrystal lcd(13,12,11,10,9,8);//检查引脚连接的电路图

void setup()

{

lcd.begin(16,2);

}

void loop()

{

lcd.clear();

int val0 = AnalogRead(0);//读取输入引脚柔性传感器引脚1

val0 = map(val0,465,590,0,9);//将其转换为0到9的窗口

int val1 = AnalogRead(1);//读取输入引脚柔性传感器引脚2

val1 = map(val1,435,535,0,9);

//读取输入引脚

int val2 = AnalogRead(2);//读取输入引脚X轴引脚

val2 = map(val2,260,415,0,9);

int val3 = AnalogRead(3);//读取输入引脚y轴引脚

val3 = map(val3,260,420,0,9);

如果(val0》 = 0 && val0 《= 0 && val1》 = 3 && val1 《= 4 && val2》 = 7 && val2 《= 8 && val3》 = 4 && val3 《= 5)//将符号与标准存储值相匹配,取决于佩戴者的双手

{

lcd.print(“我是__________________”);//在LCD上显示消息

digitalWrite(0,HIGH);//在APR 33A3上选择语音命令1

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW) ;

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

delay(100);

digitalWrite(0,LOW);//将其关闭

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7, LOW);

delay(5000);

}

否则,如果(val0》 = 6 && val0 《= 7 && val1》 = 1 && val1 《= 2 && val2》 = 7 && val2 《= 8 && val3》 = 2 && val3 《= 3)

{

lcd.print(“ sorry”);

digitalWrite(0,LOW);//在APR 33A3上选择语音命令2

digitalWrite(1,HIGH);

digitalWrite(2,LOW);

digitalWrite(3,LOW) ;

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

延迟(100);

digitalWrite(0,LOW);

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5, LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

delay(5000);

}

否则,如果(val0》 =-1 && val0 《= 0 && val1》 = 3 && val1 《= 4 && val2》 = 1 && val2 《= 3 && val3》 = 0 && val3 《= 2)

{

lcd.print(“ Hello”);

digitalWrite(0,LOW);//在APR 33A3上选择语音命令3

digitalWrite(1,LOW);

digitalWrite(2,HIGH);

digitalWrite(3,LOW) ;

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

延迟(100);

digitalWrite(0,LOW);

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5, LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

delay(5000);

}

否则,如果(val0》 = 0 && val0 《= 0 && val1》 = 0 && val1 《= 1 && val2》 = 5 && val2 《= 6 && val3》 =-0 && val3 《= 1)

{

lcd.print(“谢谢”);

digitalWrite(0,LOW);//在APR 33A3上选择语音命令4

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,HIGH) ;

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

延迟(100);

digitalWrite(0,LOW);

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5, LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

delay(5000);

}

否则,如果(val0》 = 2 && val0 《= 3 && val1》 = 1 && val1 《= 1 && val2》 = 3 && val2 《= 5 && val3》 = 1 && val3 《= 2 )

{

lcd.print(“ drink”);

digitalWrite(0,LOW);//在APR 33A3上选择语音命令5

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW) ;

digitalWrite(4,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

延迟(100);

digitalWrite(0,LOW);

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5, LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

delay(5000);

}

否则,如果(val0》 = 4 && val0 《= 5 && val1》 = 2 && val1 《= 3 && val2》 = 4 && val2 《= 6 && val3》 = 0 && val3 《= 2 )

{

lcd.print(“ beautiful”);

digitalWrite(0,LOW);//在APR 33A3上选择语音命令6

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW) ;

digitalWrite(4,LOW);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

延迟(100);

digitalWrite(0,LOW);

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5, LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

delay(5000);

}

否则,如果(val0》 = 0 && val0 《= 0 && val1》 = 4 && val1 《= 6 && val2》 = 4 && val2 《= 5 && val3》 = 1 && val3 《= 2 )

{

lcd.print(“ bye”);

digitalWrite(0,LOW);//在APR 33A3上选择语音命令7

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW) ;

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,HIGH);

digitalWrite(7,LOW);

延迟(100);

digitalWrite(0,LOW);

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5, LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

delay(5000);

}

否则,如果(val0》 = 0 && val0 《= 1 && val1》 = 0 && val1 《= 1 && val2》 = 7 && val2 《= 8 && val3》 = 1 && val3 《= 2 )

{

lcd.print(“ sick”);

digitalWrite(0,LOW);//在APR 33A3上选择语音命令8

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW) ;

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(7,HIGH);

delay(100);

digitalWrite(0,LOW);

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5, LOW);

digitalWrite(6,LOW);

digitalWrite(7,LOW);

delay(5000);

}

else

{

lcd.print(“ System on”);//初始消息

digitalWrite(0,LOW);

digitalWrite(1,LOW);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW) );

digitalWrite(7,LOW);

}

delay(200);//延迟200毫秒

}

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 声控器
    +关注

    关注

    0

    文章

    3

    浏览量

    6674
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    TMC5240:静音精准与高效控制的完美融合

    。Trinamic(现隶属ADI)推出的TMC5240智能高性能步进电机控制与驱动IC,以全集成设计、行业领先的静音技术及精准运动控制能力,为多领域高端应用提供一站式驱动解
    的头像 发表于 11-18 11:06 343次阅读
    TMC5240:<b class='flag-5'>静音</b>精准与高效控制的完美融合

    浮思特 | NMB散热风扇静音如何?卓越静音效果提升散热性能

    随着现代电子设备的不断发展,散热风扇在保证设备稳定运行方面的作用愈发重要。尤其是在高性能计算、工业设备及服务等领域,如何在确保散热效果的同时降低噪音,成为了设计中的关键问题。作为全球知名的散热方案
    的头像 发表于 11-06 14:15 231次阅读
    浮思特 | NMB散热风扇<b class='flag-5'>静音</b>如何?卓越<b class='flag-5'>静音</b>效果提升散热性能

    TMC2224超静音电机驱动IC,赋能自动化设备“无声”运行

    前言市场中设备的静音性能是重要竞争因素,生活中“设备静音化”是“人民的呼声”——据行业调研,2024年全球“静音驱动”相关需求增速超25%,其中办公、医疗、家居等场景对静音的需求更高。
    的头像 发表于 10-31 17:05 218次阅读
    TMC2224超<b class='flag-5'>静音</b>电机驱动IC,赋能自动化设备“无声”运行

    基于STMicroelectronics AEK-SNS-2TOFM1手势检测系统的技术解析与应用实践

    STMicroelectronics AEK-SNS-2TOFM1预定义手势检测系统包括两个飞行时间测距传感。这些传感彼此距离23cm放置。车载SPC582B60E1微控制读取传
    的头像 发表于 10-29 16:07 395次阅读
    基于STMicroelectronics AEK-SNS-2TOFM1<b class='flag-5'>手势</b>检测系统的技术解析与应用实践

    【技术讨论】智能戒指手势交互:如何优化PCBA成本与实现<20ms低延迟?

    元件的小批量贴片,如何有效控制加工损耗与成本? 低延迟手势识别:目标是将传感数据采集、姿态解算到蓝牙指令发出的端到端延迟控制在10ms以内。在软件层面,除优化传感FIFO与中断服务程序(ISR)外
    发表于 10-18 13:04

    XenG202G | 挥手手势识别参考设计(三维)

    WEMAKERFSMART-赋予万物感知的灵魂-矽典微ICLEGENDMICROXenG202G挥手手势识别(三维)毫米波传感特征手势识别:非接触式控制,高精度手势动作识别,支持方向
    的头像 发表于 08-29 08:25 437次阅读
    XenG202G | 挥手<b class='flag-5'>手势</b>识别参考设计(三维)

    广芯微推出基于MCU芯片UM32M156的高速吸尘全栈式电机控制方案

    在智能清洁电器市场高速发展的今天,用户对吸尘等产品的吸力强度、响应速度和静音性能提出更高要求,而行业却长期困于吸力不足、启动延迟、BOM成本高企等痛点。
    的头像 发表于 08-18 14:54 6866次阅读
    广芯微推出基于MCU芯片UM32M156的高速吸尘<b class='flag-5'>器</b>全栈式电机控制方案

    静音降噪马达驱动技术改善手持吸尘工作噪声与振动控制

    的“交响乐”,给我们的清洁体验蒙上了一层阴影。不过,别担心,静音降噪马达驱动技术的出现,正悄然为手持吸尘带来一场静音革命。
    的头像 发表于 08-08 17:57 717次阅读

    一款带运动控制的超静音两相步进电机驱动芯片-MS35541

    电机驱动芯片 - MS35541集成了运动控制算法(四段加速/两段减速)、静音控制技术及高性能电流控制,显著提升防抖动性能,是视频会议设备、ATM机、打印机、实验室自动化等对静音与防抖动有严苛要求场景的理想解决方案。
    的头像 发表于 06-25 09:24 653次阅读
    一款带运动控制的超<b class='flag-5'>静音</b>两相步进电机驱动芯片-MS35541

    智慧教室互动平板:赋能未来教育的新利器

    在现代教育环境中,智慧教室设备的多样化不断推动着教学方式的变革。其中,智慧教室互动平板作为核心设备之一,正在改变传统课堂的教学模式,促进教师与学生之间的高效互动。本文将探讨智慧教室互动平板的主要功能及其在智慧教室
    的头像 发表于 05-09 11:43 779次阅读
    智慧教室<b class='flag-5'>互动</b>平板:赋能未来教育的新利器

    如何制作用于Visionfive 2的Debian + UEFI固件系统?

    制作用于Visionfive 2的Debian + UEFI固件系统
    发表于 03-10 07:51

    开源项目!手把手教你制作一个互动式LED墙壁时钟!

    ,再上传最终代码完成你的互动式时钟制作。 请注意安装Neopixel和RTCds1302库,并观看相关视频了解代码的工作原理。到此,你成功完成了自己的互动式LED墙壁时钟! *附件:代码.zip 作者
    发表于 02-08 17:47

    大研智造激光焊锡机:影控声控光控IC芯片PCB焊接的革新引擎

    影控声控光控IC芯片,作为实现这些智能交互功能的核心枢纽,其重要性不言而喻。随着市场对产品智能化、多样化的需求如井喷般增长,影控声控光控IC芯片的应用场景不断拓展,从家电的智能操控到礼品工艺品的创意
    的头像 发表于 01-15 10:45 693次阅读

    AN144-通过静音开关设计降低EMI并提高效率

    电子发烧友网站提供《AN144-通过静音开关设计降低EMI并提高效率.pdf》资料免费下载
    发表于 01-12 11:20 0次下载
    AN144-通过<b class='flag-5'>静音</b>开关设计降低EMI并提高效率

    静音导轨与不静音导轨的区别

    静音导轨与不静音导轨在多个方面存在显著差异,核心区别在于静音导轨通过优化设计和使用特殊材料,显著减少了运动时的噪音和摩擦,提高了使用的平稳性和舒适性。
    的头像 发表于 12-27 17:42 1204次阅读
    <b class='flag-5'>静音</b>导轨与不<b class='flag-5'>静音</b>导轨的区别