女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

如何制作一個智能尋路+避障的小車?

芯片開放社區 ? 來源:芯片開放社區 ? 2022-12-22 14:27 ? 次閱讀

本文源自“玄鐵杯第二屆RISC-V應用創新大賽”活動,由OCC整理發布。

本項目利用D1 Dock Pro的USB拍照程序,結合L298N電機驅動模塊和紅外探測循跡光電傳感器模塊,制作了一個擁有智能尋路+避障功能的小車。該項目為“玄鐵杯第二屆RISC-V應用創新大賽”活動中的優秀作品。

關于自動尋路小車的技術細節,請看本文詳細介紹。

01項目介紹

隨著我國人工智能技術的進一步發展,自動駕駛汽車吸引了越來越多的目光,巡線是其行走控制方法之一,人們對智能循跡小車適應各種復雜路況的性能、安全平穩性等的要求越來越高,所以我們小組想要做一個智能尋路+避障小車。

fb0635c0-81b0-11ed-8abf-dac502259ad0.jpg

智能小車成品

02Demo的整體框架

fb459b8e-81b0-11ed-8abf-dac502259ad0.jpg

03具體實施方案

1. 首先,根據哪吒開發板的原理框圖了解開發板的工作原理,不同類型的引腳能實行怎樣的功能,怎么使各引腳工作起來。

2. 在電腦上安裝Ubuntu環境,進行編譯環境配置,源碼下載,編譯和燒寫。

3. 成功嘗試了使用哪吒開發板運行的第一個HelloWorld程序和USB拍照程序。

4. 上網購買智能小車的所有部件:1個亞克力雙層智能小車套件;2個L298N電機驅動模塊;三種類型的杜邦線各一排;1個四路紅外探測循跡光電傳感器模塊;4節5號電池。

5. 安裝、連接、測試小車的行走功能。

6. 編寫代碼,調節紅外探測的靈敏度使小車能夠較為準確地感知周圍環境并且運行測試成功。

7. 調試代碼,完善小車的功能。

fb93278c-81b0-11ed-8abf-dac502259ad0.jpg

04軟件、硬件介紹

軟件:Oracle VM VirtualBox Ubuntu 14.04虛擬機系統、全志USB燒錄驅動、AllwinnertechPhoeniSuitRelease工具。

硬件:哪吒開發板、USB數據傳輸、USB供電、海康威視攝像機、組裝好的智能小車。

05作品源碼

#include
#include
#include
#include 
#define EXPORT_GPIO1 "echo 2027 > /sys/class/gpio/export"
#define EXPORT_GPIO2 "echo 2020 > /sys/class/gpio/export"
#define EXPORT_GPIO3 "echo 2021 > /sys/class/gpio/export"
#define EXPORT_GPIO4 "echo 2022 > /sys/class/gpio/export"

#define UEXPORT_GPIO1 "echo 2027 > /sys/class/gpio/unexport"
#define UEXPORT_GPIO2 "echo 2020 > /sys/class/gpio/unexport"
#define UEXPORT_GPIO3 "echo 2021 > /sys/class/gpio/unexport"
#define UEXPORT_GPIO4 "echo 2022 > /sys/class/gpio/unexport"

#define GPIO1_OUTPUT "echo out > /sys/class/gpio/gpio2027/direction"
#define GPIO2_OUTPUT "echo out > /sys/class/gpio/gpio2020/direction"
#define GPIO3_OUTPUT "echo out > /sys/class/gpio/gpio2021/direction"
#define GPIO4_OUTPUT "echo out > /sys/class/gpio/gpio2022/direction"

#define LOWGPIO1 "echo 0 > /sys/class/gpio/gpio2027/value"
#define LOWGPIO2 "echo 0 > /sys/class/gpio/gpio2020/value"
#define LOWGPIO3 "echo 0 > /sys/class/gpio/gpio2021/value"
#define LOWGPIO4 "echo 0 > /sys/class/gpio/gpio2022/value"

#define HIGHGPIO1 "echo 1 > /sys/class/gpio/gpio2027/value"
#define HIGHGPIO2 "echo 1 > /sys/class/gpio/gpio2020/value"
#define HIGHGPIO3 "echo 1 > /sys/class/gpio/gpio2021/value"
#define HIGHGPIO4 "echo 1 > /sys/class/gpio/gpio2022/value"

//紅外
#define EXPORT_HW1 "echo 2023 > /sys/class/gpio/export"
#define EXPORT_HW2 "echo 2024 > /sys/class/gpio/export"
#define EXPORT_HW3 "echo 2025 > /sys/class/gpio/export"
#define EXPORT_HW4 "echo 2026 > /sys/class/gpio/export"

#define HW1_INPUT "echo in > /sys/class/gpio/gpio2023/direction"
#define HW2_INPUT "echo in > /sys/class/gpio/gpio2024/direction"
#define HW3_INPUT "echo in > /sys/class/gpio/gpio2025/direction"
#define HW4_INPUT "echo in > /sys/class/gpio/gpio2026/direction"

#define UNEXPORT_HW1 "echo 2023 > /sys/class/gpio/unexport"
#define UNEXPORT_HW2 "echo 2024 > /sys/class/gpio/unexport"
#define UNEXPORT_HW3 "echo 2025 > /sys/class/gpio/unexport"
#define UNEXPORT_HW4 "echo 2026 > /sys/class/gpio/unexport"

#define run 1
#define left 3
#define right 4
#define back 2
#define stop 5

void INIT()
{

system(EXPORT_GPIO1);
system(EXPORT_GPIO2);
system(EXPORT_GPIO3);
system(EXPORT_GPIO4);

system(EXPORT_HW1);
system(EXPORT_HW2);
system(EXPORT_HW3);
system(EXPORT_HW4);

system(GPIO1_OUTPUT);
system(GPIO2_OUTPUT);
system(GPIO3_OUTPUT);
system(GPIO4_OUTPUT);

system(HW1_INPUT);
system(HW2_INPUT);
system(HW3_INPUT);
system(HW4_INPUT);
//printf("1
");

}

void RUN()
{
system(LOWGPIO1);//0
system(HIGHGPIO2);//1
system(HIGHGPIO3);//1
system(LOWGPIO4);//0
//printf("2
");

}
void STOP()
{
system(LOWGPIO1);
system(LOWGPIO2);
system(LOWGPIO3);
system(LOWGPIO4);
//printf("3
");
}
void LEFT()
{
system(LOWGPIO1);//0
system(HIGHGPIO2);//1
system(HIGHGPIO3);//1
system(HIGHGPIO4);//1
}
void RIGHT()
{
system(HIGHGPIO1);//1
system(HIGHGPIO2);//1
system(HIGHGPIO3);//1
system(LOWGPIO4);//0
}
void BACK()
{
system(HIGHGPIO1);//1
system(LOWGPIO2);//0
system(LOWGPIO3);//0
system(HIGHGPIO4);//1
}
void MOTORRUN(int cmd)
{
  switch(cmd)
  {
  case 1:
  RUN();
  break;
  case 2:
  BACK();
  break;
  case 3:
  LEFT();
  break;
  case 4:
  RIGHT();
  break;
  case 5:
  STOP();
  break;
  }
}
int GETHW(int gpio)
{

    char path[64];
    char value_str[3];
    int fd;

    snprintf(path, sizeof(path), "/sys/class/gpio/gpio%d/value", gpio);
    fd = open(path, O_RDONLY);
    if (fd < 0) {
        perror("Failed to open gpio value for reading!");
        return -1;
    }

    if (read(fd, value_str, 3) < 0) {
        perror("Failed to read value!");
        return -1;
    }

    close(fd);
    return (atoi(value_str));
}

void TRACE()
{
int l1=GETHW(2023);
int l2=GETHW(2024);
int r1=GETHW(2025);
int r2=GETHW(2026);
//printf("%d,%d,%d,%d",l1,l2,r1,r2);
if(l1&&l2&&r1&&r2){
MOTORRUN(run);
printf("直走
");
}
else if(l1+l2r1+r2){
//MOTORRUN(back);
printf("左轉
");
sleep(0.5);
MOTORRUN(left);
}
else if(!r1&&!r2&&!l1&&!l2){
            printf("停止
");
MOTORRUN(stop);
}

}

int main(void)
{
INIT();
while(1)
{
 TRACE();
// printf("2022");
// sleep(1); 
// RUN();
 sleep(0.5);
// STOP();
 }return 0;

}

審核編輯:湯梓紅

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

    關注

    2562

    文章

    52524

    瀏覽量

    763414
  • 智能小車
    +關注

    關注

    87

    文章

    553

    瀏覽量

    82235
  • 自動駕駛
    +關注

    關注

    788

    文章

    14189

    瀏覽量

    169418
  • RISC-V
    +關注

    關注

    46

    文章

    2477

    瀏覽量

    48229

原文標題:應用速遞 | 如何制作一個智能尋路+避障的小車?

文章出處:【微信號:芯片開放社區,微信公眾號:芯片開放社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    智能小車

    求各位大神給智能小車的protel電路圖和pcb圖,有的發到772478656@qq.com不勝感激。
    發表于 10-24 10:54

    【mBot申請】智能小車

    的學習記錄,與學友們分享入門過程中的各種問題。全面拆解這臺機器人,并完成小項目。項目描述:全面拆解學習,并利用開發套件平臺,實現小車線,
    發表于 11-11 11:02

    款5循跡3藍牙多功能小車

    月,最終定型。本款產品求真電子科技工作室擁有完全自主知識產權。并且外觀設計已申請專利。自學成才兩驅智能小車功能如下:第部分:作為智能小車
    發表于 03-17 22:12

    循跡小車

    我是名電子信息工程的大新生,目前沒有學習專業知識,想要自己做一個循跡小車,想要
    發表于 10-02 00:09

    請問循跡當中的四循跡模塊與紅外光&模塊有什么區別?

    `本人在做arduino小車,其中用到的兩模塊——四循跡與紅外
    發表于 02-01 10:53

    小車

    怎樣能把光和超聲波更有效的結合啊?
    發表于 03-28 09:09

    如何去實現種基于單片機智能循線智能小車系統設計

    智能小車采用后輪驅動,兩輪各用步進電機執行,速度檢測的傳感器采用紅外對射式,
    發表于 12-13 07:09

    基于STM32的循跡小車制作

    寫在最前:最近由于需要制作循跡小車制作
    發表于 01-05 07:48

    紅外小車設計論文

    紅外小車設計論文紅外小車設計論文紅外
    發表于 11-13 15:57 ?0次下載

    尋跡小車

    尋跡小車尋跡
    發表于 11-13 15:53 ?0次下載

    具有密碼保護功能的智能小車的設計與制作_夏雄平

    具有密碼保護功能的智能小車的設計與制作_夏雄平
    發表于 01-19 21:54 ?1次下載

    基于紅外智能小車的設計_強彥

    基于紅外智能小車的設計_強彥
    發表于 01-21 12:16 ?28次下載

    智能循跡小車設計與實現

    智能循跡小車設計與實現
    發表于 06-06 08:48 ?309次下載

    紅外小車原理介紹及制作

    紅外小車原理介紹及制作
    發表于 07-18 09:39 ?53次下載

    怎樣制作小車

    本項目是在 PVCBOT-A型 基礎平臺車——BEAM小車的基礎上,加裝了傳感器以及控制電路,組成了臺具體有
    的頭像 發表于 09-18 09:35 ?1.9w次閱讀