国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

    如何使用樹(shù)莓派制作一個(gè)巡線機(jī)器人

    科技觀察員 ? 來(lái)源:八色木 ? 作者:八色木 ? 2022-04-08 16:38 ? 次閱讀
    加入交流群
    微信小助手二維碼

    掃碼添加小助手

    加入工程師交流群

    眾所周知,樹(shù)莓派是一個(gè)基于ARM微處理器的開(kāi)發(fā)平臺(tái)。憑借其強(qiáng)大的計(jì)算能力,它在廣大電子愛(ài)好者中經(jīng)常會(huì)創(chuàng)造出奇跡。為了更好地了解樹(shù)莓派及其工作原理,讓我們嘗試使用樹(shù)莓派制作一個(gè)巡線機(jī)器人。

    pYYBAGJP9IqAMIPBAAZE3Zjaj5c762.png

    如果你對(duì)機(jī)器人感興趣,那么你應(yīng)該非常熟悉“巡線機(jī)器人”這個(gè)名稱。這種機(jī)器人只需使用一對(duì)傳感器和馬達(dá)就能沿著線行走。使用樹(shù)莓派制造這樣一個(gè)機(jī)器人,會(huì)讓我們打開(kāi)更大的想象空間。

    尋線機(jī)器人的原理

    pYYBAGJP9IaAblWtAAHb6uCYPxQ842.png

    尋線機(jī)器人能夠在紅外傳感器的幫助下跟蹤線條。紅外線傳感器具有紅外線發(fā)射器和紅外線接收器,其中,紅外線發(fā)射器(紅外LED)主要發(fā)射光,它發(fā)射出的紅外線只有在被反射時(shí)才會(huì)返回。接收器(光電二極管)則等待接收返回后的紅外光。然而,不是所有的表面都能反射紅外線,只有白色的表面才能完全反射紅外線,而黑色的表面會(huì)吸收紅外光。

    poYBAGJP9ICAJT1MAABmT3tBP_Q848.png

    使用這樣的兩個(gè)紅外傳感器來(lái)隨時(shí)檢查機(jī)器人是否處于軌道上,如果機(jī)器人偏離軌道,我們就通過(guò)兩個(gè)電機(jī)來(lái)校正它。電機(jī)應(yīng)該是雙向旋轉(zhuǎn)的,而且需要的工作電流較大,因此,我們需要額外使用電機(jī)驅(qū)動(dòng)模塊,如L293D。機(jī)器人還需要一個(gè)像樹(shù)莓派(Raspberry Pi)這樣的主控大腦,它會(huì)根據(jù)紅外傳線傳感器模塊的數(shù)值來(lái)指示電機(jī)工作。下面是一個(gè)簡(jiǎn)化的控制原理圖。

    poYBAGJP9HqALLxlAABVA0zDZKA781.png

    兩個(gè)紅外傳感器被放置在軌道線的兩側(cè)。如果沒(méi)有傳感器檢測(cè)到黑線,樹(shù)莓派將命令電機(jī)向前移動(dòng),如下所示:

    poYBAGJP9HeAMxZuAABrRKuB5KY622.png

    如果左邊的傳感器檢測(cè)到黑線,那么樹(shù)莓派就會(huì)命令機(jī)器人,通過(guò)單獨(dú)旋轉(zhuǎn)右邊的輪子,使機(jī)器人向左轉(zhuǎn)。

    poYBAGJP9HOAKPfJAACTT0bXj1c975.png

    如果右邊的傳感器檢測(cè)到黑線,那么樹(shù)莓派就會(huì)命令機(jī)器人,通過(guò)單獨(dú)旋轉(zhuǎn)左邊的輪子,使機(jī)器人向右轉(zhuǎn)。

    pYYBAGJP9G-Aegs6AACbgBqVebo814.png

    如果兩個(gè)傳感器都檢測(cè)到黑線,機(jī)器人就會(huì)停止。

    pYYBAGJP9GuAdZSrAAAt05dhwkI794.png

    這樣,機(jī)器人就能夠在不脫離軌道的情況下沿著軌道線一直前進(jìn)。下面讓我們看看電路和代碼。

    樹(shù)莓派尋線機(jī)器人電路圖

    poYBAGJP9GeAZsaTAAFz3C4rtc8222.png

    在這個(gè)電路中,包含了兩個(gè)紅外線傳感器模塊和一對(duì)連接到樹(shù)莓派的直流電機(jī)。整個(gè)電路由一個(gè)移動(dòng)電源供電(在電路中用電池來(lái)表示)。同時(shí),由于樹(shù)莓派電路板上并沒(méi)有提供針腳的描述,我們需要用下面的圖片來(lái)驗(yàn)證每一個(gè)引腳的接口定義。圖片是基于樹(shù)莓派2B的,如果你采用樹(shù)莓派3B,也可以查閱: 樹(shù)莓派3的外圍I/O數(shù)據(jù)接口

    poYBAGJP9GKAIA8bAAHaeu47Zm8643.png

    如上圖所示,左上角的引腳是+5V引腳,我們使用這個(gè)+5V引腳給紅外傳感器供電,如圖所示(紅色線)。然后,我們用黑色線將GND引腳連接到紅外線傳感器和電機(jī)驅(qū)動(dòng)模塊的GND。黃線分別將傳感器1和2的輸出引腳與GPIO引腳2和3連接起來(lái)。同時(shí),要驅(qū)動(dòng)電機(jī),我們需要連接L293D電機(jī)驅(qū)動(dòng)板的四個(gè)引腳(A,B,A,B)。這四個(gè)引腳分別與樹(shù)莓派的GPIO14,4,17和18連接。電機(jī)與L293D電機(jī)驅(qū)動(dòng)模塊連接,驅(qū)動(dòng)模塊使用電池供電。一定要將電池的負(fù)極與樹(shù)莓派的接地連接起來(lái),這樣才能保證電路的正常工作。

    樹(shù)莓派編程

    首先需要導(dǎo)入GPIO,下面的函數(shù)是對(duì)樹(shù)莓派的GPIO引腳進(jìn)行編程。我們還將“GPIO”重命名為“IO”,所以在程序中,每當(dāng)我們想要引用GPIO引腳時(shí),我們都會(huì)使用“IO”這個(gè)詞。

    import RPi.GPIO as IO

    有時(shí),當(dāng)我們?cè)噲D使用某個(gè)GPIO引腳時(shí),可能它正在執(zhí)行一些其他功能。在這種情況下,當(dāng)我們執(zhí)行程序時(shí)會(huì)收到警告。下面的命令是告訴樹(shù)莓派忽略警告繼續(xù)執(zhí)行程序。

    IO.setwarnings(False)

    我們可以參考樹(shù)莓派的GPIO引腳定義,無(wú)論是采用電路板上的引腳號(hào)碼或采用引腳的功能號(hào)碼,比如,電路板上的“PIN 29”是“GPIO5”。所以在這里,我們要用下面的代碼告訴樹(shù)莓派具體用的是“29”還是“5”來(lái)表示引腳號(hào)。

    IO.setmode (IO.BCM)

    我們前面說(shuō)到,電路中將設(shè)置6個(gè)引腳作為輸入/輸出引腳。前兩個(gè)引腳是讀取紅外線傳感器數(shù)據(jù)的輸入引腳。后四個(gè)是輸出引腳,前兩個(gè)用于控制右電機(jī),后兩個(gè)用于控制左電機(jī)。

    IO.setup(2,IO.IN) #GPIO 2 -> Left IR out

    IO.setup(3,IO.IN) #GPIO 3 -> Right IR out

    IO.setup(4,IO.OUT) #GPIO 4 -> Motor 1 terminal A

    IO.setup(14,IO.OUT) #GPIO 14 -> Motor 1 terminal B

    IO.setup(17,IO.OUT) #GPIO 17 -> Motor Left terminal A

    IO.setup(18,IO.OUT) #GPIO 18 -> Motor Left terminal B

    紅外傳感器如果檢測(cè)到白色的面,將輸出“True”,所以只要兩個(gè)傳感器的狀態(tài)都是“True”,機(jī)器人就可以繼續(xù)前進(jìn)。

    if(IO.input(2)==True and IO.input(3)==True): #both white move forward

    IO.output(4,True) #1A+

    IO.output(14,False) #1B-

    IO.output(17,True) #2A+

    IO.output(18,False) #2B-

    如果右邊的紅外傳感器檢測(cè)到黑線,機(jī)器人將執(zhí)行右轉(zhuǎn)動(dòng)作。當(dāng)條件滿足時(shí),停止右電機(jī),單獨(dú)旋轉(zhuǎn)左電機(jī),如下面的代碼所示:

    elif(IO.input(2)==False and IO.input(3)==True): #turn right

    IO.output(4,True) #1A+

    IO.output(14,True) #1B-

    IO.output(17,True) #2A+

    IO.output(18,False) #2B-

    如果左紅外傳感器檢測(cè)到黑線,機(jī)器人將執(zhí)行左轉(zhuǎn)動(dòng)作。當(dāng)條件滿足時(shí),停止左電機(jī),單獨(dú)旋轉(zhuǎn)右電機(jī),如下面的代碼所示:

    elif(IO.input(2)==True and IO.input(3)==False): #turn left

    IO.output(4,True) #1A+

    IO.output(14,False) #1B-

    IO.output(17,True) #2A+

    IO.output(18,True) #2B-

    如果兩個(gè)傳感器都檢測(cè)到黑線,這意味著機(jī)器人執(zhí)行停止動(dòng)作。這可以通過(guò)設(shè)置電機(jī)的兩個(gè)端子都為“True”來(lái)實(shí)現(xiàn),如下面的代碼所示:

    else: #stay still

    IO.output(4,True) #1A+

    IO.output(14,True) #1B-

    IO.output(17,True) #2A+

    IO.output(18,True) #2B-

    完成變成后,我們可以在白色的瓷磚地面,用黑色膠帶粘貼出我們想要的軌道線形狀,這樣就可以開(kāi)始享受機(jī)器人巡線的樂(lè)趣了。下面是完整的Python代碼,將其保存到樹(shù)莓派上,在樹(shù)莓派命令窗口中執(zhí)行代碼即可。

    import RPi.GPIO as IO

    import time

    IO.setwarnings(False)

    IO.setmode(IO.BCM)

    IO.setup(2,IO.IN) #GPIO 2 -> Left IR out

    IO.setup(3,IO.IN) #GPIO 3 -> Right IR out

    IO.setup(4,IO.OUT) #GPIO 4 -> Motor 1 terminal A

    IO.setup(14,IO.OUT) #GPIO 14 -> Motor 1 terminal B

    IO.setup(17,IO.OUT) #GPIO 17 -> Motor Left terminal A

    IO.setup(18,IO.OUT) #GPIO 18 -> Motor Left terminal B

    while 1:

    if(IO.input(2)==True and IO.input(3)==True): #both while move forward

    IO.output(4,True) #1A+

    IO.output(14,False) #1B-

    IO.output(17,True) #2A+

    IO.output(18,False) #2B-

    elif(IO.input(2)==False and IO.input(3)==True): #turn right

    IO.output(4,True) #1A+

    IO.output(14,True) #1B-

    IO.output(17,True) #2A+

    IO.output(18,False) #2B-

    elif(IO.input(2)==True and IO.input(3)==False): #turn left

    IO.output(4,True) #1A+

    IO.output(14,False) #1B-

    IO.output(17,True) #2A+

    IO.output(18,True) #2B-

    else: #stay still

    IO.output(4,True) #1A+

    IO.output(14,True) #1B-

    IO.output(17,True) #2A+

    IO.output(18,True) #2B-

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

      關(guān)注

      135

      文章

      9552

      瀏覽量

      391825
    • 巡線機(jī)器人
      +關(guān)注

      關(guān)注

      0

      文章

      14

      瀏覽量

      6541
    • 樹(shù)莓派
      +關(guān)注

      關(guān)注

      122

      文章

      2078

      瀏覽量

      110454
    收藏 人收藏
    加入交流群
    微信小助手二維碼

    掃碼添加小助手

    加入工程師交流群

      評(píng)論

      相關(guān)推薦
      熱點(diǎn)推薦

      如何利用樹(shù)莓構(gòu)建個(gè)跟隨機(jī)器人

      在這個(gè)項(xiàng)目中,讓我們利用樹(shù)莓的力量來(lái)構(gòu)建個(gè)機(jī)器人,它可以跟蹤球并跟隨它,就像踢足球的機(jī)器人
      發(fā)表于 11-24 17:12 ?3505次閱讀
      如何利用<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>構(gòu)建<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>跟隨<b class='flag-5'>機(jī)器人</b>

      變形樂(lè)高玩具變形和樹(shù)莓起玩出樂(lè)高機(jī)器人

      玩法。1.樂(lè)高做樹(shù)莓底盤(pán)嗯,基本沒(méi)啥技術(shù)含量,5歲小孩子所擁有的動(dòng)手能力就夠了。2.樹(shù)莓做樂(lè)高核心這個(gè)就很可怕了!樂(lè)高加上樹(shù)莓
      發(fā)表于 09-02 14:26

      樹(shù)莓打造視頻監(jiān)控機(jī)器人Verybot

      `在網(wǎng)上有看到個(gè)基于樹(shù)莓 ( raspberry pi ) 的視頻監(jiān)控機(jī)器人平臺(tái) Verybot ,順帶把這個(gè)
      發(fā)表于 09-18 15:33

      有關(guān)樹(shù)莓制作機(jī)器人平臺(tái)的探索

      最近打算用樹(shù)莓個(gè)機(jī)器人平臺(tái),原因如下: 1.樹(shù)莓帶系統(tǒng) 帶個(gè)小顯示屏搞
      發(fā)表于 11-10 10:19

      請(qǐng)教利用樹(shù)莓制作六足機(jī)器人的問(wèn)題

      本人新手,最近在準(zhǔn)備制作個(gè)六足機(jī)器人,如果利用舵機(jī)控制器+遙控手柄套件的話,可以很容易就實(shí)現(xiàn)簡(jiǎn)單的功能。為了能讓六足機(jī)器人實(shí)現(xiàn)更加復(fù)雜的功
      發(fā)表于 11-10 15:33

      樹(shù)莓語(yǔ)音識(shí)別機(jī)器人(下)

      `樹(shù)莓語(yǔ)音識(shí)別機(jī)器人(上)第四步:聲卡盡管有音頻輸出口可以連接音箱或耳機(jī),但為了獲得更好的音質(zhì),我們將外置聲卡材料:1. 樹(shù)莓2. US
      發(fā)表于 01-20 10:59

      高速機(jī)器人 精選資料分享

      高速機(jī)器人卓大大!這個(gè)小車(chē)好厲害的,還能飛檐走壁,智能車(chē)啥時(shí)候也這樣?▲ 敏捷
      發(fā)表于 07-22 09:07

      請(qǐng)問(wèn)下怎樣去設(shè)計(jì)種基于PID算法的機(jī)器人

      怎樣去設(shè)計(jì)種基于PID算法的機(jī)器人?基于PID算法的
      發(fā)表于 07-27 06:54

      如何使用樹(shù)莓開(kāi)發(fā)智能機(jī)器人控制系統(tǒng)

      樹(shù)莓和其他機(jī)器人的控制器有何不同?如何使用樹(shù)莓開(kāi)發(fā)智能機(jī)器人控制系統(tǒng)?
      發(fā)表于 12-23 06:55

      如何利用樹(shù)莓搭建個(gè)完整的機(jī)器人系統(tǒng)?

      如何利用樹(shù)莓搭建個(gè)完整的機(jī)器人系統(tǒng)?
      發(fā)表于 01-18 06:37

      用Arduino和L298制作帶有避障機(jī)器人

      電子發(fā)燒友網(wǎng)站提供《用Arduino和L298制作帶有避障機(jī)器人器.zip》資料免費(fèi)下載
      發(fā)表于 01-31 09:31 ?1次下載
      用Arduino和L298<b class='flag-5'>制作</b>帶有避障<b class='flag-5'>機(jī)器人</b>的<b class='flag-5'>巡</b><b class='flag-5'>線</b>器

      Arduino機(jī)器人

      電子發(fā)燒友網(wǎng)站提供《Arduino機(jī)器人.zip》資料免費(fèi)下載
      發(fā)表于 02-09 09:46 ?0次下載
      Arduino<b class='flag-5'>巡</b><b class='flag-5'>線</b><b class='flag-5'>機(jī)器人</b>

      樹(shù)莓機(jī)器人船構(gòu)建

      電子發(fā)燒友網(wǎng)站提供《樹(shù)莓機(jī)器人船構(gòu)建.zip》資料免費(fèi)下載
      發(fā)表于 07-10 11:33 ?0次下載
      <b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b><b class='flag-5'>機(jī)器人</b>船構(gòu)建

      機(jī)器人電路圖 機(jī)器人的工作原理和應(yīng)用領(lǐng)域

      分析。本文將詳細(xì)闡述機(jī)器人的定義、工作原理及其在多個(gè)領(lǐng)域的應(yīng)用,以及還將分享
      的頭像 發(fā)表于 07-04 17:02 ?5734次閱讀
      <b class='flag-5'>巡</b><b class='flag-5'>線</b><b class='flag-5'>機(jī)器人</b>電路圖 <b class='flag-5'>巡</b><b class='flag-5'>線</b><b class='flag-5'>機(jī)器人</b>的工作原理和應(yīng)用領(lǐng)域

      能夠精準(zhǔn)定位的樹(shù)莓機(jī)器人

      SenseHATx1導(dǎo)航需要用到SenseHAT擴(kuò)展板。樹(shù)莓3ModelBx1此項(xiàng)目中,我使用了三個(gè)樹(shù)莓模塊。項(xiàng)目背景項(xiàng)目介紹我為
      的頭像 發(fā)表于 05-17 08:33 ?1223次閱讀
      能夠精準(zhǔn)定位的<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b><b class='flag-5'>機(jī)器人</b>!