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

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

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

3天內不再提示

如何使用樹莓派制作一個巡線機器人

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

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

pYYBAGJP9IqAMIPBAAZE3Zjaj5c762.png

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

尋線機器人的原理

pYYBAGJP9IaAblWtAAHb6uCYPxQ842.png

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

poYBAGJP9ICAJT1MAABmT3tBP_Q848.png

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

poYBAGJP9HqALLxlAABVA0zDZKA781.png

兩個紅外傳感器被放置在軌道線的兩側。如果沒有傳感器檢測到黑線,樹莓派將命令電機向前移動,如下所示:

poYBAGJP9HeAMxZuAABrRKuB5KY622.png

如果左邊的傳感器檢測到黑線,那么樹莓派就會命令機器人,通過單獨旋轉右邊的輪子,使機器人向左轉。

poYBAGJP9HOAKPfJAACTT0bXj1c975.png

如果右邊的傳感器檢測到黑線,那么樹莓派就會命令機器人,通過單獨旋轉左邊的輪子,使機器人向右轉。

pYYBAGJP9G-Aegs6AACbgBqVebo814.png

如果兩個傳感器都檢測到黑線,機器人就會停止。

pYYBAGJP9GuAdZSrAAAt05dhwkI794.png

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

樹莓派尋線機器人電路圖

poYBAGJP9GeAZsaTAAFz3C4rtc8222.png

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

poYBAGJP9GKAIA8bAAHaeu47Zm8643.png

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

樹莓派編程

首先需要導入GPIO,下面的函數是對樹莓派的GPIO引腳進行編程。我們還將“GPIO”重命名為“IO”,所以在程序中,每當我們想要引用GPIO引腳時,我們都會使用“IO”這個詞。

import RPi.GPIO as IO

有時,當我們試圖使用某個GPIO引腳時,可能它正在執行一些其他功能。在這種情況下,當我們執行程序時會收到警告。下面的命令是告訴樹莓派忽略警告繼續執行程序。

IO.setwarnings(False)

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

IO.setmode (IO.BCM)

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

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

紅外傳感器如果檢測到白色的面,將輸出“True”,所以只要兩個傳感器的狀態都是“True”,機器人就可以繼續前進。

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-

如果右邊的紅外傳感器檢測到黑線,機器人將執行右轉動作。當條件滿足時,停止右電機,單獨旋轉左電機,如下面的代碼所示:

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-

如果兩個傳感器都檢測到黑線,這意味著機器人執行停止動作。這可以通過設置電機的兩個端子都為“True”來實現,如下面的代碼所示:

else: #stay still

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

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

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

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

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

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-

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

    關注

    134

    文章

    9097

    瀏覽量

    367585
  • 巡線機器人
    +關注

    關注

    0

    文章

    14

    瀏覽量

    6430
  • 樹莓派
    +關注

    關注

    116

    文章

    1707

    瀏覽量

    105648
收藏 人收藏

    評論

    相關推薦

    如何利用樹莓構建跟隨機器人

    在這個項目中,讓我們利用樹莓的力量來構建機器人,它可以跟蹤球并跟隨它,就像踢足球的機器人
    發表于 11-24 17:12 ?2717次閱讀
    如何利用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>構建<b class='flag-5'>一</b><b class='flag-5'>個</b>跟隨<b class='flag-5'>機器人</b>

    變形樂高玩具變形和樹莓起玩出樂高機器人

    玩法。1.樂高做樹莓底盤嗯,基本沒啥技術含量,5歲小孩子所擁有的動手能力就夠了。2.樹莓做樂高核心這個就很可怕了!樂高加上樹莓
    發表于 09-02 14:26

    樹莓打造視頻監控機器人Verybot

    `在網上有看到基于樹莓 ( raspberry pi ) 的視頻監控機器人平臺 Verybot ,順帶把這個
    發表于 09-18 15:33

    有關樹莓制作機器人平臺的探索

    最近打算用樹莓機器人平臺,原因如下: 1.樹莓帶系統 帶個小顯示屏搞
    發表于 11-10 10:19

    請教利用樹莓制作六足機器人的問題

    本人新手,最近在準備制作六足機器人,如果利用舵機控制器+遙控手柄套件的話,可以很容易就實現簡單的功能。為了能讓六足機器人實現更加復雜的功
    發表于 11-10 15:33

    樹莓語音識別機器人(下)

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

    10分鐘,DIY樹莓版TH Robot WiFi視頻小車機器人

    樹莓核心的TH Robot WiFi視頻小車機器人!首先是器件說明,由于樹莓已經集成了WiFi功能,所以無需外接WiFi模塊,所有的部
    發表于 04-08 22:11

    高速機器人 精選資料分享

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

    請問下怎樣去設計種基于PID算法的機器人

    怎樣去設計種基于PID算法的機器人?基于PID算法的
    發表于 07-27 06:54

    如何使用樹莓開發智能機器人控制系統

    樹莓和其他機器人的控制器有何不同?如何使用樹莓開發智能機器人控制系統?
    發表于 12-23 06:55

    如何利用樹莓搭建完整的機器人系統?

    如何利用樹莓搭建完整的機器人系統?
    發表于 01-18 06:37

    用Arduino和L298制作帶有避障機器人

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

    Arduino機器人

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

    樹莓機器人船構建

    電子發燒友網站提供《樹莓機器人船構建.zip》資料免費下載
    發表于 07-10 11:33 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>機器人</b>船構建

    機器人電路圖 機器人的工作原理和應用領域

    分析。本文將詳細闡述機器人的定義、工作原理及其在多個領域的應用,以及還將分享
    的頭像 發表于 07-04 17:02 ?1574次閱讀
    <b class='flag-5'>巡</b><b class='flag-5'>線</b><b class='flag-5'>機器人</b>電路圖 <b class='flag-5'>巡</b><b class='flag-5'>線</b><b class='flag-5'>機器人</b>的工作原理和應用領域
    主站蜘蛛池模板: 中国一级生活片| a黄网站| 妖精视频永久在线入口| 日本不卡高清免费v日本| cum4k在线| 欧美极品第一页| 婷婷九月丁香| 国产成人精品亚洲| 国产成人影视| 一级毛片在播放免费| 国内自拍 亚洲系列 欧美系列| 日在线视频| 精品一区亚洲| 久久综合狠狠综合久久| 免费特黄视频| 综合欧美亚洲| 国产欧美日韩在线人成aaaa| 国产高清区| 婷婷99视频精品全部在线观看| 成人女人a毛片在线看| 亚洲va老文色欧美黄大片人人| 亚洲国产精品综合久久网络| 国产色视频在线| aa亚洲| 色人久久| 手机在线视频你懂的| 黄网站免费视频| 好色成人网| 人人爽影院| 日本三级精品| 日本黄页网| 性欧美久久| 午夜高清视频| 不卡免费在线视频| 岛国中文字幕| 中文字幕 亚洲一区| 女人大毛片一级毛片一| 国产香蕉精品视频在| 五月亭亭免费高清在线| 五月天伦理| 中国国产aa一级毛片|