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

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

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

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

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

科技觀察員 ? 來(lái)源:八色木 ? 作者:八色木 ? 2022-04-08 16:38 ? 次閱讀

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

pYYBAGJP9IqAMIPBAAZE3Zjaj5c762.png

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

尋線機(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è)像樹莓派(Raspberry Pi)這樣的主控大腦,它會(huì)根據(jù)紅外傳線傳感器模塊的數(shù)值來(lái)指示電機(jī)工作。下面是一個(gè)簡(jiǎn)化的控制原理圖。

poYBAGJP9HqALLxlAABVA0zDZKA781.png

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

poYBAGJP9HeAMxZuAABrRKuB5KY622.png

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

poYBAGJP9HOAKPfJAACTT0bXj1c975.png

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

pYYBAGJP9G-Aegs6AACbgBqVebo814.png

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

pYYBAGJP9GuAdZSrAAAt05dhwkI794.png

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

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

poYBAGJP9GeAZsaTAAFz3C4rtc8222.png

在這個(gè)電路中,包含了兩個(gè)紅外線傳感器模塊和一對(duì)連接到樹莓派的直流電機(jī)。整個(gè)電路由一個(gè)移動(dòng)電源供電(在電路中用電池來(lái)表示)。同時(shí),由于樹莓派電路板上并沒(méi)有提供針腳的描述,我們需要用下面的圖片來(lái)驗(yàn)證每一個(gè)引腳的接口定義。圖片是基于樹莓派2B的,如果你采用樹莓派3B,也可以查閱: 樹莓派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è)引腳分別與樹莓派的GPIO14,4,17和18連接。電機(jī)與L293D電機(jī)驅(qū)動(dòng)模塊連接,驅(qū)動(dòng)模塊使用電池供電。一定要將電池的負(fù)極與樹莓派的接地連接起來(lái),這樣才能保證電路的正常工作。

樹莓派編程

首先需要導(dǎo)入GPIO,下面的函數(shù)是對(duì)樹莓派的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ì)收到警告。下面的命令是告訴樹莓派忽略警告繼續(xù)執(zhí)行程序。

IO.setwarnings(False)

我們可以參考樹莓派的GPIO引腳定義,無(wú)論是采用電路板上的引腳號(hào)碼或采用引腳的功能號(hào)碼,比如,電路板上的“PIN 29”是“GPIO5”。所以在這里,我們要用下面的代碼告訴樹莓派具體用的是“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-

完成變成后,我們可以在白色的瓷磚地面,用黑色膠帶粘貼出我們想要的軌道線形狀,這樣就可以開始享受機(jī)器人巡線的樂(lè)趣了。下面是完整的Python代碼,將其保存到樹莓派上,在樹莓派命令窗口中執(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)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    134

    文章

    9309

    瀏覽量

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

    關(guān)注

    0

    文章

    14

    瀏覽量

    6487
  • 樹莓派
    +關(guān)注

    關(guān)注

    121

    文章

    1946

    瀏覽量

    106989
收藏 人收藏

    評(píng)論

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

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

    在這個(gè)項(xiàng)目中,讓我們利用樹莓的力量來(lái)構(gòu)建個(gè)機(jī)器人,它可以跟蹤球并跟隨它,就像踢足球的機(jī)器人
    發(fā)表于 11-24 17:12 ?3050次閱讀
    如何利用<b class='flag-5'>樹莓</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è)高玩具變形和樹莓起玩出樂(lè)高機(jī)器人

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    如何利用樹莓搭建個(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>

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

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

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