在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用TFMini LiDAR傳感器和Arduino實現激光測距

芯情觀察猿 ? 來源:芯情觀察猿 ? 作者:芯情觀察猿 ? 2022-07-19 10:34 ? 次閱讀

LiDAR測距應用越來越普及,例如行人檢測、車輛檢測、障礙物探測等自動駕駛應用,以及道閘防砸、高度計等。本項目以北醒TFMini-S Micro LiDAR傳感器為例,演示LiDAR傳感器與Arduino的連接,以及測距結果及顯示。本項目BOM如下:

Arduino Nano開發板 1

TFMini-S LiDAR傳感器 1

JHD162A 16X2 LCD顯示器 1

10K電位器 1

面包板 1

跳線 22


基于激光的精確測距能力,LiDAR是一種精確的激光探測及測距器件。LiDAR工作原理與無線電雷達沒有區別,即由雷達發射系統發送一個信號,經目標反射后被接收系統收集,通過測量反射光的運行時間而確定目標的距離。至于目標的徑向速度,可以由反射光的多普勒頻移來確定,也可以測量兩個或多個距離,并計算其變化率而求得速度。


poYBAGLWGEiAJn8WAAC2OUmaU7A93.jpeg?source=d16d100b

?

項目采用的TFmini-S是一款基于TFmini升級的單點測距雷達,盲區降低為10cm,室外測距性能進一步提升,不同反射率的測距精度得到優化,可以實現穩定、精準、高靈敏和高速的距離測量。


連接TFMini-S LiDAR傳感器與Arduino


TFMini-S LiDAR可通過UARTI2C接口與Arduino連接。本項目采用UART。


pYYBAGLWGEiAfemCAACe3yRkudU96.jpeg?source=d16d100b

?

將TFMini傳感器的VCC & GND引腳連接到Arduino開發板的5V & GND引腳,Tx、RX引腳連接到Arduino開發板的D2 & D3引腳。


poYBAGLWGEmACbDoAADHEPvEYxk14.jpeg?source=d16d100b

當然,也可以把Tx and Rx連接在其他引腳上,只要支持軟件串口即可。


源代碼及例程庫


北醒官網、Github都提供有TFMini-S LiDAR傳感器庫文件和例程,具體如下:

include

#include "TFMini.h"

TFMini tfmini;

SoftwareSerial SerialTFMini(2, 3); //The only value that matters here is the first one, 2, Rx

void getTFminiData(int* distance, int* strength)

{

static char i = 0;

char j = 0;

int checksum = 0;

static int rx[9];

if (SerialTFMini.available())

{

rx[i] = SerialTFMini.read();

if (rx[0] != 0x59)

{

i = 0;

}

else if (i == 1 && rx[1] != 0x59)

{

i = 0;

}

else if (i == 8)

{

for (j = 0; j < 8; j++)

{

checksum += rx[j];

}

if (rx[8] == (checksum % 256))

{

*distance = rx[2] + rx[3] * 256;

*strength = rx[4] + rx[5] * 256;

}

i = 0;

}

else

{

i++;

}

}

}

void setup()

{

Serial.begin(115200); //Initialize hardware serial port (serial debug port)

while (!Serial); // wait for serial port to connect. Needed for native USB port only

Serial.println ("Initializing...");

SerialTFMini.begin(TFMINI_BAUDRATE); //Initialize the data rate for the SoftwareSerial port

tfmini.begin(&SerialTFMini); //Initialize the TF Mini sensor

}

void loop()

{

int distance = 0;

int strength = 0;

getTFminiData(&distance, &strength);

while (!distance)

{

getTFminiData(&distance, &strength);

if (distance)

{

Serial.print(distance);

Serial.print("cm\t");

Serial.print("strength: ");

Serial.println(strength);

}

}

delay(100);

}


pYYBAGLWGEmADL1JAACwmwtciao63.jpeg?source=d16d100b

這下,Serial monitor開始顯示距離和信號強度,把手在傳感器前面來回移動可觀察到距離在變化,盲區從30cm縮減到10cm。


poYBAGLWGEqAC4mYAACFbmClVk410.jpeg?source=d16d100b

?

如果希望通過LCD顯示測量結果,就需要在前述電路的面包板上加一個16x2 LCD顯示器,并通過10K電位器來調節LCD的對比度。這樣,本項目就實現了便攜式涉及,可以裝起來帶去戶外體驗了。


pYYBAGLWGEqARcdYAADtWrggnRQ50.jpeg?source=d16d100b

#include

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);

#include

#include "TFMini.h"

TFMini tfmini;

SoftwareSerial SerialTFMini(2, 3); //The only value that matters here is the first one, 2, Rx

void getTFminiData(int* distance, int* strength)

{

static char i = 0;

char j = 0;

int checksum = 0;

static int rx[9];

if (SerialTFMini.available())

{

rx[i] = SerialTFMini.read();

if (rx[0] != 0x59)

{

i = 0;

}

else if (i == 1 && rx[1] != 0x59)

{

i = 0;

}

else if (i == 8)

{

for (j = 0; j < 8; j++)

{

checksum += rx[j];

}

if (rx[8] == (checksum % 256))

{

*distance = rx[2] + rx[3] * 256;

*strength = rx[4] + rx[5] * 256;

}

i = 0;

}

else

{

i++;

}

}

}

void setup()

{

lcd.begin(16, 2);

Serial.begin(115200); //Initialize hardware serial port (serial debug port)

while (!Serial); // wait for serial port to connect. Needed for native USB port only

Serial.println ("Initializing...");

SerialTFMini.begin(TFMINI_BAUDRATE); //Initialize the data rate for the SoftwareSerial port

tfmini.begin(&SerialTFMini); //Initialize the TF Mini sensor

}

void loop()

{

int distance = 0;

int strength = 0;

getTFminiData(&distance, &strength);

while (!distance)

{

getTFminiData(&distance, &strength);

if (distance)

{

Serial.print(distance);

Serial.print("cm\t");

Serial.print("strength: ");

Serial.println(strength);

lcd.setCursor(0, 0);

lcd.print("Dis: ");

lcd.print(distance);

lcd.print(" cm");

lcd.setCursor(0, 1);

lcd.print("Str: ");

lcd.print(strength);

}

}

delay(500);

lcd.clear();

}


結果顯示,TFMini-S LiDAR傳感器最大測距為12m,由于戶外障礙物比室內少很多,測距準確度高達90%。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2551

    文章

    51099

    瀏覽量

    753570
  • 激光測距
    +關注

    關注

    9

    文章

    159

    瀏覽量

    27559
  • Arduino
    +關注

    關注

    188

    文章

    6469

    瀏覽量

    187069
  • LIDAR
    +關注

    關注

    10

    文章

    326

    瀏覽量

    29423
收藏 人收藏

    評論

    相關推薦

    proteus中可以什么組合來實現具有激光測距傳感器的功能

    proteus中可以什么組合來實現具有激光測距傳感器的功能
    發表于 05-20 14:58

    baumer激光測距傳感器獨特應用

    簡單的統計學原理,即平均法則實現了1mm的分辨率,并且能保證響應速度。BAUMER堡盟傳感器遠距離激光測距儀在工作時向目標射出一束很細的激光
    發表于 04-27 12:32

    激光測距傳感器的應用

    `汽車防撞探測:一般來說,大多數現有汽車碰撞預防系統的激光測距傳感器使用激光光束以不接觸方式用于識別汽車在前或者在后形勢的目標汽車之間的距
    發表于 11-12 11:07

    【北醒TFmini-S 測距/避障激光雷達傳感器免費試用連載】基于北醒TFmini-S 測距/避障激光雷達傳感器關鍵地區人員靠近防撞提醒裝置

    項目名稱:基于北醒TFmini-S 測距/避障激光雷達傳感器關鍵地區人員靠近防撞提醒裝置試用計劃:申請理由本人在嵌入式和電路領域有五年多的學習和開發經驗,曾設計過北斗和GPS定位救生裝
    發表于 05-28 17:29

    【北醒TFmini-S 測距/避障激光雷達傳感器免費試用連載】傳送帶貨物監測

    TFmini-S 測距/避障激光雷達傳感器完善生產線貨物監測功能。項目計劃①根據文檔,對傳感器使用快速入門②在開發板上開發
    發表于 05-28 17:31

    【北醒TFmini-S 測距/避障激光雷達傳感器免費試用連載】基于FPGA平臺的YOLO-Complex點云數據加速

    開發驗證。項目計劃①基于YOLO-Complex算法,開發RTL工程,實現點云算法,目前完成度80%;②學習北醒TFmini-S 測距/避障激光雷達
    發表于 05-28 17:32

    【北醒TFmini-S 測距/避障激光雷達傳感器試用連載】——上位機測試

    更是吃驚,非常小巧的傳感器,非常輕便。作為一款激光雷達,小巧輕便會非常有優勢。如果運用在重量控制嚴格、位置空間有限的無人機上,優勢會非常明顯。通過對比我們可以看到,它的大小基本只有學生的橡皮擦那么大
    發表于 06-13 22:08

    LDS激光測距傳感器

    比較全的傳感器產品介紹 激光測距傳感器獲取距離信息。當激光投射到障礙物上時,會在傳感器里形成光斑
    發表于 09-14 07:44

    LiDAR激光雷達技術原理及Arduino示例代碼糾錯

    激光雷達(Light Detection and Ranging,LiDAR)即激光探測和測距,又稱光學雷達,是自動駕駛領域的一種基礎感測技術。LI
    的頭像 發表于 07-21 09:29 ?4838次閱讀
    <b class='flag-5'>LiDAR</b><b class='flag-5'>激光</b>雷達技術原理及<b class='flag-5'>Arduino</b>示例代碼糾錯

    什么是LiDAR激光探測與測距

    LiDAR激光探測與測距LiDAR是Light Detection And Ranging(激光探測與
    的頭像 發表于 04-30 14:41 ?3835次閱讀
    什么是<b class='flag-5'>LiDAR</b>(<b class='flag-5'>激光</b>探測與<b class='flag-5'>測距</b>)

    如何選擇激光測距傳感器

    激光測距傳感器是一種廣泛應用于工業、測量和科學領域的高精度測量設備,它可以通過激光束測量目標距離。但是,如何選擇適合自己需要的激光
    的頭像 發表于 10-10 17:11 ?1109次閱讀
    如何選擇<b class='flag-5'>激光</b><b class='flag-5'>測距</b><b class='flag-5'>傳感器</b>?

    激光測距傳感器的原理和應用實例

    激光測距傳感器原理和應用實例 激光測距傳感器是一種通過激光
    的頭像 發表于 03-05 16:29 ?1648次閱讀

    lidar傳感器激光測距傳感器的區別

    LiDAR傳感器激光測距傳感器是兩種不同類型的傳感器,它們在原理、應用和性能方面存在一些區別。
    的頭像 發表于 08-29 15:56 ?543次閱讀

    激光測距傳感器輸出什么信號

    激光測距傳感器輸出的信號類型多樣,這些信號類型根據應用場景、傳輸距離、抗電磁干擾能力等因素進行選擇。 一、激光測距
    的頭像 發表于 08-29 16:08 ?594次閱讀

    激光測距傳感器怎么接線

    激光測距傳感器是一種利用激光技術進行距離測量的傳感器,廣泛應用于工業自動化、機器人導航、無人駕駛等領域。 一、
    的頭像 發表于 08-29 16:13 ?806次閱讀
    主站蜘蛛池模板: 六月丁香六月婷婷| 高清毛片aaaaaaaaa片| 色播五月综合| 精品欧美小视频在线观看| 复古毛片| 美女和美女| 调教r18车肉高h男男| 男人不识本网站上遍色站也枉然| 韩日成人| 天天摸天天| 2022天天操| 美女扒开尿口让男人桶| 五月婷婷综合激情| 国产美女精品视频免费观看| 天天做夜夜做久久做狠狠| 黄黄视频免费看| 夜色福利久久久久久777777| 激情久久久久久久久久| 久久久久大香线焦| 椎名空中文字幕一区二区| 色老板在线视频一区二区| 久久久久毛片成人精品| 奇米福利视频| 中文字幕在线第一页| 三级特黄视频| 天天夜夜久久| 国内视频一区二区| 国产天堂网| 欧美最猛黑人xxxx黑人猛交黄| 淫www| 欧美黄色一级片视频| 日本wwwxx| 末发育女一区二区三区| 久久男人精品| 1024手机在线观看你懂的| 三级在线观看视频| 天天干在线观看| 亚洲三级在线看| 亚洲综合五月天欧美| 我被黑人巨大开嫩苞在线观看 | 亚洲色图日韩|