0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Arduino采集雷達(dá)模塊數(shù)據(jù)與串口繪圖

單片機(jī)/嵌入式開發(fā) ? 來源:單片機(jī)/嵌入式開發(fā) ? 作者:單片機(jī)/嵌入式開發(fā) ? 2024-12-14 11:44 ? 次閱讀

Arduino 采集雷達(dá)模塊數(shù)據(jù)與串口繪圖

top.jpg

bottom.jpg

**當(dāng)采用串口輸出模式時(shí),雷達(dá)檢測到運(yùn)動(dòng)時(shí),則輸出 **v=0.0km/h, str=1234 字樣;

v 表示目標(biāo)速度大小,str 表示信號強(qiáng)度;

當(dāng)雷達(dá)檢測不到目標(biāo)時(shí),串口停止輸出。

UART_print.png

項(xiàng)目實(shí)現(xiàn)

**Arduino 串口采集雷達(dá)模塊數(shù)據(jù),并通過串口打印至接收窗口,繪制 **速度演化曲線信號強(qiáng)度演化曲線 。

原始代碼

void setup() 
{
  Serial.begin (115200);
  while (Serial.read() >= 0){}//clear serialbuffer
}
?
String comdata = "";
?
void loop() {
  if (Serial.available() > 0) 
  {
    char data = Serial.read();
    comdata += data;
    if (data == 'n')
    {
       Serial.println (comdata);
       comdata = "";
    }
  }
}

串口打印

Arduino_Print.png

注意到串口打印出的字符串既包含文字也包含數(shù)字,若要實(shí)現(xiàn)串口繪圖,則需將其中的數(shù)字部分提取出來。

代碼升級

String comdata = "";
void setup() 
{
  Serial.begin (115200);
  while (Serial.read() >= 0){}//clear serialbuffer
}
?
void loop() {
  if (Serial.available() > 0) 
  {
    char data = Serial.read();
    comdata += data;
    if (data == 'n')
    {
      // 分割字符串
      int separatorIndex = comdata.indexOf(','); // 假設(shè)分隔符為逗號
      if (separatorIndex != -1) 
      {
        String part1 = comdata.substring(0, separatorIndex); // 第一個(gè)部分
        String part2 = comdata.substring(separatorIndex + 1); // 第二個(gè)部分
        // 打印分割后的數(shù)據(jù)
        Serial.println(part1);
        Serial.println(part2);
      }
      comdata = "";
    }
  }
}

效果

UART_update.png

數(shù)字提取

**同理,對 **part1part2 進(jìn)行分離提取索引數(shù)字

String comdata = "";
void setup() 
{
  Serial.begin (115200);
  while (Serial.read() >= 0){}//clear serialbuffer
}
?
void loop() {
  if (Serial.available() > 0) 
  {
    char data = Serial.read();
    comdata += data;
    if (data == 'n')
    {// type of comdata: v=1.0 km/h, str=10151
      int separatorIndex = comdata.indexOf(','); // 假設(shè)分隔符為逗號
      if (separatorIndex != -1)
      {
        String part1 = comdata.substring(0, separatorIndex); // 第一個(gè)部分
        String part2 = comdata.substring(separatorIndex + 1); // 第二個(gè)部分
        // 打印分割后的數(shù)據(jù)
        //Serial.println(part1); // type of part1: v=1.0 km/h
        //Serial.println(part2); // type of part2:  str=10151
        /*------------ part1 : v=1.0 km/h ----------*/
        int part1separatorIndex = part1.indexOf('='); //index of '='
        if (part1separatorIndex != -1)
        {
          String vlc = part1.substring(part1separatorIndex + 1); // index of velocity, type of vlc is 1.0 km/h
          // vlc: 1.0 km/h
          int VLCseparatorIndex = vlc.indexOf(' '); // index of ' '
          String v = vlc.substring(0, VLCseparatorIndex);// v only include number
          float Vn = v.toFloat();
          Serial.print(Vn); // print velocity number
          Serial.print(',');
        }
        /*------------- part2 :  str=10151 ------------------*/
        int part2separatorIndex = part2.indexOf('='); //index of '='
        if (part2separatorIndex != -1)
        {
          String strng = part2.substring(part2separatorIndex + 1); // strng only include number
          int Sn = strng.toInt();
          Serial.print(Sn); // print strength number
        }
        Serial.println();
      }
      comdata = "";
    }
  }
}

流程圖

UART_plot_flowchart.jpg

串口打印數(shù)字

UART_num.png

串口繪圖

UART_plot_board.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 雷達(dá)
    +關(guān)注

    關(guān)注

    50

    文章

    2936

    瀏覽量

    117528
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1554

    瀏覽量

    76509
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6469

    瀏覽量

    187053
收藏 人收藏

    評論

    相關(guān)推薦

    TF系列激光雷達(dá)Arduino上的開發(fā)例程

    TF01、TF mini、TF20等)同樣適用,如果通信協(xié)議有改動(dòng),請參考程序?qū)?yīng)做出修改即可。最終結(jié)果,用Arduino雷達(dá)發(fā)送的數(shù)據(jù)按對應(yīng)協(xié)議正確解析,并發(fā)送到PC端,通過IDE上的串口
    發(fā)表于 11-22 11:12

    matlab串口讀取arduino數(shù)據(jù)

    我想用matlab讀arduino uno 串口數(shù)據(jù),是arduino uno上的電壓值,arduino uno 的波特率是115200,
    發(fā)表于 12-04 06:57

    串口數(shù)據(jù)繪圖軟件

    電子發(fā)燒友網(wǎng)站提供《串口數(shù)據(jù)繪圖軟件.exe》資料免費(fèi)下載
    發(fā)表于 08-21 14:10 ?19次下載

    基于FPGA的某型雷達(dá)視頻采集預(yù)處理模塊設(shè)計(jì)

    基于FPGA的某型雷達(dá)視頻采集預(yù)處理模塊設(shè)計(jì)
    發(fā)表于 08-30 15:10 ?34次下載

    串口繪圖小軟件SerialChart

    串口繪圖小軟件
    發(fā)表于 02-15 22:23 ?17次下載

    matlab串口數(shù)據(jù)采集

    本文主要介紹了matlab串口數(shù)據(jù)采集,matlab功能強(qiáng)大,串口操作也很簡單,通過以下幾個(gè)實(shí)例你就能掌握串口數(shù)據(jù)采集是怎么
    發(fā)表于 01-15 10:23 ?2.5w次閱讀
    matlab<b class='flag-5'>串口</b><b class='flag-5'>數(shù)據(jù)采集</b>

    基于FPGA的某型雷達(dá)視頻采集預(yù)處理模塊設(shè)計(jì)

    和定位等預(yù)處理操作,得到動(dòng)目標(biāo)在圖像中的相對坐標(biāo),采用串口設(shè)備與上位機(jī)進(jìn)行通信,將所得數(shù)據(jù)送往上位機(jī)。實(shí)驗(yàn)結(jié)果表明,該采集預(yù)處理模塊結(jié)構(gòu)簡單、運(yùn)行穩(wěn)定、
    發(fā)表于 02-01 16:11 ?14次下載
    基于FPGA的某型<b class='flag-5'>雷達(dá)</b>視頻<b class='flag-5'>采集</b>預(yù)處理<b class='flag-5'>模塊</b>設(shè)計(jì)

    arduino實(shí)時(shí)繪圖軟件

    電子發(fā)燒友網(wǎng)站提供《arduino實(shí)時(shí)繪圖軟件.zip》資料免費(fèi)下載
    發(fā)表于 11-07 15:27 ?2次下載
    <b class='flag-5'>arduino</b>實(shí)時(shí)<b class='flag-5'>繪圖</b>軟件

    使用Python進(jìn)行Arduino實(shí)時(shí)繪圖

    電子發(fā)燒友網(wǎng)站提供《使用Python進(jìn)行Arduino實(shí)時(shí)繪圖.zip》資料免費(fèi)下載
    發(fā)表于 11-08 11:59 ?1次下載
    使用Python進(jìn)行<b class='flag-5'>Arduino</b>實(shí)時(shí)<b class='flag-5'>繪圖</b>

    PENXZYL Arduino畫筆繪圖儀開源

    電子發(fā)燒友網(wǎng)站提供《PENXZYL Arduino畫筆繪圖儀開源.zip》資料免費(fèi)下載
    發(fā)表于 11-10 11:47 ?1次下載
    PENXZYL <b class='flag-5'>Arduino</b>畫筆<b class='flag-5'>繪圖</b>儀開源

    制作Arduino XY繪圖繪圖機(jī)器人極譜儀

    電子發(fā)燒友網(wǎng)站提供《制作Arduino XY繪圖繪圖機(jī)器人極譜儀.zip》資料免費(fèi)下載
    發(fā)表于 11-29 14:46 ?4次下載
    制作<b class='flag-5'>Arduino</b> XY<b class='flag-5'>繪圖</b>儀<b class='flag-5'>繪圖</b>機(jī)器人極譜儀

    Arduino串口數(shù)據(jù)采集

    電子發(fā)燒友網(wǎng)站提供《Arduino串口數(shù)據(jù)采集.zip》資料免費(fèi)下載
    發(fā)表于 01-04 09:44 ?0次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>串口</b><b class='flag-5'>數(shù)據(jù)采集</b>

    Arduino繪圖機(jī)器人開源分享

    電子發(fā)燒友網(wǎng)站提供《Arduino繪圖機(jī)器人開源分享.zip》資料免費(fèi)下載
    發(fā)表于 06-25 16:24 ?2次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>繪圖</b>機(jī)器人開源分享

    基于Arduino串口通信項(xiàng)目

    、Arduino Mega等。 USB數(shù)據(jù)線 :用于將Arduino開發(fā)板連接到計(jì)算機(jī)。 串口設(shè)備 :可以是另一個(gè)Arduino開發(fā)板、傳感
    的頭像 發(fā)表于 11-22 09:24 ?525次閱讀

    OLED 顯示雷達(dá)數(shù)據(jù)

    使用螢火工場CEM5826-M11雷達(dá)模塊Arduino IDE 編譯代碼,OLED顯示雷達(dá)數(shù)據(jù)
    的頭像 發(fā)表于 12-10 13:38 ?139次閱讀
    OLED 顯示<b class='flag-5'>雷達(dá)</b><b class='flag-5'>數(shù)據(jù)</b>