www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > IoT設(shè)計(jì)分享
[導(dǎo)讀]機(jī)器人被用于許多領(lǐng)域,如建筑、軍事、制造、裝配等。機(jī)器人可以是自主的或半自主的。自主機(jī)器人不需要任何人為干預(yù),可以根據(jù)情況自行采取行動(dòng)。半自動(dòng)機(jī)器人根據(jù)人類的指令工作。這些半自動(dòng)機(jī)器人可以通過(guò)遙控器、手機(jī)、手勢(shì)等進(jìn)行控制。我們以前構(gòu)建了一些基于物聯(lián)網(wǎng)的機(jī)器人,可以從web服務(wù)器控制。

機(jī)器人被用于許多領(lǐng)域,如建筑、軍事、制造、裝配等。機(jī)器人可以是自主的或半自主的。自主機(jī)器人不需要任何人為干預(yù),可以根據(jù)情況自行采取行動(dòng)。半自動(dòng)機(jī)器人根據(jù)人類的指令工作。這些半自動(dòng)機(jī)器人可以通過(guò)遙控器、手機(jī)、手勢(shì)等進(jìn)行控制。我們以前構(gòu)建了一些基于物聯(lián)網(wǎng)的機(jī)器人,可以從web服務(wù)器控制。

在今天的文章中,我們將使用ArduinoMPU6050加速度計(jì),nRF24L01收發(fā)器對(duì)和L293D電機(jī)驅(qū)動(dòng)模塊構(gòu)建一個(gè)手勢(shì)控制機(jī)器人。我們將把這個(gè)機(jī)器人設(shè)計(jì)成兩部分。一個(gè)是發(fā)送者,另一個(gè)是接收者。發(fā)送部分由Arduino Uno, MPU6050加速度計(jì)和陀螺儀以及nRF24L01組成,而接收部分由Arduino Uno, nRF24L01,兩個(gè)直流電機(jī)和L293D電機(jī)驅(qū)動(dòng)器組成。發(fā)射器將作為遙控器來(lái)控制機(jī)器人,機(jī)器人將根據(jù)手勢(shì)移動(dòng)。

組件的要求

?Arduino Uno (2)

?NRF24L01 (2)

?MPU6050

?直流電機(jī)(2)

?L293D電機(jī)驅(qū)動(dòng)模塊

?電池

加速度計(jì)和陀螺儀

MPU6050傳感器模塊是一個(gè)完整的6軸(3軸加速度計(jì)和3軸陀螺儀)微機(jī)電系統(tǒng)。MPU6050傳感器模塊還具有片上溫度傳感器。它具有I2C總線和輔助I2C總線接口,可與微控制器和其他傳感器設(shè)備(如3軸磁強(qiáng)計(jì),壓力傳感器等)進(jìn)行通信。

MPU6050傳感器模塊用于測(cè)量加速度、速度、方向、位移和其他與運(yùn)動(dòng)有關(guān)的參數(shù)。這個(gè)傳感器模塊也有一個(gè)內(nèi)置的數(shù)字運(yùn)動(dòng)處理器,可以執(zhí)行復(fù)雜的計(jì)算。

NRF24L01收發(fā)模塊

nRF24L01是一款單芯片無(wú)線電收發(fā)器,適用于全球2.4 - 2.5 GHz ISM頻段。收發(fā)器由一個(gè)完全集成的頻率合成器、一個(gè)功率放大器、一個(gè)晶體振蕩器、一個(gè)解調(diào)器、調(diào)制器和增強(qiáng)型ShockBurs協(xié)議引擎組成。輸出功率、頻率通道和協(xié)議設(shè)置可以通過(guò)SPI接口輕松編程。

收發(fā)模塊的工作電壓范圍為1.9V ~ 3.6V。它有內(nèi)置的關(guān)機(jī)和待機(jī)模式,使其省電和容易實(shí)現(xiàn)。

基于Arduino的手勢(shì)控制機(jī)器人工作原理

為了了解這個(gè)Arduino手勢(shì)控制小車(chē)的工作原理,我們將這個(gè)項(xiàng)目分為兩部分。第一部分是發(fā)射器部分(遠(yuǎn)程),其中MPU6050加速度計(jì)傳感器通過(guò)Arduino和nRF發(fā)射器不斷向接收器(機(jī)器人)發(fā)送信號(hào)。

第二部分是Receiver部分(Robot car), nRF接收器接收傳輸?shù)臄?shù)據(jù)并將其發(fā)送給Arduino,由Arduino進(jìn)一步處理并據(jù)此移動(dòng)機(jī)器人。

MPU6050加速度計(jì)傳感器讀取X Y Z坐標(biāo)并將坐標(biāo)發(fā)送給Arduino。對(duì)于這個(gè)項(xiàng)目,我們只需要X和Y坐標(biāo)。然后Arduino檢查坐標(biāo)值并將數(shù)據(jù)發(fā)送到nRF發(fā)射器。發(fā)送的數(shù)據(jù)由nRF接收器接收。接收器將數(shù)據(jù)發(fā)送到接收端的Arduino。Arduino將數(shù)據(jù)傳遞給電機(jī)驅(qū)動(dòng)IC,電機(jī)驅(qū)動(dòng)將電機(jī)轉(zhuǎn)向所需的方向。

線路圖

這個(gè)使用Arduino硬件的手勢(shì)控制機(jī)器人分為兩個(gè)部分

1. 發(fā)射機(jī)

2. 接收機(jī)

Arduino手勢(shì)控制汽車(chē)的發(fā)送電路

本課題的發(fā)送部分由MPU6050加速度計(jì)和陀螺儀、nRF24L01Transceiver和Arduino Uno組成。Arduino不斷地從MPU6050獲取數(shù)據(jù),并將這些數(shù)據(jù)發(fā)送到nRF發(fā)射器。射頻發(fā)射器將數(shù)據(jù)傳輸?shù)江h(huán)境中。

發(fā)射機(jī)部分的電路圖如下所示。

Arduino手勢(shì)控制汽車(chē)接收器電路

該手勢(shì)控制機(jī)器人的接收部分由Arduino Uno、nRF24L01收發(fā)器、2臺(tái)直流電機(jī)和電機(jī)驅(qū)動(dòng)模塊組成。NRF24L01接收器接收來(lái)自發(fā)射器的數(shù)據(jù)并將其發(fā)送給Arduino。然后根據(jù)接收到的信號(hào),Arduino移動(dòng)直流電機(jī)。接收器部分的電路圖如下所示。

程序解釋

這個(gè)使用Arduino的手勢(shì)控制機(jī)器人的完整代碼在文檔的末尾給出。這里我們逐行解釋這個(gè)程序。

發(fā)射機(jī)端程序

在本程序中,Arduino從MPU6050讀取數(shù)據(jù)并將其發(fā)送到nRF 24L01發(fā)射器。

通過(guò)添加所需的庫(kù)文件開(kāi)始程序。您可以從給定的鏈接下載庫(kù)文件。

SPI.h

nRF24L01.h

Wire.h

MPU6050.h

然后定義MPU6050陀螺儀和加速度計(jì)數(shù)據(jù)的變量。這里只使用加速度計(jì)數(shù)據(jù)。

為通信和nRF發(fā)射機(jī)CN和CSN引腳定義無(wú)線電管道地址。

在void setup()函數(shù)中,啟動(dòng)串行監(jiān)視器。同時(shí)初始化有線和無(wú)線電通信。收音機(jī)。setDataRate用于設(shè)置數(shù)據(jù)傳輸速率。

讀取MPU6050傳感器數(shù)據(jù)。這里我們只使用X和Y方向加速度計(jì)數(shù)據(jù)。

最后,利用無(wú)線電傳輸傳感器數(shù)據(jù)。寫(xiě)函數(shù)。

接收端程序

像往常一樣,通過(guò)包含所需的庫(kù)文件來(lái)啟動(dòng)程序。

為通信和nRF發(fā)射機(jī)CN和CSN引腳定義無(wú)線電管道地址。

定義左、右直流電機(jī)引腳。

現(xiàn)在檢查一下收音機(jī)是否可用。如果是,則讀取數(shù)據(jù)。

現(xiàn)在比較接收到的數(shù)據(jù),并根據(jù)情況驅(qū)動(dòng)電機(jī)。

用Arduino測(cè)試手勢(shì)控制機(jī)器人

一旦硬件準(zhǔn)備好,將發(fā)送端和接收端Arduinos連接到筆記本電腦并上傳代碼。然后移動(dòng)MPU6050加速度計(jì)來(lái)控制機(jī)器人小車(chē)。

本文編譯自iotdesignpro

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉