如何使用Arduino和超声波传感器制作智能垃圾箱| 智能垃圾桶 硬件组件: Arduino UNO×1个 超声波传感器-HC-SR04(通用)×1个 SG90微型伺服电机×1个 9V电池(通用)×1个 9V电池夹×1个 翘板开关,SPST×1个 软件应用程序和在线服务: Arduino IDE 详细的制作教程详见附件视频教程。
1
前言: 随着这两年深入中国本土企业,在移动智能终端市场疯狂抢食,英特尔早已“摸清”了中国厂商和市场的情况。现在顺势推出智能家居平台,有着得天独厚的优势。在罗马举行的Maker Fair上,英特尔宣布将与开源硬件团队Arduino进行合作。英特尔将为Arduino提供Galileo电路板以及其他必需硬件,帮助Arduino开发小尺寸设备。该电路板使用了英特尔最新的Quark处理器。(下载链接:x86 构架的 Arduino 开发板 Intel Galileo开源资料)。接下来介绍的是基于Arduino的智能家居语音识别系统设计。 设计思路起源: 晚上回到家,家里黑漆漆一片,得找到开灯的按钮才算完事,有时候在想,如果灯泡会听话该多好啊,有了这个想法,智能家居就应运而生了,我们用Arduino打造这么一款智能家居套件并为它取了一个很搞的名字“小米渣”,需要开灯的时候,你只需叫小米渣开灯,小米渣就会立马为你打开电灯并回答:“正在开灯”,小米渣的功能可不止这一个功能哦 功能介绍:识别开关灯命令,执行开关灯操作,并语音播报当前状态。 识别温湿度读取命令,并语音播报当前温湿度情况。 实时监测危险气体,一旦检测到立即报警并语音播报危险情况。 未有识别时不做操作,识别命令有误时播报“请问您在说什么?”。 你也可以考考小米渣:“需要开灯吗?”,系统就会对环境光线进行检测,光线暗的情况下,小米渣会提醒你:“光线不足,正在开灯”然后开灯,如果光线明亮时,小米渣会说:“光线明亮,不需要开灯”保持灯在关的状态(判断光线强弱的阈值在程序中进行设置,用户可以自行修改)。 注意: 为了最大程度的减少小米渣的误操作,在程序中我们设定了一条口令触发“小米渣”,即该套件只有在正确的识别到“小米渣”三个字之后,才能执行其后关键字命令的操作,例如,如果要执行开灯命令,您需先说:“小米渣”,之后小米渣会说:“您好”,然后你再说:“开灯”,之后小米渣才会执行开灯命令。如果你不先叫小米渣的名字,它可不会理会你的吩咐喔。 语音控制命令:“小米渣”——口令触发命令。 “现在温度怎么样”——温湿度检测命令,播报相应环境温湿度。 “开灯”——开灯命令,需先执行口令触发命令才执行改命令。 “关灯”——关灯命令,需先执行口令触发命令才执行改命令。 “需要开灯吗”——环境光线检测命令,根据光线强弱,执行开关灯命令。 “小米”、“小”、“米渣“——垃圾关键词,目的是减小误操作。 其他功能就要发挥您的聪明才智了哦。 制作步骤:步骤1 将语音识别模块插到控制板上(语音识别模块已占用数字口2,4,9,10,11,12,13);然后将扩展板V5插到语音识别模块之上;语音合成模块插到传感器扩展板的xbee插座上(语音合成模块占用数字口0和1,因此下载程序时需要将扩展板的拨动开关打到PROG处,下载完后打到XBEE处);LED模块接到数字口7;继电器模块接到数字口8,温湿度传感器DHT11接到模拟口0;气体传感器接到模拟口1;环境光线传感器接到模拟口2。 步骤2 通过USB数据线,将代码下到控制器,代码下载成功后再将语音合成模块插到扩展板的XBEE接口上(注意,因为语音合成模块会占用串口,所以必须下载程序时必须拔掉,否则程序无法下载成功)。 配套清单:UNO控制板一块 DFRduino I/O Expansion V5.0 扩展板一块 中文语音识别模块Voice Recognition V1.0 一块 语音合成模块 Speech Synthesizer bee 一块 继电器模块一个 温湿度传感器DHT11一个 气体传感器一个(可检测烟雾,煤气,天然气,甲烷等) LED灯模块一个(用于表示语音识别状态,灯亮时方可进行识别) 环境光线传感器一个 小喇叭一个 实物购买链接:https://item.taobao.com/item.htm?spm=2013.1.w7214619-14516660925.4.J2MjQ4&id=14138585871
1
该设计基于STC单片机设计,电路主要由51单片机最小系统和按键部分、蜂鸣器报警部分、LCD液晶显示部分等组成。该电路设计简单,单层板加上几根跳线即可完成,适合电子初学者DIY制作。 电子密码锁具体功能介绍: 1、该电子密码锁默认密码为1234567890,密码通过键盘输入,若密码正确,则将锁打开。 2、密码可以由用户自己修改设定(只支持6位密码),锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。 3、报警、锁定键盘功能。密码输入错误显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。 4、AT24C02保存密码,支持复位保存,掉电保存功能。 附件内容包括: 整个电子密码锁原理图和PCB源文件,用AD软件打开; BOM表; 源代码(有详细的中文注释);
1
1、设计要求基于小脚丫FPGA开发板设计带数码管显示倒计时的交通灯系统,要求: 1)一个道路绿灯持续时间25S,红灯持续时间10S,黄灯持续时间3S; 2)另一道路绿灯持续时间10S,红灯持续时间25S,黄灯持续时间3S; 3)第一位数码管和第二位数码管显示倒计时; 2、硬件连接FPGA的系统时钟来自于小脚丫FPGA开发板配置的25MHz时钟晶振,连接FPGA的C1引脚。 本设计除了时钟和复位键以外没有其他的输入,故只用到一个按键K6硬件设计如图1所示,按键连接到FPGA的B1引脚。 图1、复位键硬件设计 设计中需要两个RGB的led进行交通灯显示的呈现,每一个RGB的LED都有三个引脚需要跟小脚丫连接在一起。两个LED跟小脚丫FPGA开发板之间的连接关系如图2所示,对应的管脚如下。 图2、RGB_LED硬件连接 设计中需要使用数码管进行倒计时的显示,小脚丫通过74HC595来控驱动和控制数码管。74HC595跟小脚丫FPGA开发板之间的连接关系如图3所示,对应的管脚如下。 图3、数码管驱动74HC595硬件连接 3、工作原理和状态转换 1)使用计数器做分频处理,得到周期为1秒的脉冲信号clk_1h; 2)使用一个6bit的BCD码表示倒计时时间的值,其中高2bit表示值的十位,低4bit表示值的个位; 3)用以下四个状态分别表示交通灯不同的显示; S0: 大路绿灯亮,小路红灯亮,持续25S; S1: 大路黄灯(蓝灯)亮,小路红灯持续3S; S2: 大路红灯亮,小路绿灯亮,持续10S; S3: 大路红灯亮,效率黄灯(蓝灯)亮,持续3S; 得到状态转换图如下: 图4、交通灯状态转换图 4、代码设计为了实现所需要的功能,我们将整个设计在顶层划分为五个不同的模块,如图5所示。 图5、交通灯程序框图 4.1clock_division模块Clock_division模块主要实现数字时钟的模式控制,程序代码截图如下: 4.2 Curren_state模块 这部分代码的作用是将次态赋值给当前态,这是三段式的标志性模块。该模块程序代码截图如下: 4.3 Output&count模块这部分代码可以说是整个代码的核心部分,交通灯的显示在这部分完成。此外,这一部分还负责进行倒计时,这部分的代码将即使数字分为个位和十位进行分别倒计时。此举有利用后面对74HC595驱动数码管的代码进行调用。其序代码截图如下: 4.4 CubeDisplay模块这部分代码用于74HC595的控制,以使得数码管能够按照计划进行倒计时显示。这部分代码截图如下: 5、系统运行图6、系统运行 视频地址: 优酷视频(基于小脚丫FPGA的倒计时交通灯): https://v.youku.com/v_show/id_XMTU0NDI4NjQ1Mg==.html 6、资源报告资源数量比例说明 LUT4s24919% 寄存器1157% 存储器00% IO管脚11 时钟频率25MHz 7、知识点时钟计数分频 三段式程序段的编写 串行/并行转换 74HC595控制 9、相关文件文件名称功能 Traffic_Light交通灯状态转换和灯显示,以及顶层模块功能 DLED_4Bit倒计时显示模块
2021-12-06 17:48:37 1009KB 电路方案
1
前言: 美国Vicor公司是现时世界最大的高密度电源模块生产商, 同时也是全球唯一能以零电压、零电流技术大批量生产电源模块的厂家。Vicor电源模块包括DC-DC、AC-DC电源模块,隔离、非隔离电源模块转换器。其中VICOR公司电源模块的核心技术是 “零电流”开关,它使变换器的工作频率达到 了1MHz,效率大于80%。 下面来说说这个数控电源的参数吧 1、输出电源1-30V可调,电流范围0.2A-8A,可以输出小电流,同时也能达到8A左右的电流输出,功率为100W,超过100w的时候自动降低电流 2、直接输入数字,即可输出相应的电压、电源,超级方便、快速 3、使用1602屏幕,可以显示设定的电压、电流,在有负载接入时,自动切换显示为输出功率和负载电阻,同时可以显示电量和内部温度 4、过压保护,超过设定电压的105%,关闭输出,保护负载 5、自动休眠,待机电流仅有50uA左右 6、体较小方便携带,内置6接18650供电,无需连接220V电源,真正实现移动稳压 本数控电源设计使用了STM32F106主控,购买了一个最小系统板,功率部分用的是成品XL4016模块及一块升压模块。 原理图: 实物显示:
1
时下智能语音交互市场火热,越来越多的设备都开始支持原场AI语音交互。例如:智能音箱,智能电视等等。但这类产品的识别率和误唤醒率还需要再不断的优化提升,以至于日常生活中人们还是离不开各式各样的遥控器。基于TDK 6-轴传感器ICM-40608和炬芯 BLE SOC ATB1103的智能语音遥控器解决方案实现真正的智能、万物互联。 遥控器方案整体硬件设计指南 基于Actions 炬芯的ATB110x SOC BLE语音遥控器已经大批量量产,搭配 6-轴运动传感器使其更加智能、拥有更高的市场竞争力; PCB板按功能模块分模拟信号部分(例如MIC IN走线)、射频信号部分(例如BLE及相关关键外围)、数字信号部分(例如TWI、UART、SPI等),电源部分(如芯片内部电源),模拟信号和射频信号容易受到干扰,布局时尽量远离数字信号电路和大电流电源电路。BLE的天线应远离喇叭(以及喇叭引线)、指示灯、频谱灯、按键等的排线。 数字、模拟元器件尽量远离并限定在各自的布线区域内。元器件周围留出电源和地走线的空间。数字元器件集中放置以减少走线长度。在IC的电源Pin放置0.1uF的去耦电容。晶振电路尽量靠近其驱动器件。 为利于系统散热,布局时发热量较高的器件尽量分开摆放,有EPAD的器件可以在地焊盘和器件周围的地多打过孔,可以达到更好的散热效果。 在设计许可的条件下,元器件的布局尽可能做到同类元器件按相同的方向排列,相同功率的模块集中在一起布置;相同封装的元器件等炬力放置,以便元件贴装、焊接和检测。 走线 RF走线 对于板载天线注意点如下: 1)板载天线面积尽量大,在匹配时带宽会更加宽,性能更佳; 2)匹配网络尽量靠近板载天线,如下图所示; 3)如果面积允许情况下靠近芯片端多预留一个TT型匹配网络,可根据情况进一步优化匹配; 4)针对两个走线的情况,在叠层选定后需计算相关的线宽和铺铜间距,因为板材有差异,注意和板厂沟通相关阻抗情况; 电源线: 1)根据印制线路板电流的大小,尽量加粗电源线的宽度,减少环路电阻。大电流的电源过孔推荐使用大于20-12mil的过孔,并打多个过孔连接。 2)电源线、底线的走向和数据传递的方向尽量保持一致,有助于增强抗噪声能力。 地线:1)模拟地、数字地、大功率器件的地在布线时分开,而最后都汇集到接地点上来,如:MIC会进行单独的AGND处理再连接到GND上。 2)接地线应尽量加粗。若接地线很细,则接地电位随电流的变化而变化,致使电子设备的信号电平不稳,抗噪声性能变差。因此应将接地线加粗,使它通过三倍于印制板上的允许电流。 TDK拥有最丰富的麦克风产品组合、基于运动传感器的光标控制的核心专利拥有者,适用于智能遥控器、智能电视和机顶盒的完整软件包(空鼠、手势、游戏控制); Air Motion软件方案 嵌入式软件:AirMotion Library (AML) 6-轴软件运行在遥控器端 提供空中相对指向 发送dx/dy给远端目标设备 支持基本的手势 支持无线接口 目标CPU:8051,ARM Cortex M0,M3,M4 AirMotionLib固件数据 基于ARM Cortex-M3平台验证 数据处理频率:100Hz 基于运动的功能 算法简介 AML算法获取手持遥控设备内的6轴运动传感器数据,在遥控设备端融合计算出远端被控制焦点在两纬平面的实时相对位置(dx, dy)。同时,为了保证良好的用户体验,AML算法对传感器数据做实时动态校准,设备横滚补偿。AML算法还可以支持常用的遥控手势识别,如左、右、上、下四方向的划动,以及顺时针和逆时针方向的快速旋转。 1、 API AIR MOTION库使用以下功能: •invn_algo_aml_init():每次处理(重新)启动时,必须调用此函数进行库初始化。•invn_algo_aml_process():每次有新的传感器值时,都必须调用此函数。该库被设计为以100Hz运行。 2、校准 陀螺仪偏移值可能会随着时间的推移而波动,具体取决于各种参数。 该库支持连续校准,实时计算陀螺仪偏移值。 每次调用invn_algo_aml_process()时,都会检查陀螺仪即时“静态”。 如果考虑设备静态,计算新的陀螺仪偏移值。 然后可以将遥控器视为已校准。 您可以检查'InvnAlgoAMLOutput.status'以跟踪校准状态。 'gyr_fsr'参数用于校准运动算法。 'acc_fsr'参数用于滚动补偿功能场景应用图产品实体图展示板照片方案方块图ICM-40608参数对比关键网络原理图核心技术优势TDK硬件和软件的优势 》终极用户体验 最好的声音质量 快速响应的空中指向 直观、高效的应用体验 》最低功耗的灵活方案 嵌入遥控器 可运动在远端设备(智能电视、机顶盒或者流媒体设备) 》低风
1
LED驱动控制,包含了芯片文档资料、源代码、设计方案、及对LED控制测试案例
2021-12-02 13:02:53 834KB TM1639 文档资料 源代码 设计电路
1
该电路是不带微控制器的自动交流稳压器(电动)。 它可以将输出的任何输入电压范围(50V-270V)转换为220V。 零件清单: IC 358 晶体管BD139(2个) 晶体管BD140(2个) 电阻100 ohm(2pcs) 电阻22K 电阻3.3M 电阻1K 二极管1N4007(4个) 电容器47nF 400V 电位器5K 电位计20K(2个) 二极管桥DB107 LED绿色和红色 12V 3A开关电源 直流钻电机 自耦变压器(VARIAC)
2021-12-01 17:35:48 304KB 稳压器电路设计 电路方案
1
基于PT2314E 4通道音频切换模板,程序工程,电路源文件,直接可以自己打板,焊接,烧录程序即可,该电路自己因为音频通道多,需要转换,自行设计!
2021-11-29 14:58:29 34.05MB PT2314E 程序设计 电路工程 源程序
1
VHDL和FPGA电路板联合秒表设计说明: 这是关于如何使用VHDL和FPGA电路板(如Basys3 Atrix-7 Board)制作秒表的教程。秒表可以从00.00秒到99.99秒。它使用两个按钮,一个用于启动/停止按钮,另一个用于复位按钮。数字显示在电路板的七段显示器上,使用阳极和阴极。有三个不同的文件需要为了得到这个秒表工作。 第1步:硬件/软件 Basys3 Atrix-7 FPGA板 赛灵思Vivado设计套件 USB 2.0 A Male to Micro-B Male 第2步:框图 整体秒表有三个输入和两个输出。三个输入是开始/停止,重置和时钟。开始/停止和复位是按钮,时钟是电路板的100MHz时钟。这两个输出是七段显示器的阳极和阴极。 第一个模块(时钟分频器)有一个输入和两个输出。输入是板子的100MHz时钟,输出是两个独立的时钟,一个以480Hz运行,另一个运行0.5MHz。 第二个模块(显示器)有五个输入和两个输出。输入是电路板的100MHz时钟,来自时钟分频器模块的两个时钟以及启动/停止和复位按钮。输出是阳极和阴极。 最后一个模块(由整个框图模拟)有三个输入和两个输出。这是把所有东西放在一起的文件。输入是板子的100MHz和开始/停止和重置按钮。输出是控制七段显示器的阳极和阴极。 所有的输入和输出物理上在最后模块的电路板上。 第3步:状态图 上面的图片显示了秒表如何工作的状态图。按下重置按钮不会影响秒表的状态。下一个状态由开始/停止按钮确定。开始/停止按下时为“高”,按下时为“高”,暂时按下时为“低”,按钮为“高”时按下。如果秒表正在计数,开始/停止按钮变为“高”,则停止计数。如果秒表停止并且开始/停止按钮变为“高”,则它再次开始计数。对于这两种状态,如果开始/停止按钮是“低”,则它将保持当前处于的状态。 第4步:时钟分频器模块 时钟分频器模块有一个输入,板子的100MHz时钟和两个输出,480Hz和0.5MHz时钟。480Hz时钟用于通过快速切换四个通道同时保持七段显示器上的所有LED“开”。0.5MHz时钟用于秒表实际上按厘秒计数。(代码见附件) 第5步:显示模块 这个显示模块有五个输入,板的100MHz时钟,两个时钟模块,开始/停止和复位按钮,以及两个输出,阳极和阴极。该模块还具有秒表如何计算和合并有限状态机的“逻辑”。(代码见附件) 第6步:绑定模块 这个最后的模块是把另外两个模块放在一起的模块。它有三个输入,板的100MHz时钟和启动/停止和复位按钮,以及两个输出,阳极和阴极。100MHz时钟进入时钟分频器模块和显示模块,启动/停止和复位按钮进入显示模块。时钟分频器模块的输出(480Hz和0.5MHz)转到显示模块的两个时钟输入端。显示模块(阳极和阴极)的输出到最终模块的输出。(代码见附件) 第7步:约束 两个输入可以是Basys3 Atrix-7 FPGA电路板上的任何按钮,输出将是七段显示器的四个阳极和八个阴极(因为您还希望小数点在几秒和几毫秒之间)。 第8步:完成! 将程序上传到您的Basys3 Atrix-7 FPGA板上,然后按下开始/停止按钮以使秒表进入!
2021-11-28 09:30:21 269KB 电路方案
1