基于掌控板與Mind+的感應(yīng)垃圾桶項目:從超聲波測距到舵機控制的智能硬件入門實踐
1. 項目概述從“揮手”到“開蓋”的智能交互你有沒有想過讓家里的垃圾桶變得“聰明”一點不是那種需要你喊它名字、跟它對話的“聰明”而是能感知你的動作在你靠近時自動開蓋離開后靜靜合上的那種體貼。這個想法聽起來有點未來感但用我們手邊常見的開源硬件——掌控板和Mind圖形化編程軟件再加上幾個基礎(chǔ)傳感器和執(zhí)行器就能輕松實現(xiàn)。這就是我們今天要做的“感應(yīng)垃圾桶”項目。這個項目的核心邏輯非常直觀通過超聲波傳感器來“看”有沒有人靠近當(dāng)檢測到有效距離時驅(qū)動舵機旋轉(zhuǎn)模擬打開垃圾桶蓋的動作當(dāng)人離開后舵機復(fù)位蓋子關(guān)閉。整個過程無需觸碰干凈衛(wèi)生尤其適合在廚房、衛(wèi)生間等場景下使用避免手部接觸可能帶來的細菌傳播。對于初學(xué)者而言它完美融合了輸入傳感器感知、處理掌控板邏輯判斷和輸出舵機動作這三個嵌入式系統(tǒng)的基本環(huán)節(jié)是學(xué)習(xí)物聯(lián)網(wǎng)和智能硬件交互的絕佳入門實踐。我們將使用Mind這款對新手極其友好的圖形化編程工具它讓你無需糾結(jié)于復(fù)雜的C語言語法通過拖拽積木塊就能完成邏輯搭建。硬件方面主角是掌控板一塊集成了Wi-Fi、藍牙、多種傳感器和屏幕的微型電腦關(guān)鍵配角是HC-SR04超聲波傳感器負責(zé)測量距離以及SG90舵機負責(zé)執(zhí)行開合動作。整個項目成本低廉接線簡單但涉及的PWM控制、傳感器數(shù)據(jù)處理等概念卻是通往更高級硬件項目的必經(jīng)之路。無論你是想給孩子做一個有趣的科技手工還是為自己尋找一個硬核的電子DIY入門項目這個“感應(yīng)垃圾桶”都能讓你在動手的樂趣中收獲實實在在的知識和成就感。2. 核心硬件選型與原理剖析2.1 主控大腦掌控板的優(yōu)勢與資源分配為什么選擇掌控板而不是更常見的Arduino Uno這源于項目需求和掌控板的獨特優(yōu)勢。我們的感應(yīng)垃圾桶雖然邏輯不復(fù)雜但未來可能有擴展需求比如增加OLED屏幕顯示狀態(tài)、通過Wi-Fi聯(lián)網(wǎng)上報開合次數(shù)等。掌控板自帶1.3英寸OLED屏幕、ESP32雙核處理器、豐富的GPIO口和無線功能為這些擴展預(yù)留了充足的空間避免了后續(xù)升級時主控能力不足的尷尬。在資源分配上我們需要重點關(guān)注GPIO通用輸入輸出口。舵機控制需要用到支持PWM脈沖寬度調(diào)制輸出的引腳掌控板上多個引腳都支持。超聲波傳感器需要兩個數(shù)字引腳一個用于觸發(fā)信號Trig一個用于接收回波Echo。為了接線清晰和編程方便我建議提前規(guī)劃好引腳定義。在我的實際搭建中我這樣分配舵機信號線連接至掌控板的P0口。這是一個支持PWM輸出的引腳能夠產(chǎn)生精確的脈沖來控制舵機角度。超聲波Trig連接至P1口。這是一個普通的數(shù)字輸出引腳用于發(fā)送一個短脈沖觸發(fā)超聲波模塊。超聲波Echo連接至P2口。這是一個數(shù)字輸入引腳用于讀取高電平脈沖的持續(xù)時間從而計算距離。注意務(wù)必確認你使用的掌控板引腳定義圖不同版本如V1.1、V2.0的引腳功能可能略有差異。錯誤的引腳連接是導(dǎo)致項目失敗的最常見原因之一。2.2 感知之眼HC-SR04超聲波傳感器的工作機制HC-SR04可能是DIY領(lǐng)域最受歡迎的測距模塊成本低、精度對于此類應(yīng)用足夠。它的原理模仿了蝙蝠的回聲定位模塊上的Trig引腳接收到一個至少10微秒的高電平脈沖后會發(fā)射一束8個40kHz的超聲波。這束聲波在空氣中傳播遇到障礙物后反射回來被模塊上的接收器捕獲。模塊內(nèi)部的電路會測量從發(fā)射到接收回波的時間間隔并通過Echo引腳輸出一個高電平脈沖這個脈沖的寬度與距離成正比。計算公式很簡單距離 (高電平時間 × 聲速) / 2。聲速在常溫下約340米/秒。因為聲音走了來回兩趟路程所以要除以2。在編程時我們不需要自己計算Mind的超聲波傳感器積木已經(jīng)封裝了這個邏輯我們直接讀取返回的距離值單位通常是厘米即可。這里有一個關(guān)鍵的實操心得HC-SR04的有效測距范圍官方標(biāo)稱是2cm到400cm但在實際應(yīng)用中對于感應(yīng)垃圾桶我們通常只關(guān)心20cm到50cm這個區(qū)間。太近5cm可能誤觸發(fā)太遠80cm則失去了“感應(yīng)”的靈敏性。因此在程序邏輯里設(shè)置一個有效的距離閾值區(qū)間至關(guān)重要比如“當(dāng)檢測到距離小于30cm且持續(xù)0.5秒時才判定為有人靠近”這樣可以有效過濾掉偶然經(jīng)過或短暫停留造成的誤動作。2.3 執(zhí)行之手SG90舵機與PWM控制精講SG90是一種微型舵機扭矩不大約1.6kg/cm但用于推動一個輕質(zhì)模型垃圾桶蓋綽綽有余。舵機的核心是一個小型直流電機減速齒輪組控制電路。它不像普通電機那樣只控制通斷和轉(zhuǎn)速而是可以精確控制輸出軸的角度??刂贫鏅C角度的信號是一種特殊的PWM波。普通的PWM波通過改變占空比高電平時間占整個周期的比例來控制平均電壓進而控制電機轉(zhuǎn)速或燈光亮度。而舵機PWM波的特點是頻率固定通常為50Hz即周期20ms通過改變高電平脈沖的寬度0.5ms到2.5ms之間來控制角度。這是一個需要理解的關(guān)鍵點0.5ms脈寬對應(yīng)舵機0度位置有些舵機是-90度。1.5ms脈寬對應(yīng)舵機90度位置中立位。2.5ms脈寬對應(yīng)舵機180度位置。在Mind中我們使用“設(shè)置舵機角度”積木實際上就是由軟件庫在底層生成對應(yīng)脈寬的PWM信號。例如我們設(shè)置角度為90度Mind就會控制P0引腳輸出一個周期20ms、高電平寬度1.5ms的方波。舵機內(nèi)部的控制電路會識別這個脈寬并驅(qū)動電機轉(zhuǎn)到相應(yīng)位置。重要提示舵機的供電必須充足SG90的工作電壓通常是4.8V-6V。雖然可以從掌控板的5V引腳取電但如果同時驅(qū)動多個舵機或負載較重強烈建議使用外部電源單獨為舵機供電并將外部電源的地線GND與掌控板的GND連接在一起即“共地”。否則舵機在轉(zhuǎn)動時產(chǎn)生的電流尖峰可能導(dǎo)致掌控板復(fù)位或程序跑飛這是新手最容易踩的坑之一。3. 電路連接與結(jié)構(gòu)搭建實戰(zhàn)3.1 分步接線指南與安全要點清晰的接線是項目成功的物理基礎(chǔ)。請按照以下步驟操作并務(wù)必在斷電狀態(tài)下進行連接連接超聲波傳感器HC-SR04VCC引腳 - 掌控板的3.3V或5V引腳HC-SR04兼容3.3V和5V邏輯接3.3V更安全。GND引腳 - 掌控板的任一GND引腳。Trig引腳 - 掌控板的P1引腳。Echo引腳 - 掌控板的P2引腳。連接SG90舵機棕色線通常為GND- 掌控板的GND引腳。紅色線電源VCC- 掌控板的5V引腳或外部電源正極。如使用外部電源務(wù)必與掌控板共地。橙色線信號線- 掌控板的P0引腳。整體檢查檢查所有杜邦線插接是否牢固避免虛接。確保電源正負極沒有接反尤其是舵機線序接反可能瞬間燒毀舵機或主控板。將連接好的傳感器和舵機暫時固定在一個安全、開闊的位置方便測試。安全與避坑指南上電順序建議先給掌控板供電通過USB線連接電腦觀察程序啟動無誤后再接通舵機的外部電源如果需要。避免舵機在上電瞬間因程序未初始化而產(chǎn)生不受控的抖動。避免短路裸露的金屬引腳不要相互接觸最好使用絕緣膠布或熱縮管處理。負載測試在正式安裝到垃圾桶上之前先讓舵機空載運行觀察其轉(zhuǎn)動范圍和平順度是否正常。3.2 機械結(jié)構(gòu)設(shè)計與安裝技巧感應(yīng)垃圾桶的“靈魂”是程序但“身體”的構(gòu)造同樣影響體驗。你可以改造一個現(xiàn)有的小型翻蓋垃圾桶也可以使用紙板、亞克力板自制一個模型。方案一改造現(xiàn)有翻蓋垃圾桶這是最快捷的方式。你需要一個帶有可活動蓋子的垃圾桶。確定舵機安裝位將舵機用熱熔膠或螺絲固定在垃圾桶側(cè)面或背面確保舵機的輸出軸與垃圾桶蓋的轉(zhuǎn)軸平行。制作連接臂用一根硬質(zhì)材料如雪糕棒、3D打印的連接件作為舵機的搖臂。一端固定在舵機的舵盤舵機自帶的塑料圓盤上另一端與垃圾桶蓋連接。連接與調(diào)試將連接臂與蓋子連接。這里需要一個關(guān)鍵技巧不要將連接臂直接剛性固定在蓋子上最好采用一個可活動的鉸鏈或者留有一些曠量。因為舵機的運動軌跡是圓弧而蓋子可能是繞軸旋轉(zhuǎn)剛性連接可能導(dǎo)致卡死或阻力過大。你可以先用膠帶臨時固定通過程序控制舵機在0度和90度之間運動觀察并調(diào)整連接點直到開合動作順暢且范圍合適后再最終固定。方案二自制模型垃圾桶如果你追求完整性和美觀可以用紙板或激光切割亞克力板制作一個迷你垃圾桶。設(shè)計設(shè)計一個箱體并在頂部一側(cè)預(yù)留轉(zhuǎn)軸孔用于安裝蓋子。安裝舵機將舵機嵌入箱體側(cè)壁內(nèi)部輸出軸對準(zhǔn)蓋子的轉(zhuǎn)軸。聯(lián)動直接用舵機的舵盤作為蓋子的轉(zhuǎn)軸或者通過一個短的連桿連接。自制模型可以更精確地匹配舵機的運動曲線。無論哪種方案請記住這個核心原則舵機在到達目標(biāo)角度時如果被外力阻擋即“堵轉(zhuǎn)”它會持續(xù)輸出最大扭矩試圖到達指定位置這會迅速導(dǎo)致電機過熱甚至燒毀。因此務(wù)必確保機械結(jié)構(gòu)順暢無卡滯??梢栽诔绦蛑袨槎鏅C運動設(shè)置一個緩慢的速度通過逐步改變角度值實現(xiàn)而不是瞬間跳變到目標(biāo)角度這也能減少沖擊和堵轉(zhuǎn)風(fēng)險。4. Mind圖形化編程邏輯實現(xiàn)4.1 編程環(huán)境搭建與項目初始化首先確保你的電腦上安裝了最新版本的Mind軟件訪問官方社區(qū)下載。用USB數(shù)據(jù)線將掌控板連接到電腦Mind通常會自動識別板卡類型和串口。如果未自動識別需要在“連接設(shè)備”中選擇正確的串口號。新建一個項目在“擴展”中添加所需的硬件模塊在主控板分類下找到并添加“掌控板”。在傳感器分類下找到并添加“超聲波傳感器”。添加后在積木區(qū)會出現(xiàn)對應(yīng)的積木你需要手動將超聲波傳感器的Trig和Echo引腳設(shè)置為前面規(guī)劃好的P1和P2。這里有個細節(jié)Mind的超聲波傳感器積木默認引腳可能不是P1、P2你必須點開積木的下拉菜單手動選擇正確的引腳這是很多初學(xué)者忽略導(dǎo)致測距失敗的原因。在執(zhí)行器分類下找到并添加“舵機”。同樣將舵機積木的引腳設(shè)置為P0。初始化設(shè)置通常放在“當(dāng)開機時”積木下。一個好的初始化應(yīng)包括設(shè)置舵機初始角度例如0度代表蓋子關(guān)閉。在掌控板自帶的OLED屏幕上顯示歡迎信息或當(dāng)前狀態(tài)如“系統(tǒng)就緒”這能讓你直觀地知道程序已啟動。初始化一個變量用于存儲當(dāng)前垃圾桶蓋的狀態(tài)“開”或“關(guān)”方便邏輯判斷。4.2 核心控制邏輯積木搭建整個感應(yīng)控制的核心是一個循環(huán)判斷邏輯我們把它放在“重復(fù)執(zhí)行”積木中。邏輯流程圖可以概括為持續(xù)測量距離 - 判斷距離是否進入觸發(fā)范圍 - 若進入且蓋子關(guān)則開蓋 - 持續(xù)監(jiān)測直到人離開 - 延時后關(guān)蓋。下面是用Mind積木表達的關(guān)鍵邏輯步驟讀取并處理距離值使用“超聲波傳感器讀取距離”積木將返回值存入一個變量比如“當(dāng)前距離”。為了讀數(shù)穩(wěn)定可以嘗試簡單的軟件濾波例如連續(xù)讀取3次去掉一個最大值和一個最小值取中間值或者直接使用3次讀取的平均值。這能有效消除個別跳變的錯誤數(shù)據(jù)。判斷觸發(fā)條件使用“如果...那么...”積木進行判斷。條件應(yīng)為“當(dāng)前距離 觸發(fā)距離如30并且蓋子狀態(tài)變量為‘關(guān)’”。為什么要加狀態(tài)判斷這是為了防止重復(fù)觸發(fā)。如果蓋子已經(jīng)打開即使人還在面前也不應(yīng)該再次執(zhí)行開蓋動作。這個狀態(tài)變量是邏輯嚴(yán)謹(jǐn)性的關(guān)鍵。執(zhí)行開蓋動作當(dāng)觸發(fā)條件滿足時首先改變蓋子狀態(tài)變量為“開”。然后使用“設(shè)置舵機角度”積木讓舵機緩慢轉(zhuǎn)動到開蓋角度如90度。為了實現(xiàn)“緩慢”效果可以使用“重復(fù)執(zhí)行”配合“變量遞增”來逐步增加角度值每次增加后加一個短暫的延時如20毫秒。在OLED屏幕上更新顯示例如“已開蓋”。判斷關(guān)蓋條件開蓋后需要進入一個等待人離開的循環(huán)??梢栽偾短滓粋€“重復(fù)執(zhí)行直到...”循環(huán)條件是“當(dāng)前距離 安全距離如50cm”。這意味著只有當(dāng)人完全離開距離大于50cm時才退出這個等待循環(huán)。退出等待循環(huán)后不要立即關(guān)蓋加入一個延時如3秒。這是非常重要的用戶體驗設(shè)計給人一個放置垃圾后手抽離的時間。立即關(guān)蓋可能會夾到手或讓人感覺倉促。延時結(jié)束后再將舵機緩慢轉(zhuǎn)回關(guān)閉角度0度并將蓋子狀態(tài)變量更新為“關(guān)”屏幕顯示“已關(guān)蓋”。4.3 狀態(tài)反饋與功能優(yōu)化基礎(chǔ)功能完成后我們可以利用掌控板的特性增加一些友好的交互和優(yōu)化。視覺反饋除了OLED屏幕的文字還可以利用掌控板的RGB LED燈。例如在等待觸發(fā)時讓LED顯示呼吸燈效果藍色開蓋時變?yōu)榫G色關(guān)蓋時變?yōu)榧t色并閃爍一下。這能讓設(shè)備狀態(tài)一目了然。聲音反饋可選掌控板可以播放簡單的蜂鳴聲??梢栽陂_蓋和關(guān)蓋時加入一個簡短的提示音增強交互感。注意音量不宜過大。防止誤觸發(fā)優(yōu)化持續(xù)時長判斷不是一檢測到距離小于閾值就觸發(fā)而是要求這個條件持續(xù)滿足一定時間比如0.5秒。這能過濾掉快速揮手或小動物經(jīng)過引起的誤觸發(fā)。距離區(qū)間判斷只對某個特定區(qū)間內(nèi)的距離做出反應(yīng)。例如只響應(yīng)10cm到40cm的距離忽略太近可能是誤碰和太遠無需響應(yīng)的信號。手動模式擴展你可以增加一個按鈕連接到掌控板的另一個引腳如P3。編程實現(xiàn)當(dāng)按鈕被按下時無論當(dāng)前狀態(tài)如何都切換一次蓋子狀態(tài)開則關(guān)關(guān)則開。這提供了一個備用的人工控制方式在自動感應(yīng)失靈時非常有用。5. 調(diào)試、優(yōu)化與故障排除實錄5.1 分模塊調(diào)試方法論不要試圖一次性寫完所有代碼并期望它完美運行。分模塊調(diào)試是硬件項目的黃金法則。第一步單獨測試超聲波傳感器。編寫一個最簡單的程序在“重復(fù)執(zhí)行”里讀取超聲波距離并顯示在OLED屏幕上。將手放在傳感器前方移動觀察屏幕上的數(shù)值變化是否連續(xù)、合理。常見問題讀數(shù)一直是0或一個極大固定值檢查接線VCC GND Trig Echo特別是Trig和Echo是否接反。確認Mind中引腳設(shè)置正確。讀數(shù)跳動劇烈嘗試前面提到的軟件濾波。確保傳感器前方?jīng)]有密集的障礙物干擾聲波傳感器表面清潔。第二步單獨測試舵機。編寫另一個程序在“當(dāng)開機時”設(shè)置舵機到0度等待2秒再到90度再等待2秒循環(huán)。觀察舵機是否準(zhǔn)確轉(zhuǎn)動到相應(yīng)角度轉(zhuǎn)動是否順暢、有無異響。常見問題舵機不轉(zhuǎn)但有吱吱聲很可能發(fā)生了堵轉(zhuǎn)機械結(jié)構(gòu)卡住。立即斷電檢查機械安裝。舵機轉(zhuǎn)動角度不準(zhǔn)SG90舵機存在個體差異0度和180度的實際脈寬邊界可能略有偏差。如果開合角度不理想可以微調(diào)程序中的角度值比如用85度代替90度作為開蓋角度。第三步集成邏輯測試。將傳感器和舵機程序邏輯合并。先不安裝到垃圾桶上讓舵機空載運行。用手模擬靠近和離開觀察舵機動作是否符合預(yù)期邏輯靠近開離開后延時關(guān)。重點測試狀態(tài)切換邏輯是否嚴(yán)謹(jǐn)是否會重復(fù)觸發(fā)。5.2 常見問題排查速查表下表匯總了項目實施中可能遇到的典型問題及解決方法問題現(xiàn)象可能原因排查步驟與解決方案上電后無任何反應(yīng)1. 掌控板未正確供電2. USB線或數(shù)據(jù)線故障3. 程序未上傳成功1. 檢查USB連接觀察掌控板指示燈是否亮起。2. 換一根USB線試試。3. 在Mind中點擊“上傳到設(shè)備”確認上傳成功提示。超聲波傳感器讀數(shù)異常常為0/655351. 引腳接錯或接觸不良2. 電源電壓不足3. 傳感器損壞1. 對照接線圖用萬用表通斷檔檢查每根線。2. 嘗試將VCC接到5V引腳如果之前接的3.3V。3. 更換一個傳感器測試。舵機抖動但不轉(zhuǎn)動/轉(zhuǎn)動無力1. 供電不足最主要原因2. 信號線接觸不良3. 機械負載過重1.立即采用外部電源單獨為舵機供電5V-6V1A以上并與掌控板共地。2. 檢查信號線連接。3. 卸下負載測試舵機空載是否正常。垃圾桶蓋動作不順暢、卡頓1. 機械結(jié)構(gòu)設(shè)計不合理存在死點或干涉。2. 舵機扭矩不足。1. 重新調(diào)整舵機搖臂與蓋子的連接點確保運動軌跡順暢。2. 換用扭矩更大的舵機如MG90S。3. 在程序中降低舵機運動速度減少沖擊。感應(yīng)過于靈敏頻繁誤開蓋1. 觸發(fā)距離閾值設(shè)置過小。2. 缺少持續(xù)觸發(fā)判斷。3. 傳感器周圍環(huán)境干擾如強風(fēng)、其他超聲波源。1. 適當(dāng)增大觸發(fā)距離閾值。2. 在程序中增加“條件持續(xù)滿足XX毫秒才觸發(fā)”的邏輯。3. 改變傳感器安裝角度或加裝海綿套減少干擾。人離開后不關(guān)蓋或關(guān)蓋過早1. 關(guān)蓋判斷距離安全距離設(shè)置不合理。2. 關(guān)蓋前延時時間太短或太長。1. 調(diào)整安全距離確保人確實離開后再判斷。2. 調(diào)整關(guān)蓋延時通常2-5秒是一個比較舒適的范圍。5.3 性能優(yōu)化與進階思路當(dāng)基礎(chǔ)功能穩(wěn)定后可以考慮以下優(yōu)化讓你的項目更上一層樓功耗優(yōu)化如果希望用電池供電需要考慮功耗??梢宰屨瓶匕逶跈z測到一段時間無人靠近后進入“輕度睡眠”模式僅定時喚醒檢查傳感器從而大幅降低待機功耗。多傳感器融合增加一個紅外PIR人體移動傳感器。超聲波負責(zé)測距PIR負責(zé)判斷前方是否有生物移動。只有兩者同時滿足條件有移動且距離近才觸發(fā)可以極大減少因靜止物體如放在旁邊的椅子造成的誤觸發(fā)使感應(yīng)更智能。數(shù)據(jù)記錄與聯(lián)網(wǎng)利用掌控板的Wi-Fi功能將每次開蓋的時間戳和持續(xù)時間上傳到物聯(lián)網(wǎng)平臺如Easy IoT、SIoT等可以統(tǒng)計垃圾桶的使用頻率甚至在你忘記倒垃圾時發(fā)送提醒。結(jié)構(gòu)美化與封裝使用3D打印為你的電子模塊制作一個漂亮的外殼將線路規(guī)整收納。用亞克力板制作一個更精致的垃圾桶模型讓它從一個實驗原型變成一個可以真正擺放在桌面的實用工藝品。這個“感應(yīng)垃圾桶”項目就像一把鑰匙它為你打開了基于傳感器和執(zhí)行的自動控制世界的大門。從接線、編程到調(diào)試、優(yōu)化你走過的每一步都是嵌入式開發(fā)中不可或缺的實戰(zhàn)經(jīng)驗。最重要的是你親手將一個想法變成了可以觸摸、可以工作的現(xiàn)實。當(dāng)你看到垃圾桶因為你的一個手勢而自動開啟時那種創(chuàng)造的快樂和成就感是任何現(xiàn)成產(chǎn)品都無法給予的。希望你在完成這個項目后能帶著這些知識和經(jīng)驗去挑戰(zhàn)更多有趣、有用的智能硬件創(chuàng)作。

相關(guān)新聞

物聯(lián)網(wǎng)設(shè)備低功耗設(shè)計:NBM7100A與PIC32MX675F512L優(yōu)化方案

物聯(lián)網(wǎng)設(shè)備低功耗設(shè)計:NBM7100A與PIC32MX675F512L優(yōu)化方案

1. 項目背景與核心挑戰(zhàn) 在物聯(lián)網(wǎng)設(shè)備和便攜式電子產(chǎn)品的設(shè)計中,初級電池(不可充電電池)的壽命優(yōu)化一直是個棘手問題。我曾參與過一個野外氣象監(jiān)測項目,設(shè)備需要在不更換電池的情況下持續(xù)工作5年以上。當(dāng)時我們測試了市面上各種方案…

2026/7/29 14:47:16 閱讀更多
DownGit終極指南:3步精準(zhǔn)下載GitHub文件的快速方法

DownGit終極指南:3步精準(zhǔn)下載GitHub文件的快速方法

DownGit終極指南:3步精準(zhǔn)下載GitHub文件的快速方法 【免費下載鏈接】DownGit github 資源打包下載工具 項目地址: https://gitcode.com/gh_mirrors/dow/DownGit 還在為下載整個GitHub倉庫而煩惱嗎?DownGit是你的GitHub文件精準(zhǔn)下載神器&#xff0…

2026/7/29 15:47:23 閱讀更多
DC-9靶機滲透實戰(zhàn):從SQL注入到端口敲門的完整攻擊鏈解析

DC-9靶機滲透實戰(zhàn):從SQL注入到端口敲門的完整攻擊鏈解析

1. 項目概述與核心價值 最近在整理自己的滲透測試實戰(zhàn)筆記,翻到了DC-9這個靶機。它不像某些靶機那樣上來就給你一個明顯的漏洞入口,而是需要你像偵探一樣,從零散的信息中拼湊出攻擊路徑。整個過程涉及了Web應(yīng)用安全中非常經(jīng)典的SQL注入漏洞&a…

2026/7/29 15:47:23 閱讀更多
089、LVGL基礎(chǔ)控件:按鈕矩陣(Btnmatrix)

089、LVGL基礎(chǔ)控件:按鈕矩陣(Btnmatrix)

LVGL基礎(chǔ)控件:按鈕矩陣(Btnmatrix) 上周調(diào)試一個智能家居面板項目,客戶要求在一屏內(nèi)顯示16個場景快捷鍵,每個按鍵還要支持長按觸發(fā)配置。我第一反應(yīng)是用16個lv_btn堆Grid布局,結(jié)果內(nèi)存直接爆了——STM32H743的RAM被吃掉一大塊,界面還卡頓。后來換成Btnmatrix,一個控件…

2026/7/29 15:47:23 閱讀更多
088、LVGL選項卡切換與內(nèi)容管理

088、LVGL選項卡切換與內(nèi)容管理

LVGL選項卡切換與內(nèi)容管理 從一次詭異的界面卡死說起 上周調(diào)試一塊基于STM32F429的工控屏,客戶反饋說切換選項卡時偶爾會卡死,復(fù)位后又能正常工作。我盯著邏輯分析儀看了半天,發(fā)現(xiàn)每次卡死前都伴隨著一次“快速雙擊”選項卡標(biāo)簽——用戶手速太快,在動畫還沒結(jié)束時就觸發(fā)了…

2026/7/29 15:47:23 閱讀更多
LeetCode 76題解析:滑動窗口與哈希表實現(xiàn)最小覆蓋子串

LeetCode 76題解析:滑動窗口與哈希表實現(xiàn)最小覆蓋子串

1. 題目解析與核心思路 LeetCode 76題"最小覆蓋子串"是算法面試中的經(jīng)典高頻題目,也是Hot100題庫中的必刷題目。題目要求給定一個字符串S和一個字符串T,在S中找出包含T所有字符的最短連續(xù)子串。這道題完美結(jié)合了滑動窗口和哈希表兩大核心算法思…

2026/7/29 15:37:18 閱讀更多
面試官大笑:“一個任務(wù)拆給 5 個 Subagent 并行跑,不比 1 個快 5 倍?“我搖頭:“快不了,還可能更慢“

面試官大笑:“一個任務(wù)拆給 5 個 Subagent 并行跑,不比 1 個快 5 倍?“我搖頭:“快不了,還可能更慢“

前兩個月,我在重構(gòu) AlgoMooc 網(wǎng)站過程中,發(fā)現(xiàn)一個問題:在 Claude Code 里把一個任務(wù)拆給 5 個 Subagent 并行跑,結(jié)果可能比 1 個 agent 從頭干到尾還慢? 大多數(shù)人的第一反應(yīng)是反過來的:活是并行干的&#…

2026/7/29 0:15:24 閱讀更多
# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號與動畫渲染精講

# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號與動畫渲染精講

一、應(yīng)用概述 骰子(Dice Roller) 是一款經(jīng)典的休閑娛樂應(yīng)用,模擬了真實擲骰子的過程。應(yīng)用投擲兩個骰子(六面標(biāo)準(zhǔn)骰),使用 Unicode 骰面符號直觀展示每個骰子的點數(shù),并伴有快速滾動的動畫效果?!?/p>

2026/7/29 0:15:24 閱讀更多