色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

ESP32+PMW3901MB光流傳感器實現(xiàn)運動檢測與測速實戰(zhàn)

ESP32+PMW3901MB光流傳感器實現(xiàn)運動檢測與測速實戰(zhàn) 最近在做一臺小型的室內(nèi)循跡底盤常規(guī)輪式編碼器一到瓷磚地面就瘋狂打滑超聲波方案又太靠不住。折騰了幾天后我重新把手邊的 PMW3901MB 光流傳感器接到 ESP32 上用 SPI 直接讀回位移增量運動檢測這個問題立刻變得清爽了很多。這篇文章我就把從硬件連接到運動檢測的完整踩坑過程、驅(qū)動代碼和幾個容易被忽視的細節(jié)一次講清楚給準備做無人機懸停、小車測速或者低成本表面運動檢測的朋友一份可以直接抄作業(yè)的參考。PMW3901MB 并不是一塊攝像頭模塊它本質(zhì)上是把光學成像單元和運動算法做在一個小封裝里的專用芯片。它不輸出畫面而是直接告訴你“物體表面相對于傳感器在 X 方向移動了多少、Y 方向移動了多少”這個特性讓它在很多嵌入式運動檢測場景里特別好用。但光有傳感器還不夠想要實時、多任務、甚至把數(shù)據(jù)無線傳出去ESP32 是個非常合適的搭檔。下面是整個方案從設計到實測的完整記錄。1. 為什么是“ESP32 PMW3901MB”這個組合1.1 光流傳感器到底在測什么很多第一次接觸光流傳感器的人會以為它和攝像頭一樣輸出一幀一幀的圖像然后在單片機里跑光流算法。實際上 PMW3901MB 這類器件內(nèi)部已經(jīng)集成了專用的運動引擎它通過內(nèi)部的一小塊低分辨率圖像傳感器連續(xù)拍攝表面紋理再在芯片內(nèi)部完成特征跟蹤和位移計算最后把當前幀相對上一幀的位移增量也就是 Delta X 和 Delta Y通過 SPI 或 I2C 接口輸出給外部單片機。這個設計思路和辦公室里最常見的“光電鼠標”很接近區(qū)別在于 PMW3901MB 的工作距離、幀率和算法調(diào)校更偏向機器人、無人機這類需要低空測速的場景。它給你的不是圖像而是“相對位移量”所以單片機端不需要任何 OpenCV 級別的運算幾個寄存器就能拿到當前時刻的相對運動狀態(tài)。另外它還有一個非常重要的字段叫 SQUAL全稱是 Surface Quality也就是當前捕獲到的表面紋理質(zhì)量。這個值可以用來判斷傳感器是不是“看得到”有效紋理數(shù)值太低時讀到的位移基本沒有參考價值。1.2 為什么用 ESP32 而不是 STM32 或 Arduino UNO選 ESP32 不是因為它比 STM32“高級”而是因為這顆芯片在開發(fā)效率、外設資源、無線通信集成三個維度上非常均衡。ESP32 自帶雙核 240MHz CPU硬件 SPI 接口可以直接跑 PMW3901MB同時它還有 BLE 和 Wi-Fi運動數(shù)據(jù)讀回來后可以直接推給手機或者上位機不需要外加藍牙串口模塊。如果拿 STM32 來對比STM32 當然也能讀 SPI而且實時性可能更穩(wěn)定但大部分場景下開發(fā)者還得自己處理無線傳輸、協(xié)議棧、固件升級這些事。Arduino UNO 的問題則主要是主頻太低PMW3901MB 那種以毫秒為周期的連續(xù)采樣雖然不算重負載但后續(xù)要疊加濾波、PID 或者無線發(fā)送UNO 就會顯得很吃力。ESP32 在 Arduino 生態(tài)和 PlatformIO 生態(tài)下都有非常成熟的庫支持編譯下載極其順手這在我實際項目里省下的時間遠比想象中要多。1.3 這個組合適合哪些場景最常見的應用就是室內(nèi)無人機懸停。無人機在 GPS 信號不好的地方需要靠光流傳感器測量對地速度再配合加速度計和氣壓計做位置估計。PMW3901MB 因為體積小、重量輕、功耗低是很多開源飛控的常見選型。第二個典型場景是低成本機器人測速尤其是那種在瓷磚、水泥地面跑的輪式機器人輪子打滑會讓編碼器數(shù)據(jù)失真光流傳感器可以當作一個不依賴輪子轉(zhuǎn)動的“視覺里程計”來用。第三個場景是手勢識別、人機交互或者傳送帶測速之類的工業(yè)小項目只要表面紋理清晰這個組合都能勝任。我實際做的項目是給一臺雙輪差速小車補一個測速通道用來和編碼器數(shù)據(jù)做交叉驗證。一開始我用的是普通鼠標傳感器改裝后來換成 PMW3901MB 模塊后體積、接口和驅(qū)動難度都改善了不少這個方案很快就成了我測速部分的主力。2. 硬件連接把模塊和 ESP32 正確接起來2.1 PMW3901MB 引腳與供電注意事項市面上的 PMW3901MB 模塊通常會引出 6 個甚至更多引腳最常見的是 VCC、GND、MOSI、MISO、SCLK、CS。有些模塊還帶中斷引腳或者輔助接口但核心的部分就是這六根線。它的工作電壓是 3.3V絕對不能直接接到 5V 電源上否則芯片很容易燒壞。ESP32 開發(fā)板的 3V3 引腳給這個小模塊供電沒有問題因為它的工作電流只有幾十毫安但如果你準備把傳感器安裝在無人機或者小車上建議給光流模塊單獨配一個低噪聲 LDO不要讓電機驅(qū)動的大電流波動直接砸到傳感器電源上。接線時還要留意模塊的引腳順序不是統(tǒng)一的。不同賣家做的 PCB 板可能把 MOSI 和 MISO 交換位置或者把 CS 放在另一邊。我吃過這個虧拿到模塊后第一件事應該是去翻商家給的原理圖或者模塊絲印千萬別默認所有模塊引腳排列都一樣。我也建議你在焊接或插線之前用萬用表量一下 VCC 和 GND確認沒有反接的風險。2.2 ESP32 接線表與一種可靠的引腳分配我使用的是 ESP32 DevKitC 開發(fā)板上面引出的 GPIO 很多光流模塊我直接接到了硬件 SPIVSPI對應的默認引腳上。這里的接線方式如下PMW3901MB 模塊 ESP32 DevKitC VCC ----------- 3V3 GND ----------- GND MOSI ----------- GPIO23 MISO ----------- GPIO19 SCLK ----------- GPIO18 CS ----------- GPIO5如果你用的是 NodeMCU-32S 這類板子引腳名稱可能略有差異但 GPIO 編號是一致的。CS 引腳可以選擇任意空閑 GPIO只要在代碼里初始化指定即可。我選 GPIO5 是因為它離 SPI 引腳比較近飛線方便而且和當時測試用的其他外設不沖突。SPI 模式必須用 Mode 3也就是 CPOL 1、CPHA 1這一點在代碼初始化時會再次強調(diào)。2.3 供電濾波和飛線避坑硬件連接看起來很簡單但影響穩(wěn)定性的往往是細節(jié)。PMW3901MB 內(nèi)部的紅外 LED 在啟動和運動檢測過程中會產(chǎn)生一定的電流波動如果供電線上長了、細了或者電源紋波很大SPI 通信就會出現(xiàn)偶發(fā)誤碼典型表現(xiàn)是讀出來的位移值突然跳一個很大的數(shù)或者 ID 都讀不對。我實際測試時在模塊的 VCC 和 GND 之間加了一顆 10uF 的電解電容和一顆 0.1uF 的陶瓷電容異常跳數(shù)的情況明顯減少。飛線長度也需要注意。杜邦線在桌面測試階段問題不大一旦裝到小車上電機啟停帶來的震動和電磁干擾就會讓杜邦線成為小天線。我的建議是原型階段用杜邦線控制在 10cm 以內(nèi)正式裝配時盡量使用短而粗的導線直接焊接或者做一塊小的轉(zhuǎn)接板。還有一點非常容易被忽略就是 PMW3901MB 模塊的鏡頭和傳感器表面非常嬌貴手指碰到就容易留下指紋甚至劃傷。我有一塊模塊在測試時不小心被螺絲刀蹭到了鏡頭邊緣結(jié)果 SQUAL 值整整掉了一半位移數(shù)據(jù)也變得斷斷續(xù)續(xù)。3. SPI 通信與數(shù)據(jù)寄存器深度解讀3.1 SPI 讀寫格式和時序PMW3901MB 是一個 SPI 從設備工作在 SPI Mode 3。讀寄存器的過程是主機先把片選 CS 拉低然后發(fā)送一個 8 位的寄存器地址地址最高位要置 1 表示讀操作。隨后主機再發(fā)送一個任意字節(jié)的時鐘同時從 MISO 引腳上讀回該寄存器的數(shù)據(jù)。寫寄存器則是先把片選拉低發(fā)送最高位為 0 的寄存器地址然后緊跟著發(fā)送要寫入的字節(jié)最后拉高片選。這套邏輯和很多普通 SPI 傳感器芯片是一致的唯一的坑在于“讀一個寄存器必須連續(xù) transfer 兩個字節(jié)”。我第一次寫驅(qū)動時只發(fā)了一個地址字節(jié)就立刻讀 MISO結(jié)果讀回來的永遠是 0xFF浪費了不少時間。另外SPI 時鐘頻率建議先保守一點我用的 1MHz 在杜邦線連接下非常穩(wěn)定后面嘗試 10MHz 也能跑但沒有必要冒這個風險。3.2 關鍵寄存器一覽根據(jù)我手上這顆 PMW3901MB 的資料和參考驅(qū)動主要需要關注的寄存器如下地址名稱說明0x00Product_ID芯片型號標識讀到 0x49 表示通信正常0x01Revision_ID版本信息不同批次可能略有差異0x02Motion運動狀態(tài)標志位bit7 為 1 表示當前幀檢測到運動0x03Delta_X_LX 方向位移增量低字節(jié)0x04Delta_X_HX 方向位移增量高字節(jié)0x05Delta_Y_LY 方向位移增量低字節(jié)0x06Delta_Y_HY 方向位移增量高字節(jié)0x07SQUAL表面紋理質(zhì)量數(shù)值越低說明越看不清楚0x08Raw_Data_Sum內(nèi)部像素幀總能量調(diào)試光照時有用0x09Raw_Data_Max內(nèi)部像素最大值0x0ARaw_Data_Min內(nèi)部像素最小值0x0BShutter_Upper曝光時間高字節(jié)0x0CShutter_Lower曝光時間低字節(jié)有一點要注意網(wǎng)上能找到的 PMW3901MB 寄存器表有多個版本有的把 Motion 放在 0x03Delta X 從 0x04 開始SQUAL 在 0x08。不同批次或者不同封裝可能在寄存器定義上有細微差別所以最好以你買到模塊附帶資料為準。我下面代碼里的寄存器定義是按 0x02 Motion、0x03 到 0x06 為位移、0x07 為 SQUAL 這個版本寫的這也是我實測可用的一組。Delta X 和 Delta Y 是帶符號的 16 位整數(shù)數(shù)據(jù)格式是小端也就是低字節(jié)在前。每次讀取時應該把高字節(jié)左移 8 位再和低字節(jié)按位或起來然后根據(jù)最高位判斷是正數(shù)還是負數(shù)。正數(shù)代表沿對應坐標軸正方向移動負數(shù)代表反方向。3.3 上電初始化和 ID 校驗很多驅(qū)動資料里都提到 PMW3901MB 上電后可以自動從內(nèi)部 Flash 加載配置所以理論上直接讀數(shù)據(jù)也能工作。但為了保險我在代碼里加上了一段喚醒操作往 0x00 寄存器寫 0x5A延時幾毫秒后再寫回 0x00。這個操作在某些省電版本或者從睡眠模式喚醒時非常關鍵不加的話傳感器可能一直停在低功耗狀態(tài)。初始化完成后讀一次 Product_ID判斷是否等于 0x49能讀到這個值基本就說明 SPI 接線和時序沒大問題。4. 運動檢測實戰(zhàn)與完整代碼實現(xiàn)4.1 Arduino 環(huán)境下的 SPI 初始化要點在 Arduino 環(huán)境中使用 ESP32 的硬件 SPI需要調(diào)用 SPI.begin(SCLK, MISO, MOSI, CS)。注意這里不是傳統(tǒng) Arduino 的 begin() 無參數(shù)版本而是顯式傳入引腳編號的版本因為 ESP32 的 SPI 引腳可以映射到多個 GPIO。初始化時還要設置 SPI 模式為 SPI_MODE3時鐘頻率先降到 1MHz等確認通信穩(wěn)定后再慢慢往上提。有一個隱藏比較深的坑如果你同時在項目里掛了 SD 卡、LCD 或者其他 SPI 外設多個設備的 CS 必須分開管理并在每次讀寫前用自己的 CS 引腳。如果 CS 沒有正確拉高拉低另一個 SPI 設備可能會響應原本發(fā)給 PMW3901MB 的指令導致數(shù)據(jù)錯亂。我在調(diào)試期間就遇到過這個問題后來把所有 SPI 設備的片選引腳分別定義才徹底解決。4.2 完整可編譯代碼下面的代碼可以直接在 Arduino IDE 或者 PlatformIO 中編譯目標是 ESP32 DevKitC。代碼結(jié)構(gòu)分成三部分SPI 讀寫寄存器封裝、PMW3901 驅(qū)動類和運動檢測主循環(huán)。我保留了足夠的注釋方便你根據(jù)自己的引腳修改。#include SPI.h // 自定義引腳根據(jù)自己的接線修改 #define PMW_CS 5 #define SPI_MISO 19 #define SPI_MOSI 23 #define SPI_SCLK 18 // PMW3901MB 關鍵寄存器地址 #define REG_PRODUCT_ID 0x00 #define REG_MOTION 0x02 #define REG_DELTA_X_LOW 0x03 #define REG_DELTA_X_HIGH 0x04 #define REG_DELTA_Y_LOW 0x05 #define REG_DELTA_Y_HIGH 0x06 #define REG_SQUAL 0x07 struct MotionData { bool motion; // 當前幀是否有運動 int16_t deltaX; // X 方向位移增量 int16_t deltaY; // Y 方向位移增量 uint8_t squal; // 表面質(zhì)量 }; class PMW3901Driver { public: bool begin() { pinMode(PMW_CS, OUTPUT); digitalWrite(PMW_CS, HIGH); SPI.begin(SPI_SCLK, SPI_MISO, SPI_MOSI, PMW_CS); SPI.setDataMode(SPI_MODE3); SPI.setClockDivider(SPI_CLOCK_DIV64); // 約1MHz delay(50); // 喚醒芯片防止處于低功耗狀態(tài) writeRegister(0x00, 0x5A); delay(5); writeRegister(0x00, 0x00); delay(5); uint8_t pid readRegister(REG_PRODUCT_ID); Serial.printf(Product ID: 0x%02X\n, pid); if (pid ! 0x49) { Serial.println(PMW3901 ID 校驗失敗請檢查接線和SPI時序); return false; } return true; } uint8_t readRegister(uint8_t reg) { uint8_t value 0; SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE3)); digitalWrite(PMW_CS, LOW); SPI.transfer((reg 0x7F) | 0x80); // 讀地址最高位置1 value SPI.transfer(0x00); // 產(chǎn)生時鐘并讀回數(shù)據(jù) digitalWrite(PMW_CS, HIGH); SPI.endTransaction(); return value; } void writeRegister(uint8_t reg, uint8_t data) { SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE3)); digitalWrite(PMW_CS, LOW); SPI.transfer(reg 0x7F); // 寫地址最高位為0 SPI.transfer(data); digitalWrite(PMW_CS, HIGH); SPI.endTransaction(); } MotionData readMotion() { MotionData data; uint8_t motion readRegister(REG_MOTION); data.motion (motion 0x80) ! 0; uint8_t xLow readRegister(REG_DELTA_X_LOW); uint8_t xHigh readRegister(REG_DELTA_X_HIGH); uint8_t yLow readRegister(REG_DELTA_Y_LOW); uint8_t yHigh readRegister(REG_DELTA_Y_HIGH); data.deltaX (int16_t)((xHigh 8) | xLow); data.deltaY (int16_t)((yHigh 8) | yLow); data.squal readRegister(REG_SQUAL); return data; } }; PMW3901Driver sensor; // 累計位移用于驗證 int32_t accumX 0; int32_t accumY 0; uint32_t lastPrintTime 0; void setup() { Serial.begin(115200); delay(500); if (!sensor.begin()) { Serial.println(傳感器初始化失敗進入死循環(huán)); while (1) delay(100); } Serial.println(PMW3901MB 初始化成功); } void loop() { MotionData data sensor.readMotion(); // 只要檢測到表面質(zhì)量足夠就累計位移增量 if (data.squal 15) { accumX data.deltaX; accumY data.deltaY; } // 每 50ms 打印一次數(shù)據(jù) if (millis() - lastPrintTime 50) { lastPrintTime millis(); Serial.print(Motion:); Serial.print(data.motion ? Y : N); Serial.print( DeltaX:); Serial.print(data.deltaX); Serial.print( DeltaY:); Serial.print(data.deltaY); Serial.print( SQUAL:); Serial.print(data.squal); Serial.print( AccumX:); Serial.print(accumX); Serial.print( AccumY:); Serial.println(accumY); } }這段代碼的核心邏輯是在 loop 里不斷讀取 Motion、DeltaX、DeltaY 和 SQUAL然后累計位移。打印頻率控制在 50ms 一次避免串口輸出拖慢主循環(huán)。實際測試時把模塊放在桌面上慢慢向正前方移動能看到 DeltaX 產(chǎn)生正負變化SQUAL 在正常表面通常在 30 到 120 之間。4.3 方向判斷和位移積分的處理思路拿到裸的 Delta X 和 Delta Y 后下一步是把它變成有實際意義的方向和距離。方向判斷可以這樣理解如果 |DeltaX| 明顯大于 |DeltaY|說明當前運動主要發(fā)生在 X 軸DeltaX 為正就是沿 X 軸正向移動為負就是反向。如果兩個方向的差值不大說明傳感器在走斜線此時可以用 atan2 函數(shù)計算運動角度。位移積分則要注意累積誤差。光流傳感器的位移增量不是絕對位置它更像是每一幀的“變化量”所以積分時間越長、誤差累積越多。我的做法是維護兩個 32 位整數(shù) accumX 和 accumY每次讀到有效數(shù)據(jù)就累加需要測一段距離時先清零測完再算差值。另外如果 SQUAL 低于閾值我會直接跳過本次累加因為不明智的數(shù)據(jù)比沒有數(shù)據(jù)更危險。很多資料里會提到“每 count 對應多少毫米”這個數(shù)值并不是固定的它跟 PMW3901MB 芯片到被測表面的高度、表面紋理、甚至環(huán)境光都有關系。比較靠譜的辦法是做一個簡單的標定讓小車或模組直線移動已知距離比如 20 厘米讀取這段時間的累加位移值然后算出 counts 到厘米的換算系數(shù)。我在桌面上標定的系數(shù)是 1 count 大約對應 0.045 毫米但換到地毯上這個值就變了所以正式使用時一定要針對自己實際場景重新標定。4.4 如何判斷“當前數(shù)據(jù)是否可信”PMW3901MB 不會主動告訴你“我現(xiàn)在讀數(shù)很準”但你可以通過幾個寄存器組合起來判斷。首先看 Motion 標志位如果為 0說明芯片內(nèi)部算法認為目標在當前幀沒有明顯移動此時 DeltaX 和 DeltaY 即使不是 0 也不需要太在意。其次看 SQUAL我實際測試的經(jīng)驗是 SQUAL 低于 15 時數(shù)據(jù)幾乎不可用低于 30 時只能用于粗略方向判斷大于 50 才適合做積分測距。最后看快門值也就是 Shutter 寄存器如果曝光時間過長說明環(huán)境太暗過短說明環(huán)境太亮這些都是傳感器在努力適應光照的表現(xiàn)可以作為環(huán)境判斷的輔助信號。在運動檢測的工程實現(xiàn)里我只會在 SQUAL 15 且 Motion 標志位為 1 時才更新累積位移否則當前幀直接丟棄。這個策略雖然會讓有效數(shù)據(jù)出現(xiàn)一點點斷續(xù)但換來的穩(wěn)定性是巨大的。畢竟光流傳感器本身就很容易受表面紋理影響與其讓臟數(shù)據(jù)污染積分結(jié)果不如寧可少取一點也不要取錯。5. 常見問題與排查技巧實錄5.1 現(xiàn)象對照速查表底下列出我實際使用和幫助朋友排查時遇到頻率最高的問題用表格整理出來方便快速定位?,F(xiàn)象可能原因解決思路串口打印 Product ID 為 0xFF 或亂值接線錯誤、SPI Mode 不對、模塊供電異常檢查 MOSI/MISO/SCLK/CS確認使用 SPI_MODE3Product ID 為 0x00模塊沒有正常上電、電源紋波太大、芯片損壞測量 VCC 電壓給模塊加濾波電容SQUAL 一直為 0鏡頭保護膜未撕掉、表面無紋理、距離過近或過遠清潔鏡頭換到有紋理表面調(diào)整高度到 8~30cmDeltaX/DeltaY 數(shù)值跳變特別大電源干擾、SPI 時序不穩(wěn)、CS 與其他外設沖突加濾波電容降低 SPI 時鐘頻率檢查 CS 引腳靜止時累積位移仍然一直增加表面紋理太弱、震動影響、SQUAL 過低時錯誤累計提高 SQUAL 閾值增加靜止判斷邏輯移動時讀數(shù)正常但方向反了X/Y 軸定義與機械方向不一致交換接線或?qū)?deltaX/deltaY 取反5.2 讀不到 ID 時的詳細排查步驟如果你燒錄代碼后串口打印的 Product ID 不對不要急著懷疑芯片壞了。我的排查順序是先確認模塊供電用萬用表量 VCC 對 GND 的電壓必須穩(wěn)定在 3.3V變化幅度不超過 0.1V。然后檢查 MOSI 和 MISO 這兩根線很多人在這上面栽跟頭。模塊的 MOSI 要接到 ESP32 的 GPIO23也就是主機 SPI 的 MOSI 引腳MISO 接到 GPIO19如果你把這兩根線接反了讀出來的數(shù)據(jù)就會全是 0xFF。排除了接線之后還需要確認代碼里的 SPI 初始化參數(shù)。PMW3901MB 必須工作在 SPI Mode 3如果誤寫成 Mode 0芯片不會正常響應。我把SPI.setDataMode(SPI_MODE3)放在SPI.begin之后同時在每次傳輸時用SPISettings再強制指定一次避免被其他庫影響。還有一種情況是模塊本身已經(jīng)進入低功耗模式。上電后如果一直沒有人去“喚醒”它部分模塊會保持睡眠狀態(tài)此時任何寄存器讀取都返回異常。我的代碼里在初始化時寫了 0x5A 到 0x00 寄存器這個操作對省電版本是必需的。如果你用的是比較老的 PMW3901 模塊可能還需要額外的初始化序列建議找商家要出廠配置表。5.3 數(shù)據(jù)漂移和 SQUAL 不穩(wěn)定的實戰(zhàn)避坑我在測試中遇到過這么一件事模塊靜止在桌面上串口里的累積位移卻在十幾秒內(nèi)慢慢漂了 20 多個 count。最開始我以為是算法問題后來排查發(fā)現(xiàn)是模塊底部墊的一塊雙面膠在微微變形加上周圍有人走動引起桌面輕微震動傳感器把這些低頻震動當成真實運動了。解決方法是加一個簡單的“靜止檢測”如果連續(xù) N 幀的 DeltaX 和 DeltaY 都小于某個閾值就強制認為當前處于靜止狀態(tài)把累積位移清零或者凍結(jié)輸出。SQUAL 不穩(wěn)定最常見的原因是表面紋理不夠清晰。純色桌面、玻璃、鏡面這些表面會讓芯片內(nèi)部的光學算法抓不住特征點SQUAL 自然上不去。還有一個容易被忽略的情況是使用環(huán)境里的強紅外干擾。陽光直射、白熾燈近距離照射都會影響內(nèi)部傳感器靈敏度。我后來給傳感器加了一個簡單的遮光罩效果非常明顯戶外測試時 SQUAL 從不到 20 提升到了 60 以上。如果你發(fā)現(xiàn)模塊離地面太近時數(shù)據(jù)反而不準那很正常。PMW3901MB 有一個最小工作高度大概是 80 毫米左右太近會導致視場太小、紋理無法對焦。太遠也不行超過一兩米后表面紋理在傳感器上已經(jīng)小到無法跟蹤。我實際使用下來比較舒服的高度范圍是 10 到 30 厘米。5.4 和 ESP32 一起使用時的特殊坑ESP32 本身是顆高度集成的芯片Wi-Fi 和 BLE 同時啟用時占用的資源不少。雖然 SPI 外設和無線外設底層互不沖突但在極端情況下無線協(xié)議棧的中斷優(yōu)先級和 CPU 調(diào)度會影響你讀取光流數(shù)據(jù)的實時性。我的做法是把光流讀取放在 loop 里高頻執(zhí)行數(shù)據(jù)不做復雜處理直接緩存無線發(fā)送單獨在一個任務里消費緩存。這樣即使無線在忙于重傳也不會讓運動數(shù)據(jù)采集停頓太久。另外要留意 ESP32 DevKitC 板載的 3V3 穩(wěn)壓器輸出能力有限。如果你同時接了 PMW3901、LED 燈、蜂鳴器、SD 卡等外設3V3 電壓可能會被拉低到 3.1V 甚至更低。PMW3901 對電壓波動比較敏感我建議在供電吃緊時把光流模塊的供電直接走單獨 LDO或者至少用萬用表量一下實際電壓再決定。6. 擴展玩法與個人調(diào)試體會6.1 把數(shù)據(jù)變成遙控指令或上位機曲線PMW3901MB 輸出的是相對位移增量拿來當手勢控制傳感器非常順手。你可以把 DeltaX 和 DeltaY 映射成鼠標的相對移動再用 ESP32 模擬 USB 鼠標或者通過 BLE 發(fā)送給手機 App。如果你只需要調(diào)試觀測最好的方式是通過 WebSocket 把位移數(shù)據(jù)實時傳到瀏覽器畫一條曲線看起來直觀很多。我在調(diào)試階段就是這么做的ESP32 作為 WebSocket 服務端PC 瀏覽器打開一個簡單頁面實時顯示 DeltaX、DeltaY 和 SQUAL 的曲線。ESP32 自帶 Wi-Fi省去了一根串口線調(diào)試小車在屋里跑來跑去時非常方便。如果你糾結(jié)藍牙和 Wi-Fi 能不能一起用我的經(jīng)驗是兩者可以同時開啟但要注意合理分配任務和中斷優(yōu)先級。簡易的運動數(shù)據(jù)廣播用 BLE 更省電需要高頻率大數(shù)據(jù)量傳輸時用 Wi-Fi 更合適。6.2 融合其他傳感器才是完整方案光流傳感器不是萬能的它只解決“相對位移”這一個問題。要做完整的測速或定位通常還需要 IMU 做加速度計融合、高度傳感器做距離修正。因為光流的位移增量受高度影響很大如果你知道了相對地面的高度就能把 counts 更準確地換算成實際距離。我的小車后來加了一個超聲波模塊測高配合 PMW3901MB 的位移數(shù)據(jù)測速精度比單獨用編碼器提升明顯。在融合思路上最常用的是卡爾曼濾波或互補濾波。把光流輸出的位移當作速度觀測值把 IMU 的加速度當作運動模型輸入融合后既能避免加速度計的漂移又能濾掉光流的跳變。我在 ESP32 上用 Arduino 環(huán)境實現(xiàn)了一個簡單的互補濾波其實核心就幾行代碼但效果提升是肉眼可見的。6.3 我給后來者的三點調(diào)試建議第一先把寄存器 ID 讀出來再談算法。PMW3901MB 只要能穩(wěn)定讀到 0x49說明硬件通路已經(jīng)打通后面的一切工作才有意義。不要一上來就急著看運動數(shù)據(jù)那樣出了問題你根本分不清是硬件還是軟件。第二務必把 SQUAL 打印到串口并且養(yǎng)成隨時觀察它的習慣。SQUAL 是傳感器在告訴你“我到底看不看得清表面”這個值在醫(yī)院上經(jīng)常能幫你快速判斷問題。很多看似是算法或者時序問題最后都出在表面紋理不清或者高度不對上。第三做一個可重復的移動測試流程。把傳感器固定在一個滑臺上以固定速度移動固定距離然后看累積位移是否線性增長。我最早做標定時用手推著小車走數(shù)據(jù)散得沒法看后來改用緩慢勻速的滑臺后標定系數(shù)才穩(wěn)定下來。這個流程看起來簡單但能省下后面大量排查時間。把這些細節(jié)都處理好之后ESP32 加 PMW3901MB 這套組合會變得非常可靠。我在小車項目里把光流數(shù)據(jù)作為編碼器數(shù)據(jù)的交叉驗證通道連續(xù)跑了幾個小時位移趨勢始終對得上。說實話光流傳感器并不算一個特別復雜的外設真正的難點是搞清楚它的數(shù)據(jù)語義、工作邊界和影響精度的外部因素。只要你愿意花一點時間把底層的寄存器行為弄明白后續(xù)不管是做懸停、做測速還是做手勢控制都會輕松很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色综合91| 撸撸成人在线视频| 热久久无毒不卡| 边做饭边操逼逼| 人人操天天爽| 久久免费少妇| 久热久| 日韩人妻 中文字幕| 久久天天躁日日躁狠狠躁| 奶水 人妻 哺乳 在线| 99无码视频| 无码粉嫩白虎一线天b区| 亚洲春色激情小说| 2019天天干| 亚洲免费精品一区| 强奸乱伦中文字幕AV| 色踪合AV| 狠狠色综合网| 色悠久| 一区二区不卡| 欧美激情综合| 伊人久久大香线蕉无码| 男女啊啊啊| 中国黑人三级片网站上区| 免费簧片在线观看| 日本三级A片网站com| 日本久久久久久久久久| 激情四射婷婷四五月天| 精品人妻一区二区视频| 99re28在线观看| 亚洲国成人情色好看电影| 国产精品久久久久久照片| 91欧美经典| 三级片大波波| 久久久久久久久久久97| 天天干,夜夜爽| 操逼片国产| 91丨国产丨白浆秘 洗澡动漫| 日韩少妇丰满亚洲| 99久久久久| 飘花国产午夜精品不卡| 免费a v| 激情综合色| 天天夜躁日日躁狠狠2002| 久久骚| 又大又黄国产| 看日韩黄片| 国产后入清纯| 丝袜av一区二区三区| 91在线|亚| 97干日韩| 亚洲人妻熟妇三十三区| 中文字幕日本久久| 亚欧高清v| 日韩 欧美 视频 在线 一区| 欧美 亚洲 在线| 色在线69堂| 国内黄色精品| 99啪啪视频| 久久鲁夜| 自拍欧美| 国产麻豆一区二三区| 神马九九九| 欧美极品色| 日本二三四区| 亚洲欧美综合| 人人摸.人人色| 日韩乱伦AⅤ| 亚洲成人一区二区精品| 久久久久国产一区二| 人人操人人插人www| 久久无码成人| 少妇人妻太紧太深av| 伊人操你| 伊人女女资源在线观看| 91超碰人人| 97香蕉人人乳| 国产乱码久久久| 99久在线精品99re8蜜桃| 大学生美女口爆| 女人爽到高潮潮喷18禁网站| 25国产精品免费观看| 久久九色| 亚洲精品欧美专业| 久久久无码精品人妻二区| 天天干人人乐| 亚洲国产精品成人无码久久久 | 啊啊啊好湿久久| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 狠狠躁久久躁| 尤物av网站免费在线播放| 久久久亚洲欧美综合| 爆乳免费黄网站| 伊蕉97蜜桃97狠狠综合干| 好舒服视频| 亚洲精品九九九| 91天堂色男人的天堂| 久热伊人99re| 国产91丝袜在线播放蜜月| 久久日韩肥臀| 人妻22p| 欧色综合| 美女网站91| 午夜.DJ高清在线观看免费7| 大香蕉久操| 97玖玖超碰| 男人的天堂kva| 午夜精品视频777| 亚洲图片在线| 深夜福利黄片| 亚洲成人精品久久久| 男人的午夜天堂| 人妻久久久久久久久久久久久久久| 日夜尻逼网| av天堂天堂av日韩| 青青草亚洲一区| 69精品| 亚洲少妇喷视频看| 中文字幕av亚洲精品| 无遮挡h肉动漫在线观看| 久草老司机| 丁香五月自拍| 麻豆精品一区二区三区四区免费观看| 美女超碰978| 亚洲成人色情五月天丁香花| WWW黄片COM| 涩亚洲欧洲| 婷婷探花久久精品一区| 国产传媒日本欧美专区| 日韩中文字幕国产| 91久久久视| 冬京热男人的天堂| 欧美自拍偷拍免费观看| 久久久蜜桃一区二区三区| 蜜臀视频网站| 性爱视频啪啪啪啪| 大香网伊人久久综合网eew| WWW操逼| 成人黑料社久久| 久久婷婷欧美| 九九九久久久| 亚洲图片偷拍视频区| 天天影视综合网欧美精品| 蜜桃在线观看一区二区三区| 久久国产乱子伦精品免费女人| 国产女人9999| 91视频精品| 免费9 1久久| 欧美综合色| 少妇专区一二三四五| 国产精品永久免费10000| 精品少妇99| 婷婷亚洲五月***久久| 亚洲成人在线乱码色午夜| 天天内射| 五月综合色| 在线情色电影 91大| 老外又粗又长一晚做五次| 久久鲁夜| 日韩免费簧片| 欧美日韩精品青青| 日韩ab网| 婷婷色香| 亚洲欧美国产其他二区| 激情抓乳插进去啪啪啪日韩 | 91无遮挡| 国产嫩草精品A88AV| 欧美日韩夜夜| 精品 码产区一区二-1080P高清在线www-B029AV| 最新无码国产| 神马久久久久| 欧美韩日精品99综合| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 久午视频| 一二三区精品视频| 日韩一级二级三级| 久操免费电影| 日韩综合97P| 丝袜喷水在线| 日本免费不卡二区| 久久欧美1卡2卡3| 中文有码第五页| 成人五月香网在线| 发朗少妇买婬全视频中文| 无码乱人伦中文视频| 国产黄色影片在线观看| 草草影院日本第一页| 亚洲国产成人精品久久久国产成人一区二区三.| 伊人操你| 国产精品网址| 欧美操逼熟女| 国产成人精品无码久久| 中文字幕在线免费观看2| 亚洲一区二区三区不卡国产欧美| 一个人免费视频观看在线WWW| 色汉综合| 天天弄天天操| 国语对白在线播放视频| 色五月首页| 黄色成品网站| 东北女人高潮视频| 天天艹天天日| 五月天黄色av| www.人人摸在线视频| 熟妇人妻精品一区二区| 91春色| 国产第25页在线观看| 不卡啪啪视频| 国产精品爆乳懂色蜜乳| 91在线超高颜值国产| 亚洲无码一二三区| 中文字幕av色| 欧美熟妇色| 免费家庭乱伦视频| 岛国黄| 五月婷婷激情| 日韩 女同 综合| 久久超碰国产一区二区三区| 五月天综合在线| 欧美视频第二页| 亚洲中文字幕一区| 国产Av超碰| 狠狠中文字幕| 人妻无码视频一区二区三区久久| 人人模人人看| 亚洲有码 欧美精品| 动漫片子网站3黄| 国产97av| 操逼逼福利视频| 国产污视频麻豆传媒一区二区 | 97天堂| 久久国语| 日本孕妇一区二区视频操逼免费看 | 五月天综合网| 久久精品—区二区三区内射| 夜夜爽77777| 操淫穴亚洲五月丁香 | 26uuu性物| 五月婷婷五月天| 熟女高潮精品一区二区| 国产精品白丝AV| 精品无码久久久久久久杏吧| 麻豆精品一区二区三区四区免费观看| 99久久亚洲精品无码毛片潘甜甜| 九九热免费在线国产视频伊人五月| 91爱做| 美国黄片aaa| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 2003天天干夜夜操| 双插性欧美一二三区| 欧美亚州综合图片| 91人妻精华帖| 欧美激情亚洲情色| 99热成人| 好吊色综合| 熟女少妇一区二区三区| 九九这里只有精品| 91精品国产91久久青草| 久久久久久久一级黄色打同平台| 97干在线| 91处女在线视频| 国模精品一区二区三区苹果色戒 | 人妻无一区二区三区| 国内黄色精品| 国产无马在线| 青青草玖玖爱| 99在线精品视频| 91麻豆天美| 99黄页网站| 精品人妻伦一二三区久久| 一二三区精品视频| 久久熟妇五十路一区| 熟女乱伦A| 东京热AV男人的天堂| 久jiu久神马影院| 日逼国产| 97色亚洲| 欧美春色| 九九九精品一区二区无码| 日本精品第一视频在'| 亚洲欧美日韩制服另类| 91熟女.com| 日本99一区二区| 日本久久网| 久久黄色视频一区二区三区| 国内亚洲高清无码| 亚洲熟女综合一区二区| 国产免费一区| 高清不卡一二三区视频......| 亚洲最新a在线观看| 女色综合| 欧美日韩另类激情图片| 另类图片五月天| 男人天堂 天天射| 精品人妻视频一区二区三区蜜桃视频| 3571色综合一区二区二区| 丰满人妻大屁一区二区| 人人摸人人叼| 国产无码一二三区| 亚洲国产激情国产av| 日韩中文字幕视频在线观看| 九九色图| 国内精品不卡无毒99999| 五月天激情综合网| 婷婷丁香六月| 久操B网| 九九色综合| 亚洲有码 欧美精品| 日韩久久三区| 厕所偷拍在线| 劲爆欧美人妖三区91| 中文字幕免费在线观看| 九九九九免费| 视频国产欧美在线播放| 成人精品一区二区91毛片不卡| 日逼国产| 超碰调教97| 一道本东京热加勒比一区二区三区| 大香蕉伊人在线成人AV在线观看| 亚州国产成人精品女人久久| 大象AV在线| 国产 亚洲 一二三四| 精品亚洲黄色片 国产精品导航一区二区| 亚洲一区二区三区四区视频| www.91色综合| 天天综合网入口~91| 大香交| 激情熟女12P| 翔田千里av一区二区三区| 久久午夜伦| 高跟伊人julia ann| 无人区高清电影免费观看一区二区三 www.qmcai2.com | A片 AV一级在线播放观看免费| 天天精品| 超碰1024久久| 夜夜躁狠狠躁日日躁av| 四虎影视永久在线免费| 屌妞视频久久久久久久久久久久| 五月婷婷六月丁香| ss久久| 国产后入式在线观看| 欧美日韩97在线| 97超碰碰| 91校园春色长篇| 视频在线中文字幕| 中文字幕精品一区欧美| 欧美精品999| 欧美综合制服在线| 伊人麻豆传媒| 亚州伊人色综台| 成人夜夜| 熟女色综合久久| 国产和美国毛片| 成人a级高清视频在线观看| 成人精品在线| 色欲久久99国产精品久久久久久| 这里只有精品视频在线观看麻豆| 操亚州| 色综合久久88色综合久久天天| oumeisetupian| 精品福利| 亚洲射综合网| 日韩av免费一级电影| 丁香五月综合| 色香综合| 日本欧美韩国日产片片在线看免| 青青色在线观看| 中文字幕一区 二区三四五 区日 日骚| 久久东京热久久| www…国产操逼| 91狠狠狠| 蜜桃视频精品一区二区| 日欧操屄| 大香蕉色欲AV| 色婷婷综合网| 伊人久久大香线蕉无码| 啊嗯嗯啊好大好爽| 91久久久久久久| 青草成人免费视频一com| 四虎视频在线观看| 岛国精品视频在线观看| 欧美性生活男人的天堂| 日日玩天天干| 诱惑人妻欧美一区在线播放| 能直接看AV的网站| 亚洲天天综合| 在线 欧美 亚洲| 色综合美国| CCYY草草影院地址入口| 日韩综合第八区国产精品| 国产在线不卡导航| 国产探花精品在线| 91 丝袜在线播放| 欲女人妻性色av| 久久九七| 美腿色图| 五月色综合| 五十路六十路七十路熟婆| 九九九九九九免费视频| 中文字幕十五区| 防屏蔽在线视频| 亚洲AV无码国产精品久久久久| 久久婷婷电影网| 国产在线激情| 91性高| 女色视频社区| 玖玖97综合| 五月天婷婷成人网| 爽爽淫人网| 欧美东京热精品A∨| 亚洲第一狼人丝袜美女另类 | 男人亚洲91首页在线| 亚洲一卡2卡3卡4卡乱码网站| 中国操逼无码| 国产精品久久久啊| 国产精品麻豆成人av| 亚洲av性爱电影| 欧美高清色| 国产成人五月天丁香花| 久久久96| 精品国产一区探花在线观看| 78精品| 人妻丝袜一区二区三区在线| 日韩电影免费网站麻豆视频| 日韩精品 欧美激情| 久久国产精品m码| 91精品网站| 久久性爱视频免费看| 国产亚洲欧美每日在线| 黄片视频观看| 欧美激情视频在线一区| 人人插人人搞人人操| 国产激情片在线观看| 色五月婷婷中文字幕| 97这里都是精品| 亚州乱码中文字幕综合久久久| 伊人久久蜜月| 综合色区偷拍| 啪啪视频免费在线观看| 亚洲精品中文字幕一区在线视频 | 亚洲 欧美 色图| 日本在线15p| 超碰到97情色| 99热这里只有精| 丁香六月天| 国产风韵犹存熟妇三区| 91麻豆天美国产欧美| 欧美九九爱| 俺也射| 人妻夜夜爽天天爽三区麻豆AV网站| 精品三级在线专区| 一起草日韩| 久久9视频| 中文字幕久久亚州无码| 少妇三p| 国产亚洲色停停久久99精品91| 丁香六月激情| 久久综合九九| 加勒比伊人综合| 青青色在线观看| 国产精品老师| 在线播放中文字幕| 久久成年片色大黄全免费网站| 国产对白刺激视频| 亚洲码和欧洲精品激情系列| 日本媚薬中文字幕在线| 国产a级午夜毛片| 91伊人大香蕉| 欧美黄色手机在线观看| 蜜臀国产AV中文字幕| 99re99在线视频| 天天插夜夜操| 色色毛片| 顶级丝袜熟女一区二区三区| 大香樵伊人网| 国产av色网| 中国一级操逼视频| 在线黄色污污网站| 国产在线综合网| 欧美极品少妇交| 亚春色色| 久草国产在线视频| 91高跟美女在线播放| 欧美亚洲自拍另类人妻| 日韩女优在线| 日韩欧美大片免费高清啪啪| 九九热免费视频| 欧美色蜜桃97| 九九色逼| 少妇高潮九九九九| 久久日韩毛| 无码久久亚洲高清,| 天天日天天射天天干| www.av家庭乱伦| 人人澡综合涩| 综合影视国产无码| 欧美热图99| 亚洲,欧美,春色,另类| 极品色综合| 97操97色| 日韩卡一卡二卡三在线| 午夜精品人妻二区三区| 92福利社视频| 激情小说图片亚洲首页| 懂色影视久久| 泰国AV在线观看| www.伪伪| 日本加勒比无码专区| 久久天天躁日日躁狠狠躁 | 欧美亚洲激情一二三| 欧美日韩成人| 精品久久久久久AV无码| 国产熟女精品一区二区| 91美女视频在线免费观看| 欧美日韩操逼嗦吊| a片自拍直播视频| 超碰色美女| 我中文字幕6区| 亚洲熟女国产综合另类| 十八禁啪啦拍视频无遮挡| 黄色视频60分钟| 少妇一区二区三区| 久久成人东京热人妻| 美女主播色欲91抠b在线播放| 午夜福利免费精品视频| 五月天我淫我色av| 欧美啪啪色吧在线| 亚州男人的天堂| 另类视频在线| 91天天综合网,天天综合网| 国产女性无套 免费观看| 翔田千里爆乳巨臀无码| 91亚洲欧洲| 少妇精品| 性感美女91影视| 美熟女逼导航AV操逼| 99久在线精品99re8a| 亚州综合AⅤ| 中文字幕在线观看AV| 97久精品| 草久久久| 亚洲 欧美 另类 日韩 人妻一区| 丝袜喷水在线| 国产天美传媒精品| 四虎在线免费视频| 婷婷久草| 91欧| 亚欧美综合网| 香蕉视频精品亚洲一区二区三区在线播| 9精品久久久久| 麻豆成人影音在线| 亚洲国产精品V?在线播放| 艹少妇网站| 丁香五月婷婷啪啪| 99九九久久| 日本最新1区2区3区| 美女性91| 中日韩一区二区三区欧美| 日韩av在线精品观看| 国产欧美精选激情视频| 蜜乳av一区二区三区四区不卡| 91N综合网| 久久婷婷一区| 国产精品第一区第一页| 日本熟妇色熟妇在线视频播放| 麻豆国产成人精品| 青草一区二区| 中文字幕一区二区无码成人| 91精品国产91久久青草 | 91高清无码下载| 国产 码在线成人网站| 欧美另类自拍 | 中国亚洲呦女专区| 亚洲综合113页| 青青久久艹| 久久精品国产99精品亚洲蜜...| 国产福利影视| 欧美黑人与女人91~| 美女好片色日本| 熟女六十路| 91老熟女| 亚洲综合婷婷| 性九九九九九九| 亚欧无码线免费观看视频| 色五月激情综合网| 久草成人影片| 老熟女乱伦一区| 91 国产丝袜在线放观看| 91操熟女视频| 91狠狠综合久久久久久| 国产久久久久影院老熟女| 国产精品久久久久久亚洲色欲| 九色婷婷| 性感美女91影视| 丝袜剧情| 国产免费一区| 思思热免费视频观看| 国产在线精品电影观看| 3P乱轮视频| av东京热男人的天堂| 国产9 9在线 | 亚洲| 欧美色图成人网一区二区 | 91成人久久 | 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 色欲人妻一区二区在线| 亚洲精品尤物yw在线影院| 大肉棒导航| 国产精品久久久久久 百度| 综合网97| 翔田千里av一区二区三区| 久久久久久久久久久精| www.99热| 黄片视频观看| 亚洲色资源| 岛园激情| 国产精品熟女一区二区三区| 国产成人主播| 青青操综合网| 欧美亚洲韩国视频十五区 | 人妻精品一区二区三区| 校园春色之综合网| 岛国黄片网站| 男人的天堂免费| 91爰爱欧美| 99久久婷婷国产综合精品草原| 女人久久久| 老司机午夜精品福利视频一区二区| 日本九九九九| Sekablack无码一区| 精品人妻一区春色| 亚洲五区熟女| 日本亚洲熟女视频| 国产高清视频无码在线| 亚洲深夜福利| 欧美综合综合| 欧美性Fer办公室秘书| 混色激情av| 美日韩成人| 首页中文字幕中文字幕免费| 波多野结衣AV无码一区| 操逼操2| 熟女少妇视频| 啊啊在线| 国产不卡的视频| 免费人人搞97| 欧美暴力猛交| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 午夜福利在线合集| 无码操逼网| 一区二区三区在线美女| 日韩兔费看黄片| 97天天日| 91综合网站| 一区二区无码视频| 国产AV中文| 婷婷综合伊人一区| 国产sv美女内射| 97在线观看免费视频| 亚洲精品99999| 国产9区| 国产精品日韩在线一区| 天天日天天搞天天干| 亚洲国产91精品一区二区久久| 成人av影院在线观看| 九九干| 久久久久久久亚洲Av无码| 性爱1区| 久久东京国产精品视频| 67914亚洲精品| 小草精彩毛片| 欧美在线55555| 欧美天天影院| 操碰97| 天堂俺去俺来也www久久婷婷| 亚洲精品成人动漫在线| 白嫩国模丰满一二三区| 久久久久久亚洲精品不卡人乳| 97精品一二区| 超碰地址97| 91天堂网| 中字幕人妻一区二区三区| 91天堂色男人的天堂| 可以免费观看的AV| 91性高| 亚洲男人天堂网站| 尤物网站91| 欧美日韩国产色图在线| 久久日韩毛| 成人在线视频一区| 色五月综合网| 九九人妻| 97久久天天综合色天天综合色电影| 黑丝制服中文字幕| 久久精品老司| 亚洲av强奸乱伦| 国产精品久久久 | 蜜乳性色无码专日粉嫩骚逼AV| 婷婷激情五月| 欧美日韩亚洲五月天婷婷| 91美女在线| 秋霞一级视频在线观看免费| 久久蜜色情在线视频xxx免费观看| 日产精品久久久一区二区| 強姦亂倫a| 亚洲中文人妻色| 蜜臀AV一区二区三区| 亚洲AV无码国产精品久久久久 | 日本网色| 亚洲 欧美 综合 91| 精品中文字幕第一页| 日本不卡码黄色| 天天看天天日天天操| 99热这里| 超碰九7免费| 久久久久久久久久久六六| 国产区在线| 一级久久性爱视频| 天天操天天看| 欧美性爱在线无码| 97 色综合| 国产女上位好爽在线| 无码一区免费在线不卡| 久久婷婷五月天| 精品国产乱子伦一区二区三区,精品一 | 久久一留热品黄| 国产午夜精品理论片a大结局| 蜜臀av一区二区三区免费观看| 超碰久超碰久| 香蕉99秘 精品一区丁香| av三级电影在线播放| 热热热热日日漂亮永久永久国产日| 操B视频日韩无码| 97干天天| 婷婷五月激情综合| 测评在线观看AV| 91亚州欧美| 精品偷拍13p欧美dodk视频| 俺也射| 国产性刺激| 色嗨嗨在线| 91欧美经典| 欧美日韩青操| 婷婷丁香五月激情啪啪| 操逼操逼操| 女人香蕉久久毛毛片精品| 99re3这里只有精品| 精品国产91av一区二区三区| 91亚洲人| 久久成人网站| 99热亚洲天堂| 99热综合| 亚洲欧美日韩精品久| 久久精品人妻一区| 91综合天天| 亚洲一区制服诱惑| 97久久精品亚洲| 欧美网站免费| 伦伦成年午夜免费视频| 日本精品五区| 亚洲一区二区av| 国产精品久久久九九九| 亚欧中文字幕在线视频| 久久这里都是精品| 97人妻碰碰中文无码久热丝袜| 亚洲自拍天堂| 妇女性内射冈站HDWWWCOM| 人人妻人人澡人人爽久久av| 久久久久深夜无码| 少妇熟女视频一二三区| 日韩电影天堂视频一区二区| 少妇天堂网络| 色第一页| 躁躁日曰躁2020| 97综合在线观看| 999久久久久久久精| 亚洲av热热色| 老熟女中文字幕高清| 无码人妻精品一区二区三区九九| 久久免费老司机精品| 91在线欧色| 99xav| 做爱福利视频一区二区| 自拍欧美| 热热色AV| 超碰人妻久久| 国产精品直播在线观看直播| 欧美呦呦性爱| 国语对白在线播放视频| 91色婷婷综合久久中文字幕二区| 久热91| 中文字暮97| 亚洲限制级在线| 大香蕉色网| 97精品中文字幕| 婷婷探花久久精品一区| 欧美 亚洲 在线| 日韩激情无码影院| 久久婷婷综合国际产色怕| 亚洲不卡AV在线| 日韩欧亚中文在线| 另类小说欧美激情校园春色| 亚洲无码免费看| 婷婷导航| 91成人在线| 成人三级片一区二区三区视频| 亚洲高清自拍| 丰满人妻av一区二区三区| 一二三四免费视频| 色综合久久夜色精品国产天堂| 日韩无码服务区| 亚洲中字幕日本一区二区三区| 播播亚洲小说亚洲| 97综合国产精品高潮久久| 97超级色碰碰| 国产无码精品高清| 中文字幕 码 自拍 视频 区| 综合激情一一91| 久久天天艹| 97 亚洲 日韩 欧美 在线| 91精品在线播放| 93人人操人人| 久久m| 亚欧毛片基地国产毛片基地| 大香蕉免费中文| 91美女高潮| 色婷婷视频| 粉嫩少妇自慰在线| 在线中文字幕| 国产suv精品一区二区四| 天天综合网在线观看| 亚洲无码99| 91N综合网| 五月天婷婷基地| 熟女91网| 一块操欧美性爱| 欧美亚洲20p| 国产强奸乱伦xd| 亚欧国产无码精品在线| 冬京热男人的天堂| 日韩一二三区| 亚洲黑丝在线| 午夜九九九九九九| 九九亚洲视频| 美女91网址| 一区二区三区机械有限公司| 动漫av中文| 中国一级操逼视频| 日韩中文字幕av在线播放| 日韩熟女操逼| 午夜天堂精品久久| 午夜性生活av免费在线看| 欧美有码激情视频一区二区三区| 午夜九九九九九九| 女优视频第10页| 综合欧美日本三级| 婷婷久久大香蕉| 亚州黄站| 97国产精选| 九九久久玖玖| 九九热免费国产视频婷婷伊人五月| 中文字幕精品亚洲熟女| 久久综合女优| 91人妻做a观看视频| 国产女人9999| 在线观看日韩av不卡| 国产超碰欧美| 9九九九九视频在线观看| 东京热天堂网| 国产男女无套97| 天天操夜夜嗨| 国产精品白丝www| 夜夜一区二区| 日韩操逼性鲍| 欧美亚洲高清晰| 激情五月综合网| 97色网| 99re95| 国产亚洲精品第一最新| 亚洲欧美综合图片| 蜜桃视频精品一区二区三区| 亚洲囯产精品女人久久久| 一区二区三区在线日韩影院观看| 天天干天天插| se吧提供91精品国产91久久久久久 | 人妻9117c| 少妇色综合| 99爱视频| 日韩成人在线性爱视频| 玖色av| 丰满少妇一区二区三区四区观看| 黄页视频网站野外| 久久久不卡| 久久爱超碰网| 色丁香五月婷婷| 这里只有精品视频在线观看麻豆| 亚洲午夜精品久久久中文影院| 日本不卡高清免v欧美日韩在线观看| 国产精品麻豆视频网站| 亚洲激情综合另类| 超碰97亚洲区| 视频在线观看一二三区| 操逼视频免费日韩无码| 亚洲欧美高清无码| 亚洲干B| 日韩欧美丝袜诱惑| 五月天色图影视| 一区二区三区免费岛国片| 超碰95| 精品熟妇视频一区二区| 亚洲精品欧洲精品| 99久热| 手机看av网站在线看| www.亚洲成人一区| 91色婷婷综合久久中文字幕二区| 成人在线午夜视频一区| 91 国产丝袜在线放观看| 日本精品一区二区中文字幕| 久久性生大片免费观看性| 欧美特黄视频网站| 久久久久久久久久久久久久久久9| 区日韩亚洲乱码av电影| 国产原创剧情在线丝袜 | 四季AV一区二区凹凸精品小说| 婷婷成人五月天| 婷婷中文网| 免费看黄视频亚洲网站| 日本性交操一区二区不卡系列| 日本久久超碰| 亚洲 日本 不卡| 欧美三级偷拍| 97视频免费在线| 97就爱干| 日韩精品电影| 久久超碰98| 东北女人| 青青草精品| 色狠人在线99| 亚洲色图a| 国产性刺激| 久久久久久久久九九久孕交| 射丝袜高跟鞋99| 91亚洲青青草原精品1区| 97国产超湿| 欧美色三级片91| 神马视频久久久久久| 91xingse| 亚洲精品一二三四区| 欧洲射精91| 台湾大香蕉99热| 九九热在线精品视频| 日本最新免费韩国1区2区视频播放| 日日AV加勒比| 亚州综合AⅤ| 亚洲日韩东京热一区| 国内97干免费看| 丝袜色综合| 黄久久| www欧美91| 91亚洲在线| 欧美夜夜草视频| 一类av片在线看| 久久一级无码精品毛片6| 亚洲色图日韩精品| 蜜乳av首页| 天天干少妇| 人妻在线中出视频| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 久久这里只| 在线日韩精品一区二区三区| 欧美自拍偷拍综合图片| 深夜国产一区二区三区在线看| 一区二区三区视频在线观看免费| 狠狠干综合| 日韩久久超碰色| 超碰69| JuliaAnn丝袜熟女系列| 性色AV网站| 久久成人午夜精品影院 | 97在线免费视频观看| 日韩有码 一区二区三区| 日韩人妻播放| 青青草日韩无码| 夜夜騷av、一區二區| 亚洲男人天堂视频| 亚州综合网| 日本视频一区二区三区| 婷婷五月天补不补| 神马久久69| 熟妇女伦乱视频| 国产精品亚洲美女久久久久| 91在线丝袜视频| 91模特在线观看| 久久久久久久伊人精品| 亚洲 欧美日韩 另类| 偷看洗澡一二三区美女| 日本久久久久久久久| 天堂涩涩| …亚洲黄色厕厕女女在线播…| 岛国毛片在线观看免费| 91操操| 亚州色图欧美| 国产97在线 | 亚洲| 国产亚洲精品av一区| 91精品电影18| 1204人成网站色www| 国产家庭乱伦表演| 国产激情久久久| 色综合20p| 日产操逼| 超碰99在线| 色亚州人久干视频在线观看免费版| 欧美性爱一区二区| 伊人久久大香大香线蕉中文| 国产乱弄免费在线视频。| 啊啊啊好大好深| 激情综合网五月婷婷五月天| 熟女中出视频| 黑人综合网| 99久视频| 久久久精品视频欧州站| 久久性爱精品一区| 久九干| 中文字幕乱亚洲美女精品一区| 在线强奷到舒服的无码视频| 欧美少妇第一页| 91亚洲网| 精品一区二区三区蜜桃臀赵总 | 啊啊啊啊啊啊啊在线| 亚欧无码线免费观看视频| 六月丁香五月婷婷| 国产精品禁久久久精品| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 99少妇精品视频| 亚洲色电影在线| 狠狠五月天| 久久在肏| 99爱在线视频| 亚洲AV色图| 99热超碰在线| 欧美黑人与女人91| 国模精品一区二区三区苹果色戒 | 亚洲最大成人a毛毛片| 亚洲中文字幕日产无码久久| 偷拍偷窥与盗摄视频专区| 亚洲情色婷婷五月天| 久久人妻| 内射日韩大臀美女| 久久久久9999| 亚洲中文字幕有码视频一区二区三区| 亚洲在饯| 1024亚洲中文字幕久在线看片你懂的| 亚洲欧洲自拍| 欧美黄页在线| av网站在线看| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 婷婷色网| 日本免费人成视频播放120秒| 亚州春色| 亚洲一区二区三区AV无码 | 女人双腿搬开让男人桶| 色偷偷2020免费视频播放| 亚洲色诱惑| 九九热九九| 97一区二区蜜臀| 亚洲国产欧美一区二区潘金莲| 亚州高清色综合| 色青青久久影视| 亚洲图片欧美偷拍| 熟女啪啪视频| 成人一级性爱| 天操天操夜操夜月操月年年操操| 国模吧 一区二区三区| 97这里有精品| 欧美一区二区在线资源| 亚洲欧洲综合成人av一区| 亚洲国产精品久久久久婷婷老年 | 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 日日夜夜模| 国产无码高清操逼视频| 日韩精品9区| 色色色五月婷婷| 激情综合网亚洲| 青娱乐手机日韩在线视频| 深夜激情无码| 亚洲九九九| 免费亚洲国产精品久久一区| 亚洲午夜AV| 91性高朝久久久久久久久| 久久久精品一区二区| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 超碰在线91| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 少妇专区一二三四五| 亚州一区二区| 青娱乐手机日韩在线视频| 日本岛国黄色网址| 黄色无码高清黄色无码网站| 天天看高清麻豆| 日本狠狠干| 日韩精品碰碰| 亚洲乱妇p22| 久久妇| 天天爽爽爽爽| www.黄色在线| 伊人影院日本| 夜夜春夜夜操| 神马久久久久久久久久久久| 日本久久精品| 国产又黄又爽又刺激久久久久久| 91日产桃蜜| 极品后入免费视频| 久久黄黄| 日本精品成人无码| 婷婷在线视频在线观看| 青草一区二区| 99国产精品自在自在| 欧美久久毛片基地| 91丨九色丨东北熟女| 国产一区二区精品久久99| 伊人加勒比| 超碰4A| 久久偷偷色综合蜜桃| 亚洲人妻熟妇三十三区| 久久久久免费少妇| 色噜噜人妻丝袜a∨先锋影| 久久久久99999| 偷拍欧美综合| 成人片在线播放| 先锋色眉乱伦资源| 欧美高清18A片| 香蕉视频精品亚洲一区二区三区在线播| 四虎在线观看网站| 99综合自拍| 精品网站9999| 超碰97起碰| 亚洲高潮少妇| 色九区| 大香蕉乱伦视频网| 1769一区二区| 国产麻豆福利av在线播放| WWW啪啪的com| 日韩免费三级黄片电影| 亚洲av性爱电影| 日韩三A大片在线观看| 噜噜噜久久亚洲精品色情| 天天色悠悠激情| 婷婷香蕉欧美在线一区二区三区 | 久久国模av| 诱惑人妻欧美一区在线播放| 玖玖综合色| 成人女人国产| 精品美女在线视频| 亚洲码和欧洲精品激情系列| 天天日日日射| 国产SV一线| 久久綜合很很很| 人妻少妇三级| 亚洲清纯唯美| 亚洲 欧美 日本 国内 首页| 欧美日韩亚洲少妇寂寞影院正在播放|