資料介紹
描述
1. 項(xiàng)目理念
我之前使用 Node.js 制作了一個(gè)網(wǎng)頁(yè)控制的流動(dòng)站,你可以在這里查看。所以這次做了一些升級(jí),我決定做一個(gè)“聲控避障漫游車”。
2. 項(xiàng)目目標(biāo)
通過(guò)從移動(dòng)網(wǎng)頁(yè)向流動(dòng)站發(fā)出語(yǔ)音命令來(lái)遠(yuǎn)程控制流動(dòng)站,并在它遇到任何障礙物時(shí)自動(dòng)檢測(cè)并停止。
3. 先決條件
您需要具備 Node、socket 編程和 L298 電機(jī)驅(qū)動(dòng)器工作的一些基本知識(shí)。
4. 要求
- 1 Arduino Uno
- 1 L298 電機(jī)驅(qū)動(dòng)器
- HC-05 藍(lán)牙模塊
- HC-SR04 超聲波傳感器
- 跳線
- 2 節(jié)電池 – 每節(jié) 9 伏
- 2 個(gè)齒輪馬達(dá)(6-9 伏)
- 2 個(gè)兼容的車輪
- 機(jī)殼
- 為我們的服務(wù)器安裝了 Node.js 的計(jì)算機(jī)。
5. 建造漫游者
要建造這個(gè)流動(dòng)站,您需要購(gòu)買一個(gè)“2 輪底盤套件”,該套件可在網(wǎng)上輕松獲得,并隨附所有組裝單元。
我們的 Arduino Uno 和 L298 電機(jī)驅(qū)動(dòng)器嵌入在我們的機(jī)箱頂部,兩者均由兩個(gè) ??9 伏電池分別供電。
反過(guò)來(lái),Arduino Uno 將為 HC-05 藍(lán)牙模塊供電,該模塊將與我們的服務(wù)器通信。反過(guò)來(lái),L298 電機(jī)驅(qū)動(dòng)器將通過(guò)其 5V 輸出引腳為 HC-SR04 超聲波傳感器供電。
6.電路圖
如上電路圖所示,L298 電機(jī)驅(qū)動(dòng)器由 9V 電池供電,兩個(gè)電機(jī)控制輸出連接到電機(jī) A 和電機(jī) B,由于電機(jī)沒(méi)有極性,您可以連接任何端子,但請(qǐng)確保兩臺(tái)電機(jī)同向旋轉(zhuǎn)。
L298 還將通過(guò)其 5V 輸出引腳為我們的 HC-SR04 超聲波模塊供電,如上圖所示。不要移除 5V 穩(wěn)壓器跳線。
注意:如果給 L298 供電超過(guò) 12 伏,板載 5V 穩(wěn)壓器會(huì)損壞。
Arduino Uno 也由 9V 電池供電,其正極端子連接到 Arduino 的 Vin 引腳,負(fù)極端子連接到公共地。Arduino 反過(guò)來(lái)會(huì)為藍(lán)牙模塊供電,因此將 HC-05 的 Vcc 引腳連接到 Arduino 的 5V 和 GND 到地。
對(duì)于 HC-05 和 Arduino 之間的串行通信,將 HC-05 的 TXD 引腳連接到 Arduino 的 RX 引腳,將 HC-05 的 RXD 引腳連接到 Arduino 的 TX 引腳。
現(xiàn)在要控制 L298 模塊,您可以將 EN1 和 EN2 引腳連接到 Arduino 的任何 PWM 引腳。然后將L298的輸入引腳-1、2、3、4與Arduino的任意數(shù)字引腳連接。
7.數(shù)據(jù)傳輸
如上圖所示,是數(shù)據(jù)傳輸示意圖。
- 用戶將打開節(jié)點(diǎn)服務(wù)器提供的網(wǎng)頁(yè)。移動(dòng)和節(jié)點(diǎn)服務(wù)器都應(yīng)該連接到同一個(gè)互聯(lián)網(wǎng)網(wǎng)絡(luò)。URL 將是帶有端口號(hào)的 IP 地址,例如“192.XXX.XXX.129:8080”。
- 用戶向網(wǎng)頁(yè)發(fā)出語(yǔ)音命令,網(wǎng)頁(yè)識(shí)別后將使用套接字連接將所需的數(shù)據(jù)發(fā)送到節(jié)點(diǎn)服務(wù)器。
- 節(jié)點(diǎn)服務(wù)器會(huì)將數(shù)據(jù)傳遞給 HC-05 藍(lán)牙模塊,因?yàn)閮烧叨际桥鋵?duì)的。
- HC-05 將使用串行通信將數(shù)據(jù)傳輸?shù)?Arduino UNO。
- Arduino UNO 將依次控制 L298 模塊
8.設(shè)置服務(wù)器
對(duì)于我們的服務(wù)器,我們需要安裝 Node.js。安裝任何穩(wěn)定版本的node,我的是11.15版本。我們需要安裝以下軟件包-
注意 – 安裝“node-gyp”可能會(huì)很棘手,因?yàn)樗恢С帜承?a href='http://wenjunhu.com/article/bbs/' target='_blank' class='arckwlink_none'>最新版本的 Node,因此最好安裝 11.15 版本的 Node。
現(xiàn)在,我們需要監(jiān)聽來(lái)自網(wǎng)頁(yè)的事件,并且要托管該網(wǎng)頁(yè),我們需要一個(gè)服務(wù)器。所以,使用像“ express.js”這樣的包創(chuàng)建一個(gè)服務(wù)器,這將使我們的工作更容易。
服務(wù)器設(shè)置完成后,我們需要設(shè)計(jì)一個(gè)網(wǎng)頁(yè),我們將從中發(fā)出語(yǔ)音命令。這里我使用了“ ejs”包來(lái)渲染網(wǎng)頁(yè)。但是發(fā)出語(yǔ)音命令是不夠的,我們還需要識(shí)別語(yǔ)音以控制我們的漫游車。因此,對(duì)于語(yǔ)音識(shí)別,我們將使用Web Speech API, 它將為我們所說(shuō)的任何內(nèi)容提供文本作為輸出。
這是我的網(wǎng)頁(yè)——
注意 - 語(yǔ)音識(shí)別不適用于非安全網(wǎng)頁(yè),因此不適用于包含您的 IP 地址的 URL。要使其正常工作,您需要在 Chrome 瀏覽器中將您的 URL 設(shè)置為安全,
現(xiàn)在,一旦我們說(shuō)了什么并且它是一個(gè)符合條件的命令,我們將使用“ socket.io”包向節(jié)點(diǎn)服務(wù)器發(fā)送一個(gè)包含所需數(shù)據(jù)的套接字消息。
Node服務(wù)器收到來(lái)自網(wǎng)頁(yè)的消息后會(huì)將數(shù)據(jù)傳遞給HC-05藍(lán)牙模塊,為此,我們將使用“ node-bluetooth”包。
9. 避障邏輯
HC-SR04 超聲波傳感器可以檢測(cè)到前方的障礙物。所以我們需要使用距離-速度-時(shí)間方程來(lái)計(jì)算障礙物與流動(dòng)站之間的距離,找到附上的代碼實(shí)現(xiàn),或者參考這個(gè)博客了解更多信息。
獲得距離后,我們將設(shè)置一個(gè)限制,越過(guò)這將停止流動(dòng)站。例如,在這個(gè)項(xiàng)目中,我設(shè)置了 17 厘米的限制,這意味著一旦障礙物與漫游車之間的距離低于 17 厘米,漫游車就會(huì)自動(dòng)停止。
10. Arduino 代碼
由于藍(lán)牙將使用串行通信與 Arduino-Uno 通信,我們將發(fā)送一些“字符串”作為命令,并帶有一個(gè)額外的字母,告訴我們終止并捕獲該字符串。
例如-:向前移動(dòng),藍(lán)牙會(huì)發(fā)送“forwardT”,而在Arduino端,只要遇到字母“T”,就知道串口通信完成,抓到的字符串是“forward”。
通過(guò)傳入的字符串命令,我們將配置 L298 驅(qū)動(dòng)程序向前、向后、向左、向右、改變速度等。
找到附加的 Arduino 代碼。
11- 最終結(jié)果
?
- 藍(lán)牙控制的避障機(jī)器人
- 基于Arduino UNO的避障機(jī)器人 1次下載
- 如何制作避障機(jī)器人
- Arduino機(jī)器人避障
- 基于降級(jí)模糊避障控制算法的爬壁機(jī)器人 16次下載
- 基于區(qū)塊鏈的偵查機(jī)器人實(shí)時(shí)避障設(shè)計(jì)方案 10次下載
- 設(shè)計(jì)雙目視覺(jué)移動(dòng)機(jī)器人的路徑規(guī)劃和避障系統(tǒng)的研究說(shuō)明 3次下載
- 如何進(jìn)行簡(jiǎn)易避障機(jī)器人的設(shè)計(jì) 27次下載
- 如何使用16位單片機(jī)進(jìn)行智能循線和避障機(jī)器人設(shè)計(jì)資料說(shuō)明 5次下載
- 單片機(jī)控制的機(jī)器人避障系統(tǒng) 2次下載
- 吸塵機(jī)器人系統(tǒng)設(shè)計(jì)與避障算法研究 4次下載
- 基于模糊控制的移動(dòng)機(jī)器人避障研究_楊小菊 0次下載
- 自主機(jī)器人避障方法研究 0次下載
- 移動(dòng)機(jī)器人避障路徑規(guī)劃方法研究 0次下載
- 移動(dòng)機(jī)器人的超聲模糊避障算法
- 基于TMS320F2812芯片實(shí)現(xiàn)移動(dòng)機(jī)器人的導(dǎo)航和控制系統(tǒng)的應(yīng)用方案 2705次閱讀
- 微雪電子 Micro:bit輪式智能機(jī)器人簡(jiǎn)介 2337次閱讀
- 微雪電子智能車Arduino AlphaBot2簡(jiǎn)介 2085次閱讀
- 微雪電子智能車學(xué)習(xí)板配件包Arduino開發(fā)板簡(jiǎn)介 1391次閱讀
- 微雪電子輪式智能機(jī)器人簡(jiǎn)介 1225次閱讀
- dfrobotminiQ 4WD教育機(jī)器人介紹 2108次閱讀
- 移動(dòng)機(jī)器人控制系統(tǒng)的發(fā)展方向? 1411次閱讀
- 移動(dòng)機(jī)器人控制系統(tǒng)設(shè)計(jì)與仿真 3433次閱讀
- 機(jī)器人視覺(jué)避障的常用傳感器介紹和原理說(shuō)明 1.3w次閱讀
- 機(jī)器人底盤的主要三大技術(shù) 8064次閱讀
- 如何區(qū)分機(jī)器人、協(xié)作機(jī)器人和移動(dòng)機(jī)器人? 6828次閱讀
- 如何解決機(jī)器人“避障”的問(wèn)題 4442次閱讀
- 關(guān)于被動(dòng)同心轉(zhuǎn)向式多履帶全向移動(dòng)機(jī)器人的設(shè)計(jì) 8935次閱讀
- 移動(dòng)機(jī)器人的那些避障方法你知多少? 6593次閱讀
- 在實(shí)現(xiàn)自主導(dǎo)航之前 移動(dòng)機(jī)器人都有哪些避障方法? 2204次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多