精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

    文章

    18

    瀏覽量

    22113
  • ardiuno
    +關注

    關注

    0

    文章

    5

    瀏覽量

    3527

原文標題:Ardiuno智能電蚊拍

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    10 Pro系列搭載驍龍8至尊版移動平臺

    近日,紅召開新品發布會,正式發布其年度競旗艦——紅10 Pro系列,包含紅10 Pro和紅10 Pro+。兩款新機均搭載驍龍8至尊
    的頭像 發表于 11-21 10:25 ?231次閱讀

    9S Pro+ AI游戲手機實力如何

    、影像等體驗上全維進化。本期體驗報告,就讓我們一起看看這款專為競愛好者打造的紅9S Pro+的戰力如何。
    的頭像 發表于 11-08 11:17 ?494次閱讀

    搭社區借助NVIDIA TensorRT-LLM提升LLM推理效率

    搭社區是中國最具影響力的模型開源社區,致力給開發者提供模型即服務的體驗。搭社區利用NVIDIA TensorRT-LLM,大大提高了大語言模型的推理性能,方便了模型應用部署,提高了大模型產業應用效率,更大規模地釋放大模型的應用價值。”
    的頭像 發表于 08-23 15:48 ?394次閱讀

    福田汽車獲評標桿等級“科企業”

    日前,國務院國資委公布地方“雙百企業”“科企業”2023年度專項評估結果,福田汽車獲評標桿等級“科企業”。這是自2023年入選“科企業”以來對福田汽車扎實推進改革創新、推動高質量發展的再次肯定。
    的頭像 發表于 07-29 14:54 ?427次閱讀

    9S Pro系列AI游戲手機正式發布

    在萬眾矚目中,紅魔電競宇宙今日迎來了激動人心的時刻——全新紅9S Pro+與紅9S Pro兩款AI游戲手機正式揭開神秘面紗,以顛覆性的姿態引領游戲手機市場邁入“游戲AI·新競界”。此次發布會不僅是紅品牌技術實力的集中展現,
    的頭像 發表于 07-04 15:15 ?699次閱讀

    阿爾特油物流車通過驗收,將在日本發布

    阿爾特汽車面向日本市場的油物流車項目已經通過驗收與評測,這標志著阿爾特的技術實力與“技術+產業鏈”出海戰略得到了國際市場的認可,并正式進軍日本市場,為當地物流行業帶來全新的綠色動力解決方案。
    的頭像 發表于 04-12 10:50 ?764次閱讀

    STM32上下內部flash被改寫的原因?

    正常啟動。 在廠家實驗室,我們協助定位問題,反復多次上下模擬現場場景,有概率在多個實驗樣品上復現了故障,平均上下20~30次能出一次。也是內部flash被改寫,被改寫的位置不固定,但全是前幾行,有的是1行,有的是12行,有
    發表于 03-25 08:24

    廣汽埃安潮俱樂部全新力作,首款用戶共創版黑龍MAX耀世亮相

    去年,廣汽埃安成立了國內第一家純俱樂部,象征著國內純文化邁入新階段。
    的頭像 發表于 03-15 10:34 ?340次閱讀

    的變壓器參數怎么設置,電路有什么問題

    發表于 03-07 08:38

    5 Pro磁吸版散熱器曝光:搭載VC+TEC雙重制冷,透明PC外殼

    據悉,紅品牌已于本土發布紅9 Pro系列與MiniLED顯示器;然而全新紅液冷散熱器5 Pro詳細參數尚未公開,IT之家將繼續關注相關信息并進行報道。
    的頭像 發表于 02-25 10:25 ?1785次閱讀

    瑞浦蘭鈞儲能系統的升級芯從280Ah換成320Ah

    瑞浦蘭鈞儲能系統的升級,不是簡單地把芯從280Ah換成320Ah,而是集安全、成本等多個維度的整體升級
    的頭像 發表于 01-09 09:56 ?1913次閱讀

    輸電線路可視化監裝置

    輸電線路可視化監裝置主要以圖像監測為主,通過圖像監以掌握線路的運行狀態,監范圍包括導線本體、絕緣子、線路通道、桿塔塔基以及其它附屬設備等,安裝在輸電桿塔上,采用先進的圖像識別算法和高分辨率
    的頭像 發表于 01-05 10:02 ?940次閱讀

    三相電機二相電機怎么

    三相電機二相電機怎么? 將三相電機改為二相電機涉及一系列復雜的電路和電氣工程操作。在進行此類操作時,需要具備相關的電機知識和技能,并確保對電擊和其他電氣危險有所了解。下面是一個詳細的步驟,用于將
    的頭像 發表于 12-21 10:50 ?3069次閱讀

    DS-S003M-專為車而生的高精度微型伺服器

    德晟智能科技公司近期推出了一款專為車設計的五克銅齒微型舵機,這款舵機旨在為車提供更穩定高效的解決方案。小巧的體型為車提供了更大的改造空間;金屬齒設計,提供強大的負載能力和高傳動效率。
    的頭像 發表于 12-04 10:03 ?405次閱讀
    DS-S003M-專為<b class='flag-5'>蚊</b>車而生的高精度微型伺服器

    【每周一練】盤古1K開發板 練習二:按鍵控制LED燈實驗

    \\\\demo\\\\3_key_led_rgb) 注意參考例子是2KG,需要配置為1KG generate bitstream并下載到板子上 成功!(見頂部視頻) 一下? 根據原理圖,把按鍵改到KEY2(61) 注意到原例程的8個顏色,其中一個是全黑,一個是全亮,
    發表于 12-03 20:12