本帖最后由 zsw3721 于 2022-2-18 23:28 編輯
2022年2月18日本次更新:
截至目前使用了半個多月,可以說是非常好用和方便的。電池很耐用,睡前使用一會再設置為聲控觸發模式,晚上帶娃要經常點亮燈,充一次電基本上可以使用一個星期。這段時間進行了多處優化,程序升級為V1.6版。
1. 調整為5檔PWM亮度調節,分別為20%、40%、60%、80%、100%亮度
2. 增加聲控觸發過濾,在1秒內需要3次及以上的外部中斷才能觸發亮燈(不會影響正常聲控觸發,因為一個聲音比如一聲咳嗽實際會有非常多個中斷產生),消除了單個偶發的雜波干擾導致可能的意外亮燈或反復觸發無法熄燈
3. 聲控觸發亮燈后60秒后才允許聲控再觸發,即每次聲控亮燈3分鐘的后兩分鐘完全平靜即可自動熄燈
4. 聲控觸發亮燈后,距自動熄燈剩余10秒時亮度自動降低(至10%亮度)
5. 長按亮度調節按鍵2秒以上,亮度調整為10%亮度
6. 定時器T0(定時1mS)初值糾正為12MHz 1T的配置(之前程序為11.0592MHz下的配置)。程序下載時應選擇12MHz時鐘頻率。
7. 增加MCU進掉電模式以降低功耗:聲控亮燈3分鐘自動熄燈后即控制MCU進入掉電模式,當有外部中斷(即聲音信號)時MCU喚醒并正常觸發亮燈。
程序 V1.6 增加聲控待觸發狀態下進掉電模式以降低功耗.rar
(45.88 KB, 下載次數: 73)
2022-2-18 22:49 上傳
點擊文件名下載附件
2022年1月28日更新一次:
試用了幾天后,優化了兩處地方,程序升級為V1.4版。
1. 聲控觸發亮燈后延時3分鐘自動熄燈,修改為自動熄燈前如果又檢測到聲音,重新計時3分鐘
2. 按鍵從常亮模式切換到聲控待觸發模式,默認熄燈,但是按鍵的聲音會導致切到聲控待觸發模式后直接觸發亮燈,現修改為按鍵切到聲控待觸發模式后等待1秒鐘才允許被觸發亮燈
以下為2022年1月27日原始帖:
最近,老婆大人提了一個需求,要一個聲控的小夜燈。在某寶搜索一番無果,于是自己動手設計。
老規矩,先上最終完工的實物圖。使用三天的效果:非常好,誰用誰知道。
下面簡單介紹一下制作過程。
首先是理清需求。
1. 需要有內置電池供電,使用時可隨意擺放位置
2. 有常亮模式和聲控亮燈模式
3. 聲控亮燈模式使用時,小聲音不能觸發,要一定強度的聲音才能觸發亮燈
4. 聲控亮燈觸發后,延時3分鐘自動熄滅,熄滅前最后10秒亮度自動調至最低
5. 支持多檔亮度調節,燈光無閃爍感
然后是硬件設計。
1. 電池好解決,以前網上購買的5V升壓鋰電池就很好用
2. 聲音檢測模塊可以購買現成的,靈敏度可調節
3. 使用MCU外部中斷處理聲音檢測模塊的信號
4. 使用軟件PWM方式進行亮度調節,PWM頻率100Hz就足夠了
5. 兩個按鍵,分別控制亮燈模式和亮度調節
6. 一共只需要4個IO口,用我熟悉的STC15F104W綽綽有余
7. LED燈可以購買現成的USB LED燈,設計一個PMOS電路用于控制LED的供電
下面是設計好的原理圖。
設計好的PCB。
嘉立創免費打樣,焊好并準備好材料。
下面這個是購買的聲控模塊,有聲音時輸出低電平。直接焊在我的控制板上。以后如果有機會做升級版,會把這個聲控模塊畫到我的電路中。
然后開始寫程序。功能比較簡單,兩百多行代碼就搞定。用了一個定時器,定時1mS,然后中斷里每10mS掃一次按鍵;PWM功能也在定時器中實現。
下面是代碼。附件有整套資料,如果你想做一個,按我的資料放心去做保證成功。如果你做出來了,歡迎貼個圖分享。
后注:以下為原始程序,比V1.4版更早。
全部資料51hei下載地址:
聲控小夜燈原理圖PCB和程序全套資料.rar
(11.34 MB, 下載次數: 139)
2022-1-27 09:39 上傳
點擊文件名下載附件
|