当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]在这个项目中,我们将使用强度敏感的压力传感器来创建一个警报,在视觉和声音上警告我们在展示中发布的图形被操纵。这些人物被白光照亮。当你被操纵时,灯光的颜色就会变成红色,并发出警报。即使我们把图形放回原处,灯光的颜色也不会改变,警报继续响起,以找出哪个图形被操纵了。让我们先解释一下什么是强度相关传感器。

在这个项目中,我们将使用强度敏感的压力传感器来创建一个警报,在视觉和声音上警告我们在展示中发布的图形被操纵。这些人物被白光照亮。当你被操纵时,灯光的颜色就会变成红色,并发出警报。即使我们把图形放回原处,灯光的颜色也不会改变,警报继续响起,以找出哪个图形被操纵了。让我们先解释一下什么是强度相关传感器。

什么是抗强度相关的传感器?

力敏电阻(FSR)传感器是将施加在其上的物理压力作为电压值输出的传感器。这基本上是可变电阻。

通常,这些传感器由导电衬底层和半导体子结构层组成,据此,这些传感器通常由导电衬底层和半导体子结构层组成,由此,开放层的距离。在传感器的有源区施加的压力越大,该区域接触半导体层的点越多,使电阻值下降。

FSR基本上是电阻,改变它们的电阻值(以欧姆Ω为单位),这取决于它们被压的程度。这些传感器很容易使用,但不是很精确。它们不提供精确的值。用这些传感器可以确定重量。然而,你必须将电阻值转换成成比例的重量。那么重量就不准确了。然而,识别变化是可能的。这允许传感器用于此项目。

我们将使用的模块由FSR传感器和与传感器串联的510 kΩ电阻组成。该电路由5 VDC供电,电路的输出信号电压从分压器中移除,分压器由我们将使用的模块由FSR传感器和与传感器串联的510 kΩ电阻组成。电路供电5vdc,电路的输出信号电压从分压器上取下,由模块形成的输出信号电压很低,输出信号电压很低。相反,当传感器上的压力增加时,传感器的电阻会下降,从而使模块输出信号上的电压增加。在我们的项目中,我们将模块的输出信号连接到AZ微控制器的模拟输入,并在串行监视器上显示测量值。下图是AZ-Delivery-Data表中的模块电路:

电路及所用模块说明

我们对三个物体使用三个压力传感器。您将用白色或红色的光照亮WS2812B LED环。我们还使用了迷你mp3播放器DFPlayer与迷你扬声器一起播放报警音。整个系统由AZ-Atmega328微控制器控制。我们还需要一个microSD卡来保存声音文件。整套设备由外部5伏直流电源供电。

程序流程和草图的描述

当物体就位时,FSR传感器模块有一个高输出信号显示在串行监视器上。LED环用白光照亮人物或物体。一旦其中一个对象被操作,FSR传感器模块的输出信号下降,被操作对象的LED环亮红灯并发出报警声音。即使同一物体或其他物体再次定位在该位置,警报仍然存在。

使用迷你MP3播放器DFPlayer模块需要前两个库。MP3模块和微控制器之间的必要通信是串行的。库Softwareerial.H包含微控制器激活串行通信的任何数字PIN的功能。使用库Dfrobotdfplayermini.h,让我们激活使用MP3播放器模块所需的功能。

第三个库是来自Adafruit的Neopixel,能够使用LED环。

在我们为项目集成了必要的库之后,我们开始创建对象和变量的定义。为了使用MP3播放器模块,我们必须在软件库softwareial . h中实现mysoftwareial对象。数字引脚被赋予微控制器,我们将用于模块的串行通信。我们使用数字PIN 5接收来自MP3模块的数据,使用数字PIN 6向MP3模块发送数据。为了使用模块的税务方法和命令,例如设置音量或开始播放MP3文件,我们从库Dfrobotdfplayermini.h中创建对象mydfplayer。

FSR传感器的输出连接到微控制器的模拟输入。为此声明了以下变量。我们还将信号保存在其他变量中。

草图的下四行是用于将WS2812B LED环连接到微控制器的数字引脚的三个常量,以及用于定义每个环的LED数量的常量,在这种情况下为8个LED。

对于每个WS2812B LED环的操作,必须为使用的每个环创建Neopixel库的对象。一个环的led的各自数量写在这个对象的参数中(我们有这个number_led_ring的变量),每个环连接的微控制器的引脚(为此我们有变量,例如floers_ring_led),以及每个环的属性。它们是三色led (Neo_grb),工作频率为800 kHz (Neo_khz800)。

在草图的下一行中,为每个环的两种颜色的RGB值声明和定义变量。

下一个代码块是setup(),我们在其中配置模块的初始状态。

在前两行中,我们用Begin指令(“波特率”)初始化串行通信,这两行都是为了用mysoftwareeries指令与MP3模块通信。开始(9600),以及使用串行指令的串行监视器。开始(115200)。

接下来,我们检查MP3模块是否被IF语句正确初始化。在这种情况下,我们检查MP3模块是否由于任何原因没有初始化。我们用符号“!”进行初始化。退化,即如果模块没有初始化,条件为真,执行花括号内的代码。如果MP3播放器模块初始化正确,则不满足条件,并且不执行我们解释的代码。setup()方法继续通过serial行执行到串行控制台。println (f ("correct dfplayer initialization."))告知MP3播放器模块被正确初始化。

MP3模块初始化后,三个LED环必须使用每个环的对象(name_ring)的Begin()方法。Begin())被初始化。如果有一个亮了,我们就关掉所有的led灯。

首先,我们将环形光的亮度设置为200,总共为254。

在一个for循环中,一个环的所有led都带有flowers_ring。Setpixelcolor (I, floers_color_white)配置白色照明,然后使用floers_ring。Show()打开。计数变量I的最大值是我们在开始时定义的变量number_leds_ring的值。

两个for环类似于其他两个LED环。

只有FSR模块的信号值的变量,它被定义为一个高值。我们记得,当按下传感器时,模块的信号值很高。而不按下时,其值较低。

有了这些行,块的编程就完成了。现在让我们从持续执行的Loop()开始。它确定其中一个图形是否被移动或从其位置移除。我们将描述花中的花的代码。menina和hand的图形代码是相同的,只是每个图形变量的值发生了变化。menina的sensor_menina_signal <1200, hand sensor_hand_signal <1000。

为了检查FSR传感器模块的起始值的变化,我们使用if,在此我们检查先前存储的相应数字的传感器变量的值。三个数字的代码是一样的,只是每个数字的变量的测试值发生了变化。在这里,我们也将对代码中的变量进行检查,对花儿的图形sensor_flowers_signal进行分析。

每当变量sensor_flowers_signal中的先前存储值小于1000时,就执行块的内部。

一进入指令块,我们就用第一行Analogread (sensor_flowers_pin)读取FSR传感器模块信号的当前值,并将该值保存在相应的变量sensor_flowers_signal中。然后我们在串行监视器中花费该值。

下面的If - Else如果检查变量sensor_flowers_signal当前值是否小于200,如果该条件为真,则对象被移动,并执行以下代码触发告警。

我们在串行监视器中发出一个说明:

我们将环形光的亮度强度设置为200,总共为254。

为了打开受影响的红色环的所有led,我们再次使用一个for循环来遍历环的所有led。计数变量I对应LED的个数。红色的灯光是与flowers_ring。Setpixelcolor (I, flexers_color_red)配置。然后他们会和floers_ring在一起。Show()打开。我们记得变量I的最大值,因此变量Number_leds_Ring的值的拆除条件是。

现在我们要播放的报警音,我们在microSD卡下保存的名称为1.mp3。首先,我们使用mydfplayer配置播放强度。音量(10)并在mydfplayer中循环播放声音文件。循环(1).声音文件的周期为7秒。一直播放到单片机复位为止,因为是报警,要检查图的状态。我在草图中使用了一个延迟(500),以便在下一个指令执行之前播放警报音。

到目前为止,只要FSR传感器变量的值小于200,就可以设计if指令的代码。但是,如果FSR传感器模块更新后的测量值变量的存储值小于1000,但大于或等于200,则Else IFInstruction的代码。它只是通知串行监视器,相应的数字没有被操纵。

所有三个数字的代码几乎相同,只有测试区域的变量随FSR传感器的每个数字的值而变化。

添加

可以向项目中添加几个选项。第一种选择是安装一个外部按钮,连接在GND连接和微控制器的复位连接之间。通过这种方式,我们将复位微控制器,它将具有与微控制器的复位按钮相同的功能。以下组件应添加到电路中:

第二种选择是在扬声器的正极线(红色电缆)上安装一个开关。在另一种安排下,只有当开关被翻转时,警报才会停止,但数字的LED环会继续亮红灯,以显示哪个数字被操纵了。对于第二种选择,我们必须确保在检查角色状态后更改开关以重新激活声音。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭