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

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

3天内不再提示

魔改升级我们的武器——电蚊拍

strongerHuang 来源:strongerHuang 作者:lmu34 2022-06-24 09:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

夏天来了,又到了蚊子嗡嗡嗡的季节,在这一点上,国内和海外并没有区别。

今天我们介绍的项目,就是魔改升级我们的武器——电蚊拍,让我们与蚊子的斗争更加有趣一些!

升级后的电蚊拍功能包括:

  • 添加电子装置来检测杀伤力
  • 增加一个4位数的计数器,统计“击杀数”
  • 支持USB充电
  • 增加“击杀声音”以获得更好的体验

创作思路

作者的想法是,当蚊子撞上电蚊拍的金属网并产生电弧时,电蚊拍的电路上一定有一些电流的变化。如果能在电路中找到一个可以被Arduino或ATtiny读取的地方(即0到5伏之间),那么就可以很容易地进行计数和显示分数,并播放声音。

声音功能可以用DFPlayer模块很容易地在ATtiny上添加。

分数将会用一个4位7段的显示器来显示,它的板载TM1637只用两根线(ATtiny的两个IO引脚)就能驱动这个显示器。

因为这些电子模块是在5V下运行的,而电蚊拍通常是用2节1.5V的电池的,所以顺便用USB充电电池升级一下电蚊拍的电源部分。

换句话说,这次的“武器升级”都是用相对容易找到的现成的电子模块来改造的,唯一的 复杂一点的地方是在信号计算方面,这块是由ATtiny通过编程处理的。

在下面的教程分享中,假定大家都对Ardiuno和如何编程有一些了解,如果没有,可以先学习一下Arduino基础教程。

在开始之前还需要说明一个安全问题:

电蚊拍使用高电压(按下按钮时网状物上有几百伏的电压),即使电流很低,在连接电池时也要注意不要接触它或其内部电路。

注意不要让小孩子玩这个。

材料

对于这个“终极”电蚊拍,我们需要:

  • 一个电蚊拍
  • Digispark pro (带有ATtiny,在网上很容易找到)
  • DFPlayer (DFRobot购买)
  • 电阻器:1Ω、1kΩ
  • 8Ω 扬声器
  • SD卡(一个小容量的卡即可,用来存储一些声音文件)
  • 锂离子充电电池:废旧电池
  • 电池充电器
  • 电位器(我用的是1MΩ的,这不是很重要,但高数值会限制通过电位器的电流消耗)
  • 带有TM1637的四位数LED显示屏(确保是4位数显示屏+TM1637,而不是只有4位数显示屏)
  • 电容:470μF
  • 开/关拨动开关
  • 按钮
  • 电线(重复使用旧的电话线或网线)

工具部分,我们需要用到电烙铁、一把热胶枪和一台3D打印机(一些创意来修改拍子的手柄......)

第1步:如何升级我们的电蚊拍?

如果你不关心它的工作方式,只是想要做“终极”电蚊拍,那可以跳过这个步骤。

解释电蚊拍如何工作的资源可以在互联网上找到。https://www.homemade-circuits.com/mosquito-swatter-bat-circuit/

808e1db4-f356-11ec-ba43-dac502259ad0.png

它是振荡电路和一个将电压提升到数百伏的电路,再加上连接到拍子的金属网组成的。

首先遇到的问题是,找不到什么东西可以在这里挂上ATtiny(由于ATtiny的5伏限制,高压侧不能直接使用)。

为了解决这个问题,第二个想法是测量电流消耗。

当金属网上发生电弧,蚊子被电杀时,一定有一些能量消耗,应该可以通过ATtiny读取。

测量这个消耗的最好方法是测一下电流消耗,而测量电流的最简单方法是测量电阻上的电压,这一点ATtiny可以做到。

因此,计数蚊子的方法是在电池和电蚊拍电路之间插入一个小电阻,并监测这个电阻上的电压。

除此之外,我们使用已经制作好的电子模块(每个功能都有一个:声音、显示、充电器等),所以综合来说,这是一个相对比较简单的电子项目了。

第2步:准备电路

809b024a-f356-11ec-ba43-dac502259ad0.png

80c1a954-f356-11ec-ba43-dac502259ad0.png

80d86298-f356-11ec-ba43-dac502259ad0.png

主要组件有:

  • ATtiny (Digispark pro)
  • DFPlayer
  • USB充电器和电池
  • 显示器
  • 重置按钮
  • 开/关开关
  • 用于调节音量的电位器
  • 两个电阻和一个电容

我们最好先把它们摆放好,好确保它们能放进在手柄里,Digispark和DFPlayer可以靠近一点,根据它们在最终模块中的位置,给其他组件留出合适的电线长度(即USB充电器上有一个USB端口,需要可以用来充电)。

第3步:拆开电蚊拍

80eb8e04-f356-11ec-ba43-dac502259ad0.png

812008fa-f356-11ec-ba43-dac502259ad0.png

卸下电池,拆开拍子(应该只有几个螺丝)。

可以先看一下大概有多少空间留给我们来放附加的组件。

也可以顺便看看你的拍子是否与这个教程分享中使用的拍子一样。

需要注意的主要区别是拍子的推钮的 "位置"。在图中,它位于电池的+号和拍子的电路之间。如果是这样的话,就可以了(见照片)。

在某些拍子上,这个按钮位于地线-和电路之间。在这种情况下,下面修改和代码将不起作用。将会需要在硬件和软件方面进行一些调整。

第4步:魔改电蚊拍

8150bd38-f356-11ec-ba43-dac502259ad0.png

81618adc-f356-11ec-ba43-dac502259ad0.png

8173d21e-f356-11ec-ba43-dac502259ad0.png

在这个步骤中,我们:

  • 在为两个AAA电池设计的隔间里给电池腾出一些空间(并重新使用充电电池的电池接头)。

第5步:构建电路并焊接元件

8191abea-f356-11ec-ba43-dac502259ad0.png

81cfec3e-f356-11ec-ba43-dac502259ad0.png

81e59728-f356-11ec-ba43-dac502259ad0.png

81fefd08-f356-11ec-ba43-dac502259ad0.png

根据所有元件的最终位置预先进行布局,估计一下各种线的长度,开始焊接。

在上一步中,为了清楚起见,没有画出地线和VCC(5V)线,但所有的地线都需要相互连接,所有的VCC都需要相互连接。

对于VCC,Digispark有3个标有5V的引脚,它们是连在一起的,可以用来重新分配给其他元件。不要使用Digispark的VIN(VIN是一个需要高于6V的电压输入,我们不使用它,而是使用电池充电器的5V输出)。

建议从Digispark开始:

  • 将Digispark焊接到DFPlayer上
  • 将Digispark焊接到显示屏、按钮和电位器上
  • 使用热缩管避免接触和短路(比如在Digispark和DFPlayer之间的电阻)

然后,继续进行电蚊拍电路、电池充电器、开关的连接:

  • 电池 -到充电器 电池 - 输入
  • 电池+到充电器 电池+输入
  • 电蚊拍电路上的1欧姆电阻+
  • 电蚊拍电路的+-上的电容器,注意电容器的极性!
  • Digispark的A12脚与按钮相连(按钮有两个接头,一个与电池+连接,A12与另一个连接)
  • 使用热缩管来避免接触和短路(在电容器/电阻上等等)。

第6步:隔离显示屏与电蚊拍电路

8212934a-f356-11ec-ba43-dac502259ad0.png

在测试中发现会遇到显示问题——当蚊子碰到电蚊拍的网眼时,显示屏会关闭或者出错。

怀疑这是由于高电压变化产生的电子干扰影响了显示电路和连接。

修复方法很简单,在电路上贴一些胶带,铝箔(电磁屏蔽),再贴胶带。

当然,不要把铝箔直接放在电路上……

第7步:在SD卡上加载声音

DFPlayer播放的声音是存储在SD卡上的。

做法很简单,把卡装好,然后复制选择的声音:

  • 开机时播放的声音("准备好进行下一场战斗")
  • 一个 "怪物被杀 "的声音
  • 一个 "等级提升 "的声音
  • 一些在检测到击杀时随机播放的声音文件

DFPlayer将根据 "轨道编号 "播放声音。

根据观察,发现文件不是根据它们的名字来排序的,而是根据它们在卡上的inode号来排序的(在Linux上可以用 ls -id 查看)

ls-id*|more
6471_Monster_kill.mp3
6482_mixkit-final-level-bonus-2061.wav
6493_get_ready_to_the_newt_fight.mp3
650mixkit-arcade-retro-scoring-counter-273.wav
651mixkit-arcade-video-game-bonus-2044.wav
652mixkit-arcade-video-game-scoring-presentation-274.wav
653mixkit-game-bonus-reached-2065.wav
654mixkit-game-experience-level-increased-2062.wav
655mixkit-winning-an-extra-bonus-2060.wav

如果你从一张新成型的卡开始,轨道号/inode的顺序将是声音文件的复制顺序(即复制在卡上的第一个文件就是1号)。

在下面的代码中,文件/音轨的选择是通过setTrack()完成的。

//0israndombetwentracks4to9
//1ismonsterkill=track1(listedbyinodeoncard(ls-id))
//2islevelup
//3ispoweron
if(sound_type==0)setTrack(int(random(4,9)));//SDcardcontains9files
if(sound_type==1)setTrack(1);//monsterkill
if(sound_type==2)setTrack(2);//levelup
if(sound_type==3)setTrack(3);//poweron

你可以自行修改这部分,让动作sound_type和播放的音频之间匹配上。

音频可以到文末打包下载。

第8步:打印一个新的握柄

8248dc8e-f356-11ec-ba43-dac502259ad0.png

如果电蚊拍和上面的一样,可以直接打印这个的手柄设计。

如果不一样,可能需要自己设计一个。

不过,有些拍子的手柄很大,然后里面几乎什么都没有,也可以直接装上附加电路。记得我们仍然需要为显示屏和扬声器找一个位置。

3D打印的文件可以到文末打包下载。

第9步:组装起来

825583f8-f356-11ec-ba43-dac502259ad0.png

82685000-f356-11ec-ba43-dac502259ad0.png

82766cd0-f356-11ec-ba43-dac502259ad0.png

8294081c-f356-11ec-ba43-dac502259ad0.png

这边用热胶枪将零件固定在它们的最终位置。

扬声器也是直接粘在拍子上的。

第10步:蚊子在哪里?

再次重申,如果你不关心它的工作方式,只是想得到你的“终极”电蚊拍的玩家,你可以跳过这一步......或者之后再来看。

一旦我们把所有的元件都焊接在一起,如果在ATtiny上加载一个简单的程序,只做一个模拟读取(A12),然后看一下原始数据:

82b0c0e2-f356-11ec-ba43-dac502259ad0.png

原始数据看起来非常嘈杂,我们无法知道在图上什么地方/什么时候有蚊子(或其他东西,我没有等蚊子打我的球拍来调试代码 :) 它自己撞到了电蚊拍的网眼上(见图1)。

平均数是清理部分噪音的好方法,我的想法是将最后的平均数与 "长期 "平均数进行比较,但结果也有点让人失望(见图2)。

82bdd3e0-f356-11ec-ba43-dac502259ad0.png

然后学习一下别人是怎么做的:https://www.iese.fraunhofer.de/blog/change-point-detection/

这看起来正是我们寻找的,计算信号的标准差应该能让我们检测到蚊子被击杀了(见上面链接中的"Animation of change point detection via sliding window"部分)。

应用于我们的设置,会得到以下结果(图3)。

82d2c160-f356-11ec-ba43-dac502259ad0.png

在程序中,我们计算了标准差的平方,我们可以看到,当按下或释放按钮时,它达到非常高的值(这是预期的,信号从0V到接近5V),但一旦这些阶段被排除,我们就可以监测这个标准差,并假设如果它达到一些高值,我们在电路中有一个干扰,这一定就是一个蚊子被“击杀”了(图4)!

82edcd84-f356-11ec-ba43-dac502259ad0.png

现在我们知道了如何判断完成了“一次击杀”,剩下的就简单了(播放声音,增加分数)。

为了更准确,我们又增加了一些东西:

  • 一个470uF的电容器(它本身提供了一些更多的噪音过滤,并在需要大电流时作为“充电宝”)
  • 我们有一个两级平均机制(在代码中可以看到,我们在原始状态下测量了5次A12脚的电压,取其平均值,然后将这个平均值存储在标准差计算的滑动窗口中)。

第11步:在Digispark Pro上加载程序

这个比较简单,可以使用Arduino IDE对ATtiny进行编程。

Wiki:http://digistump.com/wiki/Digispark/tutorials/connectingpro

对代码做一些解释:

setup()函数中,我们初始化DFPlayer所需的串行通信,读取电位计值以调整音量(在设置时只读取一次,这意味着拍子需要关闭/打开电源来考虑到音量调整)。

对于计数器的重置,如果你想把分数重置为零,你需要按下重置按钮,打开拍子的电源,等待显示屏显示 "0"。

然后它就会读取存储在EEPROM中的分数。

它设置显示屏的亮度(否则它将保持关闭)。

loop()函数中,我们基本上是处理拍子功率的平均值process_average()和标准差的平方,它告诉我们是否有杀伤力process_std_dev()

相关代码可以在文末下载。

第12步:更新Digispark micronucleus(可选)

Digispark micronucleus是负责 "启动 "Digispark的一段代码。

它检查我们是否上传了一个新的程序,如果没有就启动已经加载的程序。

问题是它需要等待6秒钟,这个时间对于我们想要启动我们的武器来拍蚊子,就会显得比较长了。

不过,micronucleus有一些变种有不同的检查机制。如果你按照这些说明更新micronucleus(使用 "推荐 "配置),拍子将在一两秒后准备好。

参考:https://github.com/ArminJo/micronucleus-firmware

在更新micronucleus固件后重新加载你的程序即可。

第13步:故障排除

希望你不需要读这个,

一些提示,以防万一......

1、工作不多......检查电线和焊料;

2、如果电蚊拍自己重新启动(你听到了启动的声音,但没有开/关),请给电池充电;

3、大约30秒后,电蚊拍就会自动关闭。

  • 一些USB充电器电路有一个自动待机模式(我的就是这种情况,使用的是芯片IP5306),如果消耗的电流低于一定量(IP5306为45mA),就会进入待机模式。
  • 第一个可能的解决方法是定期按下拍子按钮......比如每20秒。电路板(含IP5306)有一个 "钥匙 "功能,可以开启或关闭电源,在电路板上标有 "K"。上面建议的代码中的watchdog()功能将保持电源正常工作。

4、如果拍子的检测能力真的很差或经常检测错误...那么可能要做一些代码调整。

如果你想用USB端口来显示一些变量,你必须修改代码,以便使用DigiCDC库并删除SoftSerial(用于4位数显示)。但更重要的是,当这样做时,我们将从USB口而不是电池充电器口获得电源,这就有很大的区别......VCC的质量对我们计算的平均数和标准差有很大影响......

换句话说,在USB上连接时进行的任何调整,在用电池运行时可能会失效。

获得一些小信息的方法是使用显示器本身(即在按下复位按钮时显示最后的标准差)。

知道了这些,你就可以试着调整代码中的以下数值,这些数值对我们的检测有很大的影响。

单次读取的样本数:

intsamples=10;

平均滑动窗口的大小:

intnbr_slot=15;
intvalue[16];//arrayof(nbr_slot+1)

标准差的阈值:

intthreshold=110;
intmonster_threshold=250;

第14步:继续改进电蚊拍,分享你的改进方法

如果你找到了更加简单的改造电蚊拍的方法或者是设计,欢迎分享出来!

审核编辑 :李倩


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

    关注

    4

    文章

    19

    浏览量

    22587
  • ardiuno
    +关注

    关注

    0

    文章

    5

    浏览量

    3658

原文标题:Ardiuno智能电蚊拍

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    淘宝京东拼多多API:商营销的秘密武器

    ​ 在当今竞争激烈的商环境中,精准营销和高效运营是商家制胜的关键。而淘宝、京东、拼多多等头部商平台提供的开放接口(API),正逐渐成为商家们不可或缺的“秘密武器”。这些API为开发者提供了强大
    的头像 发表于 11-27 14:17 244次阅读
    淘宝京东拼多多API:<b class='flag-5'>电</b>商营销的秘密<b class='flag-5'>武器</b>

    Bootloader固件升级的步骤

    ,也可以不更新,在项目中,我们通常会对 FW 版本号进行对比,会将 MCU 中的 App 程序更新最新的版本,起到固件升级的效果。更新的话,BootLoader 更新完程序后,跳转到新程序运行;不更新
    发表于 11-19 07:41

    深度解析淘宝立淘按图搜索API接口与JSON数据示例参考

    API接口的使用方法,并通过JSON数据示例说明如何解析和利用这些数据。 在成长的路上,我们都是同行者。这篇关于API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 文章大纲 1. 淘宝立淘按图搜
    的头像 发表于 11-06 13:43 93次阅读

    华众控股与狸科技达成战略合作

    10月15日,华众控股与狸科技在宁波象山举办战略合作签约仪式,具体来看,双方将重点聚焦四大方向开展深度合作:
    的头像 发表于 10-18 14:13 1413次阅读

    手机水冷散热技术全球首发,红开拓手机性能无人区

    2025年10月11日下午三点,全球专业竞装备品牌红于深圳举办了风生水起·无限战力——红水冷暨游戏技术发布会,展示了其在手机散热技术领域的最新突破。 而作为全球首款水冷手机,红
    的头像 发表于 10-11 18:24 2779次阅读
    手机水冷散热技术全球首发,红<b class='flag-5'>魔</b>开拓手机性能无人区

    “心脏”解析:为何顶尖厂商都在用AMS1117 LDO稳压芯片

    深度拆解头部品牌电源设计!AMS1117凭借超低压差(1.2V@1A)、内置过温/过流保护,成为升压电路前级稳压的首选,有效延长三极管、电容使用寿命,稳定性远超传统电阻降压方案。
    的头像 发表于 09-30 14:49 618次阅读
    <b class='flag-5'>电</b><b class='flag-5'>蚊</b><b class='flag-5'>拍</b>“心脏”解析:为何顶尖厂商都在用AMS1117 LDO稳压芯片

    10S Pro+体验报告

    升级,加之优异的屏幕素质、酷炫的外观设计和不俗的影像水准等,再次彰显出其作为旗舰机型的强劲综合实力。本期体验报告,让我们一起来深入了解这款竞旗舰的魅力。
    的头像 发表于 08-08 16:59 1945次阅读

    耐达讯RS232转Ethercat网关:建筑驱动连接的“秘密武器

    ,能够让旧设备也能享受到Ethercat的优势,实现与现代控制系统的无缝对接。 在实际的建筑项目中,我们就遇到过这样的问题。某建筑项目中,有一批采用Rs232接口的驱动器,由于控制系统升级
    发表于 07-21 15:29

    有什么危害?我们该怎么应对?

    摘要 晃问题在配电系统中常见,尤其在工业领域,对半导体制造、石化、电力电子等行业影响尤为严重。抗晃保护装置能够有效减少电压骤降或短时中断对设备的影响,提高供电可靠性。本文分析了晃的成因及危害
    的头像 发表于 03-07 15:28 1174次阅读
    晃<b class='flag-5'>电</b>有什么危害?<b class='flag-5'>我们</b>该怎么应对?

    中车永济电机公司改造升级新能源机车交付用户

    由中车永济电机公司改造升级的DF10DD型新能源机车按期完成整车调试,发往用户。经过“内”后,该款机车不仅实现了“零排放”,传动效率更高、运行更加安全。
    的头像 发表于 02-20 14:35 1221次阅读

    新品发布 | 华江信息智能运动抓拍摄像机“智”震撼来袭!

    ●官宣●智能运动抓拍摄像机--智SmartShoot重磅上市!重磅上市!重磅上市!适用于不同运动场馆智SmartShoot不仅满足多种类型运动场馆运动抓拍需求,更重要的是它可以为场馆带来真正
    的头像 发表于 02-06 20:22 874次阅读
    新品发布 | 华江信息智能运动抓拍摄像机“智<b class='flag-5'>拍</b>”震撼来袭!

    详细拆解家用电

    不怎么样,那网太小了,也不够力,我于是想做一个具大的,效果如下: 先给窗加一个和
    的头像 发表于 01-24 11:38 4204次阅读
    详细拆解家用电<b class='flag-5'>蚊</b><b class='flag-5'>拍</b>

    第一单位!科技大学,超导角石墨烯发Nature

      北京时间12月11日晚,上海科技大学物质科学与技术学院拓扑物理实验室陈宇林-陈成团队利用纳米角分辨光电子能谱(Nano-ARPES)技术,发现了超导角石墨烯中显著的谷间-电声子耦合效应,并且
    的头像 发表于 01-06 11:39 1080次阅读
    第一单位!科技大学,超导<b class='flag-5'>魔</b>角石墨烯发Nature

    STM32F103上位机升级,RS485升级、CAN升级

    外置Flash。该开发板提供上位机升级软件,购买者可使用该上位机配合我们升级例程学习给MCU在线更新升级 上位机软件使用VS2022开发平台,C#语言开发,该开发板提供上位机工程源码
    发表于 01-03 08:57

    仪语纯离线语音识别芯片方案选型推荐:WTK6900G

    随着科技的飞速发展,智能家居和办公设备正逐步向智能化、便捷化方向迈进。高仪作为一种重要的文档和图像采集工具,其功能和用户体验也在不断升级。为了提升用户的使用便捷性和操作效率,语音控制技术的引入成为
    的头像 发表于 12-11 11:23 667次阅读
    高<b class='flag-5'>拍</b>仪语纯离线语音识别芯片方案选型推荐:WTK6900G