怎么用樹莓派來制作簡(jiǎn)單的遙控小車

這篇文章給大家分享的是有關(guān)怎么用樹莓派來制作簡(jiǎn)單的遙控小車的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

在威寧等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站制作,威寧網(wǎng)站建設(shè)費(fèi)用合理。

準(zhǔn)備工作

  1. 樹莓派,(本文使用的是Raspberry PI 2 B型,即2B)

  2. 8G以上TF卡 樹莓派上可用和不可用的SD卡列表

  3. 四驅(qū)小車底(含電機(jī),注:本文中的小車底盤佩戴的是高扭矩直流電機(jī))

  4. 母對(duì)母、公對(duì)母、公對(duì)公(可不用)杜邦線

  5. L298N雙HD橋電機(jī)驅(qū)動(dòng)板

  6. 無線網(wǎng)卡(最好支持AP的)

  7. 充電電池組(7V以上的,鎳氫或者18650充電電池皆可)

系統(tǒng)安裝沒什么說的,系統(tǒng)燒到SD就可以了,我使用的Raspbian,這貨是基于Debian的,配置命令習(xí)慣幾乎和ubuntu/debian一樣,接上網(wǎng)線開機(jī)進(jìn)入系統(tǒng)配置。

  • 換上中科大的源,再apt-get update一次;

  • 為root用戶設(shè)置密碼;

  • 配置無線網(wǎng)卡有兩中方案,編輯/etc/network/interface,網(wǎng)上教程蠻多的:

    1. 自動(dòng)連接到路由器,家里有無線路由器,小車在WIFI覆蓋的地方;

    2. 樹莓派上搭建WIFI熱點(diǎn),信號(hào)更好,可以在小區(qū)里面開,順便勾搭妹子,哦哦哦,不對(duì),應(yīng)該是淘氣小孩。唯一需要注意的是網(wǎng)卡芯片。

底盤組裝

  • 拼裝沒啥難度,亞克力板上的牛皮紙沾得簡(jiǎn)直是喪心病狂,馬蛋,廢了好一會(huì)兒功夫才撕干凈(⊙﹏⊙)b;

  • 馬達(dá)那貨就比較坑了,沒有帶線是裸機(jī)的,手中也恰巧沒有電烙鐵,當(dāng)時(shí)我就懵逼啦。好吧,手中還有多余的公對(duì)公杜邦線,拔掉其中一頭的接頭,打火機(jī)燒一下(小時(shí)候?qū)W會(huì)的神技),拔掉一部分把銅線擰緊。最后銅線穿過馬達(dá)接口的小洞里面,再擰緊。哎丫,沒有膠帶,最后用透明膠湊合湊合,綁緊。repeat 4次。

線路連接

之前一直沒玩過硬件,畢竟我只是一個(gè)網(wǎng)工出身的程序猿,第一次拿到L298N研究了好久才明白,還是上圖上圖。 怎么用樹莓派來制作簡(jiǎn)單的遙控小車

  1. +12V接口 +5V~+35V, 如需要板內(nèi)取電,則供電范圍Vs:+7V~+35V

  2. 電機(jī) OUT1、OUT2 為電機(jī)A輸出;OUT3、OUT4為電機(jī)B輸出

  3. IO接口 ENA和ENA分別為A、B電機(jī)的使能端,一開始ENA和ENB各自的上下兩個(gè)針腳是用跳線帽連接起來的,拔掉就可以接線了。 IN1-IN4 為IO控制輸入。

弄明白L298N之后,連接就方便多了,

  • OUT1 OUT2 連接小車左側(cè)前后兩個(gè)電機(jī)(并聯(lián)),之前電機(jī)接出來的杜邦線公頭直接往接口里面塞(好羞羞),擰緊螺絲;同理,OUT3 OUT4 連接小車右側(cè)前后兩個(gè)電機(jī);

  • 便宜的鎳氫電池組電源正負(fù)極分別連接12V、GND,電池組的接頭是JST母頭,比較好連接;

  • 5V和GND連接到樹莓派上的5V和GND用于供電。

  • ENA、ENB、IN1-IN4連接到樹莓派I/O端口上。

接好之后是這樣子:

怎么用樹莓派來制作簡(jiǎn)單的遙控小車

攝像頭模塊

攝像頭是好幾年前臺(tái)式機(jī)用的攝像頭,分辨率是奇葩的470x640,而不是480x640,mjpg-streamer下,畫面是花的,等到畫面調(diào)正常之后,畫面卻如放幻燈片一樣。我勒個(gè)去!攝像頭連接到裝了openwrt的wndr3800路由器上流暢的沒朋友,在樹莓派上調(diào)來調(diào)去卻怎么也不行,認(rèn)命了,放棄放棄,沒有攝像頭也能當(dāng)遙控車開。

小車遙控器

終于到了編程部分,為了簡(jiǎn)單,使用python的RPI.GPIO模塊來操作I/O,不過我發(fā)現(xiàn)功能蠻少的,沒找到調(diào)速的API,文檔在這里,代碼如下,輪子的參數(shù)視接的I/O口而定。

<!-- lang: python -->
import RPi.GPIO as gpio


class Wheel(object):
	def __init__(self, in_pin1, in_pin2, enable_pin1, enable_pin2):
		'''
		:param in_pin1 in_pin2: IN1 IN2 or IN3 IN4
		:param enable_pin1 enable_pin2: ENA or ENB
		'''
		self.pin1 = in_pin1
		self.pin2 = in_pin2

		# setup I/O OUT
		gpio.setup(in_pin1, gpio.OUT)
		gpio.setup(in_pin2, gpio.OUT)
		gpio.setup(enable_pin1, gpio.OUT)
		gpio.setup(enable_pin2, gpio.OUT)

		# enable
		gpio.output(enable_pin1, True)
		gpio.output(enable_pin2, True)

	def forward(self):
		gpio.output(self.pin1, True)
		gpio.output(self.pin2, False)

	def backward(self):
		gpio.output(self.pin1, False)
		gpio.output(self.pin2, True)

	def stop(self):
		gpio.output(self.pin1, False)
		gpio.output(self.pin2, False)


class Car(object):
	def __init__(self):
		gpio.setmode(gpio.BOARD)

		self.left_wheel = Wheel(13, 15, 7, 11)
		self.right_wheel = Wheel(16, 18, 22, 29)

	def forward(self):
		self.left_wheel.forward()
		self.right_wheel.forward()

	def backward(self):
		self.left_wheel.backward()
		self.right_wheel.backward()

	def left(self):
		self.left_wheel.stop()
		self.right_wheel.forward()

	def right(self):
		self.left_wheel.forward()
		self.right_wheel.stop()

	def stop(self):
		self.left_wheel.stop()
		self.right_wheel.stop()

	def shutdown(self):
		self.stop()
		gpio.cleanup()

感謝各位的閱讀!關(guān)于“怎么用樹莓派來制作簡(jiǎn)單的遙控小車”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

當(dāng)前題目:怎么用樹莓派來制作簡(jiǎn)單的遙控小車
轉(zhuǎn)載注明:http://muchs.cn/article34/pgojse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、搜索引擎優(yōu)化、定制開發(fā)、企業(yè)網(wǎng)站制作、虛擬主機(jī)手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)