0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

如何用智能手機(jī)Wi-Fi控制機(jī)器人

454398 ? 來(lái)源:工程師吳畏 ? 2019-08-17 09:14 ? 次閱讀

步驟1:工具和材料

如何用智能手機(jī)Wi-Fi控制機(jī)器人

此項(xiàng)目使用了以下工具:

焊鐵和焊絲直流電機(jī)已經(jīng)將電線焊接到其端子上。..。..但它最終會(huì)斷裂,您可能需要重新焊接它。所以考慮一下好的烙鐵和電線neaby。

EVA泡沫板(或其他非導(dǎo)電材料)。本項(xiàng)目中使用的機(jī)器人底盤(pán)由鋁制成,電路板安裝在此金屬部件上。我在電路板和金屬板之間使用了一層泡沫板,以避免可能的短路。

雙面膠帶。它用于將泡沫板粘合到電路板上,以及用于安裝H橋模塊。

剪刀,用于剪切一些泡沫板矩形。

我在項(xiàng)目中使用了以下硬件部件:

Wemos D1 ESP8266開(kāi)發(fā)板(鏈接/鏈接)。 Wemos D1板非常易于使用,并且可以使用Arduino IDE進(jìn)行編程。它與普通的Arduino Uno具有相同的足跡!這樣,大多數(shù)Arduino防護(hù)罩也可以與這塊板一起使用。它有內(nèi)置的Wi-Fi模塊,因此您可以在各種項(xiàng)目中使用它。您還可以使用其他基于ESP8266的板(鏈接/鏈接)。

L298N雙通道H橋模塊(鏈接/鏈接)。該模塊允許來(lái)自Wemos(或Arduino)的3.3V信號(hào)被放大到電機(jī)所需的12V。

DIY機(jī)器人底盤(pán)坦克(鏈接)。這個(gè)真棒套件具有制造水箱所需的一切:兩個(gè)直流電機(jī),齒輪,軌道,螺栓,螺母等。它已經(jīng)配備了組裝機(jī)箱所需的工具,這對(duì)初學(xué)者來(lái)說(shuō)非常棒!

18650 3.7V電池(x3)(鏈接)。我曾經(jīng)給整個(gè)電路供電。這個(gè)油箱使用12V電機(jī)。我使用了三節(jié)串聯(lián)的3.7V電池給它們供電。

3S 18650電池座(鏈接)。它可以容納三個(gè)18650電池系列,并且可以很容易地安裝在水箱后部。

18650電池充電器(鏈接)。你的電池最終會(huì)耗盡電量。當(dāng)發(fā)生這種情況時(shí),電池充電器將為您解救。

跳線(鏈接)。我用了6個(gè)男女跳線來(lái)測(cè)量h-bridge和Wemos之間的信號(hào),以及2個(gè)用于5V和Gnd的男性 - 男性跳線。如果您計(jì)劃添加一些傳感器,則可能需要更多。

Micro USB線。您需要這個(gè)來(lái)上傳您的代碼。大多數(shù)電路板已經(jīng)有自己的電纜。

上面的鏈接只是建議您可以在哪里找到本教程中使用的項(xiàng)目(也許可以支持我以后的教程)。您可以隨意在其他地方搜索,并在您最喜歡的本地或網(wǎng)上商店購(gòu)買(mǎi)。

第2步:組裝機(jī)器人

該項(xiàng)目的第一部分是機(jī)器人結(jié)構(gòu)的組裝。

在以前的項(xiàng)目中,我使用易于獲取的材料(不需要復(fù)雜的工具,3D打印機(jī)或激光切割機(jī))開(kāi)發(fā)了我自己的機(jī)器人結(jié)構(gòu)。您可以在以下鏈接中找到該項(xiàng)目:

https://www.instructables.com/id/WiDC-Wi-Fi-Controlled-FPV-Robot-with-Arduino-ESP82/

這一次,我決定給一個(gè)從網(wǎng)上商店獲得的機(jī)器人工具包。您可以通過(guò)以下鏈接找到機(jī)器人機(jī)箱的鏈接:http://bit.ly/2ycI8fP。如果你正在尋找一個(gè)套件,我認(rèn)為這是一個(gè)不錯(cuò)的選擇!。

起初看起來(lái)裝配會(huì)很復(fù)雜,或者我會(huì)遇到缺少部件等問(wèn)題(考慮到數(shù)量)組成套件的部件。但是這個(gè)套件讓我很驚訝!在我看來(lái),所有的部件質(zhì)量都很好,并配有幾個(gè)備件。因此,在工作臺(tái)下方丟失的螺絲將不會(huì)使您的項(xiàng)目無(wú)法實(shí)現(xiàn),我發(fā)現(xiàn)這是非常好的(特別是在丟失幾個(gè)螺釘后)。

另一個(gè)積極的一點(diǎn)是,所有的安裝機(jī)器人所需的工具包含在套件中(一對(duì)艾倫扳手和螺絲刀)。我相信這使得該套件非常適合沒(méi)有大量工具的初學(xué)者!

作為一個(gè)消極的方面,我會(huì)強(qiáng)調(diào)缺乏文檔。機(jī)器人的裝配手冊(cè)(中文電子表格文件)不是非常用戶友好,并且沒(méi)有很多在線教程。所以我決定在上面的視頻中記錄組裝機(jī)器人的過(guò)程!另一個(gè)關(guān)注點(diǎn)涉及機(jī)器人結(jié)構(gòu)的材料。底座完全由鋁制成,如果印刷電路板的插針接觸框架,可能會(huì)導(dǎo)致短路。

您可以使用其他在線套件。你甚至可以制作自己的結(jié)構(gòu),如下所述。

第3步:接線電路(Wemos D1)

在上面的視頻中,我將向您展示如何在機(jī)器人結(jié)構(gòu)中組裝電子設(shè)備。

電源由三個(gè)18650電池組成的包安裝在機(jī)器人的背面。它為機(jī)器人提供11.1V(3 x 3.7V)。這足以為12V直流電機(jī)供電。

L298N雙通道H橋用于控制電機(jī)。它接收Wemos板的一些3.3V信號(hào),并為電機(jī)提供更高的電壓。它還允許電機(jī)在兩個(gè)方向上運(yùn)行,取決于這些輸入信號(hào)的組合。

每個(gè)設(shè)備都是根據(jù)原理圖連接的。

按照您的引腳列表需要連接:

Wemos D1輸入/輸出:

數(shù)字引腳D3(GPIO5)=》 H橋ENB引腳

數(shù)字引腳D4(GPIO4)=》 H橋IN4引腳

數(shù)字引腳D5(GPIO14)=》 H橋IN3引腳

數(shù)字引腳D6( GPIO12)=》 H橋IN2引腳

數(shù)字引腳D7(GPIO13)=》 H橋IN1引腳

數(shù)字引腳D8(GPIO0)=》 H橋ENA引腳

5V引腳=》 H橋5V引腳

Gnd引腳=》 H橋Gnd引腳

H橋輸入/輸出:

ENB引腳=》 Wemos D3引腳

IN4引腳=》 Wemos D4引腳

IN3引腳=》 Wemos D5引腳

IN2引腳=》 Wemos D6引腳

IN1引腳=》 Wemos D7引腳

ENA引腳=》 Wemos D8引腳

5V引腳=》 Wemos 5V引腳

Gnd引腳=》 Wemos Gnd引腳

Gnd引腳=》電池組負(fù)極線

12V引腳=》電池組正極線

OUT1 =》右電機(jī)負(fù)極線

OUT2 =》右電機(jī)正極線

OUT3 =》左電機(jī)正極線

OUT4 =》左電機(jī)負(fù)極線

步驟4:在Arduino IDE上設(shè)置ESP8266板

對(duì)于這個(gè)項(xiàng)目,我使用Arduino IDE編程我的Wemos。如果您之前已經(jīng)使用過(guò)Arduino,那么這是更簡(jiǎn)單的方法,您不需要學(xué)習(xí)新的編程語(yǔ)言,例如Python或Lua。

如果您以前從未這樣做過(guò),首先您必須為Arduino軟件添加ESP8266板支持。

的 1。下載并安裝Arduino IDE最新版

您可以在Arduino的網(wǎng)站上找到適用于Windows,Linux或MAC OSX的最新版本:https://www.arduino.cc/en/main/software

免費(fèi)下載,將其安裝到您的計(jì)算機(jī)上并啟動(dòng)它。

2。添加ESP8266主板

Arduino IDE已經(jīng)支持很多不同的主板:Arduino Nano,Mine,Uno,Mega,Yún等。不幸的是ESP8266默認(rèn)不是那些被支持的人開(kāi)發(fā)板。因此,為了將代碼上傳到ESP8266基板,您必須首先將其屬性添加到Arduino的軟件中。

導(dǎo)航到文件》首選項(xiàng)(Ctrl +,在Windows操作系統(tǒng)上);

將以下URL添加到Additional Boards Manager文本框(Preferences窗口底部的文本框):

http://arduino.esp8266.com/stable/package_esp8266com_index.json

如果文本框不是空白,則表示之前已經(jīng)在Arduino IDE上添加了其他板。在上一個(gè)URL和上面的URL末尾添加一個(gè)逗號(hào)。

點(diǎn)擊“確定”按鈕并關(guān)閉“首選項(xiàng)”窗口。

導(dǎo)航工具》 Board》 Boards Manager 以添加ESP8266板。

在搜索文本框中鍵入“ESP8266”,選擇“ESP8266社區(qū)的esp8266”并安裝它。

現(xiàn)在您的Arduino IDE已準(zhǔn)備好使用許多基于ESP8266的開(kāi)發(fā)板,如通用ESP8266,NodeMcu(我在本教程中使用),Adafruit Huzzah,Sparkfun Thing,WeMos等。

第3。添加庫(kù)

在這個(gè)項(xiàng)目中,我使用了Blynk庫(kù)。

應(yīng)手動(dòng)安裝Blynk庫(kù)。從https://github.com/blynkkk/blynk-library/releases/tag/v0.5.0下載Blynk庫(kù)。解壓縮文件,并將文件夾復(fù)制到Arduino IDE庫(kù)/工具文件夾。

your_sketchbook_folder的結(jié)構(gòu)現(xiàn)在應(yīng)如下所示:

your_sketchbook_folder/libraries/Blynk

your_sketchbook_folder/庫(kù)/BlynkESP8266_Lib

your_sketchbook_folder/工具/BlynkUpdater

your_sketchbook_folder/工具/BlynkUsbScript

。..。..。.. 。..

現(xiàn)在您的開(kāi)發(fā)環(huán)境已準(zhǔn)備就緒,讓我們繼續(xù)下一步!

步驟5:設(shè)置Blynk

Blynk是一項(xiàng)旨在通過(guò)互聯(lián)網(wǎng)連接遠(yuǎn)程控制硬件的服務(wù)。它使您可以輕松創(chuàng)建物聯(lián)網(wǎng)小工具,并支持多種硬件,如Arduinos,ESP8266,Raspberry Pi等。

您可以使用它從AndroidiOS智能手機(jī)發(fā)送數(shù)據(jù)(或平板電腦)到遠(yuǎn)程設(shè)備。例如,您還可以讀取,存儲(chǔ)和顯示由harware傳感器獲取的數(shù)據(jù)。

Blynk App 用于創(chuàng)建用戶界面。它有各種各樣的小部件:按鈕,滑塊,操縱桿,顯示器等。用戶可以將小部件拖放到儀表板并為多個(gè)項(xiàng)目創(chuàng)建自定義圖形界面。

它有一個(gè)‘能源的概念。用戶從2000個(gè)自由能點(diǎn)開(kāi)始。使用的每個(gè)小部件(在任何項(xiàng)目中)都會(huì)消耗一些能量,從而限制了項(xiàng)目中使用的最大小部件數(shù)量。例如,按鈕消耗200個(gè)能量點(diǎn)。這樣,人們可以創(chuàng)建一個(gè)最多包含10個(gè)按鈕的界面。用戶可以購(gòu)買(mǎi)額外的能量點(diǎn),并創(chuàng)建更復(fù)雜的界面和/或幾個(gè)不同的項(xiàng)目。

Blynk App的命令通過(guò)互聯(lián)網(wǎng)上傳到 Blynk服務(wù)器。另一個(gè)硬件(例如NodeMCU)使用 Blynk Libraries 從服務(wù)器讀取這些命令并執(zhí)行操作。硬件還可以向服務(wù)器提供一些數(shù)據(jù),這些數(shù)據(jù)可能會(huì)顯示在應(yīng)用程序上。

從以下鏈接下載適用于Android或iOS的Blynk應(yīng)用程序:

https://play。 google.com/store/apps/details?id=cc.blynk

https://itunes.apple.com/us/app/blynk-control-arduino-raspberry/id808760481?ls=1&mt= 8

安裝應(yīng)用并創(chuàng)建一個(gè)新帳戶。之后,您將準(zhǔn)備好創(chuàng)建第一個(gè)項(xiàng)目。

您還需要安裝Blynk庫(kù)并獲取身份驗(yàn)證代碼。上一步描述了安裝庫(kù)的過(guò)程。我將向您展示如何在下一步獲取身份驗(yàn)證令牌。

第6步:Blynk應(yīng)用程序 - 創(chuàng)建新項(xiàng)目

現(xiàn)在,我將向您展示如何使用Blynk設(shè)計(jì)我的遙控器應(yīng)用程序。您可以將它作為自己創(chuàng)作的基礎(chǔ)。

創(chuàng)建新項(xiàng)目

創(chuàng)建新項(xiàng)目;

添加項(xiàng)目名稱(chēng)( Wifi robot ),選擇開(kāi)發(fā)板( Wemos D1 )和連接類(lèi)型( WiFi )并單擊創(chuàng)建按鈕;

身份驗(yàn)證令牌將發(fā)送到您的電子郵件;

使用身份驗(yàn)證令牌,使用Arduino代碼。它允許ESP8266板到達(dá)Blynk服務(wù)器以發(fā)送和接收數(shù)據(jù)。

為了創(chuàng)建儀表板,您可以拖放多個(gè)對(duì)象。按鈕,滑塊和操縱桿可用于創(chuàng)建不同的控制界面。您可以根據(jù)需要調(diào)整大小(大部分)并配置其設(shè)置。

在接下來(lái)的步驟中,我將展示使用不同小部件控制機(jī)器人的四種不同選擇。

第7步:Blynk App#1 - 四個(gè)按鈕

這第一個(gè)應(yīng)用程序我使用四個(gè)簡(jiǎn)單的按鈕進(jìn)行簡(jiǎn)單的控制,向前,向右,向左或向后移動(dòng)機(jī)器人。為此,我在Blynk App上使用了“樣式按鈕”小部件。在小部件框上選擇此選項(xiàng),拖放,并根據(jù)需要調(diào)整按鈕大小。

在按鈕設(shè)置下,您必須為每個(gè)按鈕命名(向前,向右,向左移動(dòng))并為每個(gè)引腳分配一個(gè)虛擬引腳作為輸出。我使用了以下虛擬引腳:

正向:V0引腳

右:V1引腳

左:V2引腳

向后:V3 pin

您還必須配置開(kāi)/關(guān)標(biāo)簽。默認(rèn)情況下,它們被命名為On和Off,但我更改了以便更好地理解每個(gè)按鈕的含義。您可以在上面的圖片上看到最終應(yīng)用的屏幕截圖。

如您所見(jiàn),每個(gè)按鈕都是二進(jìn)制的。一旦點(diǎn)擊它們,電機(jī)就會(huì)全速運(yùn)轉(zhuǎn)。

如果按照我的原理圖連接所有電機(jī),你將得到以下輸出:

Arduino代碼:

下載代碼并在Arduino IDE上打開(kāi)它。在上傳代碼之前,您必須更新Blynk身份驗(yàn)證密鑰和WiFi憑據(jù)(ssid和密碼)。

要上傳代碼,請(qǐng)選擇“Wemos D1 R2&mini”(如果您使用的是NodeMCU)上傳速度為921600 kbps。在計(jì)算機(jī)的USB端口上插入電路板并上傳代碼。

這需要一段時(shí)間(遠(yuǎn)遠(yuǎn)超過(guò)為Arduino編寫(xiě)和上傳草圖。..。..請(qǐng)耐心等待。..。..)。現(xiàn)在是你在等待的時(shí)候給這個(gè)教練們一個(gè)喜歡的好時(shí)機(jī)! :D

上傳完成后,拔下USB電纜,然后放入電池。代碼將開(kāi)始運(yùn)行,Wemos板將自動(dòng)嘗試連接Wi-Fi路由器并等待來(lái)自Blynk服務(wù)器的命令。

代碼說(shuō)明:

在這個(gè)項(xiàng)目中我只不得不使用ESP8266和Blynk庫(kù)。它們是在代碼的開(kāi)頭添加的。

#include

#include

您必須配置Blynk授權(quán)密鑰和Wi-Fi憑證。通過(guò)這種方式,您的ESP8266將能夠到達(dá)您的Wi-Fi路由器并等待來(lái)自Blynk服務(wù)器的命令。將XXXXX,YYYYY和ZZZZZ替換為您的驗(yàn)證密鑰(您將通過(guò)電子郵件收到),您的Wi-Fi網(wǎng)絡(luò)的SSID和密碼。

char auth[] = “XXXXX”;

char ssid[] = “YYYYY”/

char pass[] = “ZZZZZ”;

定義引腳Wemos連接到h橋。您可以使用每個(gè)引腳的GPIO編號(hào)的文字值(D1,D2,De等)。

#define ENB D3

#define MOTORB_1 D4

#define MOTORB_2 D5

#define MOTORA_1 D7

#define MOTORA_2 D6

#define ENA D8

我在設(shè)置過(guò)程中做的第一件事就是配置I/O引腳狀態(tài)(作為輸出)并將使能引腳設(shè)置為低電平。這樣你就可以在啟動(dòng)時(shí)禁用兩個(gè)電機(jī),機(jī)器人在等待剩下的代碼時(shí)不會(huì)隨機(jī)移動(dòng)。

pinMode(ENA, OUTPUT);

pinMode(MOTORA_1, OUTPUT);

pinMode(MOTORA_2, OUTPUT);

pinMode(ENB, OUTPUT);

pinMode(MOTORB_1, OUTPUT);

pinMode(MOTORB_2, OUTPUT);

digitalWrite(ENA,LOW);

digitalWrite(ENB,LOW);

然后啟動(dòng)串口通信(用于驗(yàn)證代碼)和Blynk通信(此處將執(zhí)行Wi-Fi連接)。

Serial.begin(9600);

Blynk.begin(auth, ssid, pass);

主循環(huán)包括僅在運(yùn)行Blynk.run函數(shù)時(shí)。它將檢查來(lái)自服務(wù)器的傳入命令,并在發(fā)生某些事情時(shí)調(diào)用其他函數(shù)。

// MAIN CODE

void loop()

{

Blynk.run();

}

應(yīng)用程序上的每個(gè)按鈕都映射到虛擬引腳(V0到V3)。 BLYNK_WRITE函數(shù)檢查是否單擊了給定的引腳,然后執(zhí)行某些操作。為每個(gè)虛擬按鈕定義了相同的塊。當(dāng)按下按鈕時(shí),它們會(huì)讓機(jī)器人沿其中一個(gè)方向移動(dòng)。

// FORWARD

BLYNK_WRITE(V0) {

int button = param.asInt(); // read button

if (button == 1) {

Serial.println(“Moving forward”);

digitalWrite(ENA,HIGH);

digitalWrite(ENB,HIGH);

digitalWrite(MOTORA_1,HIGH);

digitalWrite(MOTORA_2,LOW);

digitalWrite(MOTORB_1,LOW);

digitalWrite(MOTORB_2,HIGH);

}

else {

Serial.println(“Stop”);

digitalWrite(ENA,LOW);

digitalWrite(ENB,LOW);

digitalWrite(MOTORA_1,LOW);

digitalWrite(MOTORA_2,LOW);

digitalWrite(MOTORB_1,LOW);

digitalWrite(MOTORB_2,LOW);

}

}

如果你按照我的方式連接引腳,你將得到以下輸出:

輸出ENAIN1IN2ENBIN3IN4

FORWARDHIGHHIGHLOWHIGHLOWHIGH

BACKWARDHIGHLOWHIGHHIGHHIGHLOW

RIGHTHIGHLOWHIGHHIGHLOWHIGH

LEFTHIGHHIGHLOWHIGHHIGHLOW

STOPLOW**LOW**

第8步:Blynk App#2 - 滑動(dòng)條

在之前的應(yīng)用程序中,我使用簡(jiǎn)單的按鈕來(lái)控制機(jī)器人。正如我之前解釋的那樣,當(dāng)按下按鈕時(shí),電機(jī)將全速運(yùn)轉(zhuǎn)。這次我做了一個(gè)使用兩個(gè)滑桿的實(shí)驗(yàn)。每一個(gè)都將設(shè)置給定電機(jī)的速度和方向。根據(jù)每個(gè)軌道的速度,可以使機(jī)器人向前移動(dòng),向左/向右轉(zhuǎn)或以可變速度返回。

為此,我在Blynk App上使用了“Vertical Slider”小部件。在窗口小部件框中選擇此選項(xiàng),拖放,并根據(jù)需要調(diào)整按鈕的大小。后來(lái)我意識(shí)到普通的’Slider‘會(huì)是一個(gè)更好的選擇(握住手機(jī)并同時(shí)移動(dòng)兩個(gè)電機(jī)會(huì)更舒服)。

在按鈕設(shè)置下你必須命名每個(gè)按鈕(向右或向左),指定虛擬引腳作為輸出,并設(shè)置值的范圍。我使用了以下虛擬引腳:

左:V0引腳,從-1023到1023

右:V1引腳,從-1023到1023

您可以在上面的圖片上看到最終應(yīng)用的屏幕截圖。

請(qǐng)記住將“僅發(fā)布時(shí)發(fā)送值”設(shè)置為“關(guān)閉”。這樣,當(dāng)您更改滑塊位置時(shí),Blynk將向機(jī)器人發(fā)送命令,而不僅僅是在釋放時(shí)。

Arduino代碼:

代碼初始化與描述的幾乎相同之前。

以下幾行被添加到初始化中。

Blynk.virtualWrite(V0, 0);

Blynk.virtualWrite(V1, 0);

這樣滑塊在啟動(dòng)過(guò)程中將轉(zhuǎn)到零位(機(jī)器人將停止移動(dòng))。

為每個(gè)電機(jī)創(chuàng)建了以下代碼。微控制器將讀取每個(gè)滑塊的值,該值將轉(zhuǎn)換為每個(gè)軌道的速度。定義了死區(qū)(介于-500和500之間),以便機(jī)器人在低速時(shí)停止。

如果它接收到負(fù)速度,則切換到motor1和motor2引腳的信號(hào)。速度還決定了模擬輸出中使用的PWM信號(hào)的占空比。絕對(duì)值越大,機(jī)器人運(yùn)行得越快。

// LEFT TRACK

BLYNK_WRITE(V0) {

int speedL = param.asInt(); // read button

Serial.print(“Left speed: ”);

Serial.println(speedL);

if (speedL 》 500) {

analogWrite(ENB,speedL);

digitalWrite(MOTORB_1,LOW);

digitalWrite(MOTORB_2,HIGH);

}

else if (speedL 《 -500) {

analogWrite(ENB,-speedL);

digitalWrite(MOTORB_1,HIGH);

digitalWrite(MOTORB_2,LOW);

}

else {

digitalWrite(ENB,LOW);

digitalWrite(MOTORB_1,LOW);

digitalWrite(MOTORB_2,LOW);

}

}

步驟9:Blynk App#3 - Accelerometer

智能手機(jī)的某些傳感器也可以與Blynk一起使用。這次我想用它的加速度計(jì)來(lái)控制我的機(jī)器人。傾斜手機(jī),機(jī)器人將向左/向右轉(zhuǎn)動(dòng)或向前/向后移動(dòng)。

從窗口小部件框中拖動(dòng)加速度計(jì)對(duì)象并將其放在儀表板上。在按鈕設(shè)置下,將虛擬引腳指定為輸出。我使用虛擬引腳V0。您可以在上面的圖片上看到最終應(yīng)用的屏幕截圖。

Arduino代碼:

代碼的初始化與之前描述的幾乎相同。

BLYNK_WRITE(V0)函數(shù)用于讀取加速度計(jì)值。 y軸上的加速度用于控制機(jī)器人是否應(yīng)該向右/向左轉(zhuǎn),并且使用z軸加速度來(lái)查看機(jī)器人是否應(yīng)該向前/向后移動(dòng)。

代碼驗(yàn)證是否加速度高于/低于給定的閾值,以便選擇電機(jī)的速度/方向。

BLYNK_WRITE(V0) {

float y = param[1].asFloat(); // read y-axis acceleration

float z = param[2].asFloat(); // read z-axis acceleration

if (y 》 0.5) {

Serial.println(“Turning left”);

digitalWrite(ENA,HIGH);

digitalWrite(ENB,HIGH);

digitalWrite(MOTORA_1,HIGH);

digitalWrite(MOTORA_2,LOW);

digitalWrite(MOTORB_1,HIGH);

digitalWrite(MOTORB_2,LOW);

}

if (y 《 -0.5) {

Serial.println(“Turning right”);

digitalWrite(ENA,HIGH);

digitalWrite(ENB,HIGH);

digitalWrite(MOTORA_1,LOW);

digitalWrite(MOTORA_2,HIGH);

digitalWrite(MOTORB_1,LOW);

digitalWrite(MOTORB_2,HIGH);

}

if (z 《 -0.9) {

Serial.println(“Moving forward”);

digitalWrite(ENA,HIGH);

digitalWrite(ENB,HIGH);

digitalWrite(MOTORA_1,HIGH);

digitalWrite(MOTORA_2,LOW);

digitalWrite(MOTORB_1,LOW);

digitalWrite(MOTORB_2,HIGH);

}

if (z 》 0) {

Serial.println(“Moving backward”);

digitalWrite(ENA,HIGH);

digitalWrite(ENB,HIGH);

digitalWrite(MOTORA_1,LOW);

digitalWrite(MOTORA_2,HIGH);

digitalWrite(MOTORB_1,HIGH);

digitalWrite(MOTORB_2,LOW);

}

if ((y 《 0.5) and (y 》 -0.5) and (z 》 -0.9) and (z 《 0)) {

Serial.println(“Stop”);

digitalWrite(ENA,LOW);

digitalWrite(ENB,LOW);

digitalWrite(MOTORA_1,LOW);

digitalWrite(MOTORA_2,LOW);

digitalWrite(MOTORB_1,LOW);

digitalWrite(MOTORB_2,LOW);

}

}

如果未超過(guò)閾值,電機(jī)將停止。

第10步:Blynk App#4 - 操縱桿

在這個(gè)應(yīng)用程序中,我使用一個(gè)操縱桿來(lái)控制機(jī)器人。定義每個(gè)軌道的速度在操縱桿的x和y位置上降低。這樣,就可以在每個(gè)軌道上應(yīng)用不同的速度,并以不同的速度/方向移動(dòng)機(jī)器人。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 智能手機(jī)
    +關(guān)注

    關(guān)注

    66

    文章

    18562

    瀏覽量

    181307
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    211

    文章

    28759

    瀏覽量

    208963
  • wi-fi
    +關(guān)注

    關(guān)注

    14

    文章

    2176

    瀏覽量

    125257
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    Wi-Fi 8要來(lái)了!未來(lái)Wi-Fi技術(shù)演進(jìn)方向揭秘

    產(chǎn)品銷(xiāo)售中,雖然Wi-Fi 7產(chǎn)品的銷(xiāo)量份額快速?gòu)哪瓿醯膫€(gè)位數(shù)百分比增長(zhǎng)至14%,但Wi-Fi 6產(chǎn)品的銷(xiāo)量份額依然穩(wěn)定在60%左右。如果從存量設(shè)備來(lái)看,那么Wi-Fi 7路由器的占比將遠(yuǎn)遠(yuǎn)小于這個(gè)數(shù)。 ?
    的頭像 發(fā)表于 11-24 03:14 ?2267次閱讀
    <b class='flag-5'>Wi-Fi</b> 8要來(lái)了!未來(lái)<b class='flag-5'>Wi-Fi</b>技術(shù)演進(jìn)方向揭秘

    Wi-Fi 7 與頻率控制的關(guān)系

    作者:Poornima Apte 投稿:DigiKey 北美編輯 2024-12-18 Wi-Fi 需要使用一定范圍的無(wú)線電頻率才能讓設(shè)備進(jìn)行通信撥號(hào)。多年來(lái),Wi-Fi 一直使用 2.4 GHz
    的頭像 發(fā)表于 01-25 14:45 ?153次閱讀
    <b class='flag-5'>Wi-Fi</b> 7 與頻率<b class='flag-5'>控制</b>的關(guān)系

    2025,國(guó)產(chǎn)手機(jī)Wi-Fi FEM元年

    真正染指過(guò),直到華為手機(jī)開(kāi)始導(dǎo)入國(guó)產(chǎn)芯片。 Wi-Fi FEM不只是用于路由器,也用于智能手機(jī)。從蘋(píng)果手機(jī)誕生的第一天
    的頭像 發(fā)表于 01-09 16:48 ?250次閱讀
    2025,國(guó)產(chǎn)<b class='flag-5'>手機(jī)</b><b class='flag-5'>Wi-Fi</b> FEM元年

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人的基礎(chǔ)模塊

    具身智能機(jī)器人的基礎(chǔ)模塊,這個(gè)是本書(shū)的第二部分內(nèi)容,主要分為四個(gè)部分:機(jī)器人計(jì)算系統(tǒng),自主機(jī)器人的感知系統(tǒng),自主機(jī)器人的定位系統(tǒng),自主
    發(fā)表于 01-04 19:22

    華為海思正式進(jìn)入Wi-Fi FEM賽道?

    大家都知道了,2018年11 月離開(kāi)銳迪科(RDA),前往福建晉江創(chuàng)立三伍微,專(zhuān)注于Wi-Fi射頻前端芯片,從路由器Wi-Fi FEM,到手機(jī)Wi-Fi FEM,再到IoT FEM全覆
    發(fā)表于 12-11 17:42

    Wi-Fi 4到Wi-Fi 7:網(wǎng)速飆升40倍的無(wú)線革命

    1 Wi-Fi技術(shù)的快速發(fā)展 每一代新的Wi-Fi協(xié)議發(fā)布,都會(huì)帶來(lái)更高的無(wú)線速率。 ? 從Wi-Fi 4到Wi-Fi 7:無(wú)線網(wǎng)絡(luò)技術(shù)顯著提升,實(shí)現(xiàn)了網(wǎng)速的巨大飛躍。 ? ?
    的頭像 發(fā)表于 12-09 10:10 ?463次閱讀
    從<b class='flag-5'>Wi-Fi</b> 4到<b class='flag-5'>Wi-Fi</b> 7:網(wǎng)速飆升40倍的無(wú)線革命

    Wi-Fi 7與Wi-Fi 6E有什么區(qū)別

    也許很多人還在考慮是否要將使用的Wi-Fi設(shè)備升級(jí)到Wi-Fi 6或Wi-Fi 6E,而這些標(biāo)準(zhǔn)的繼任者卻已經(jīng)開(kāi)始“登堂入室”了。Wi-Fi 7是新一代
    的頭像 發(fā)表于 11-07 11:38 ?1377次閱讀

    支持Wi-Fi?的電子智能

    電子發(fā)燒友網(wǎng)站提供《支持Wi-Fi?的電子智能鎖.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 11:20 ?0次下載
    支持<b class='flag-5'>Wi-Fi</b>?的電子<b class='flag-5'>智能</b>鎖

    AMEYA360 :“Radisol”,一款可改善智能手機(jī)Wi-Fi天線性能的村田電子新產(chǎn)品

    Mobility LLC 2024年8月開(kāi)始銷(xiāo)售的智能手機(jī)“Edge系列”新機(jī)型。摩托羅拉通過(guò)采用Radisol改善了其智能手機(jī)Wi-Fi天線的性能。 近年來(lái),智能手機(jī)和可穿戴終端已
    的頭像 發(fā)表于 08-28 15:35 ?370次閱讀
    AMEYA360 :“Radisol”,一款可改善<b class='flag-5'>智能手機(jī)</b><b class='flag-5'>Wi-Fi</b>天線性能的村田電子新產(chǎn)品

    AT 0.60.0.0看不到我的Wi-Fi網(wǎng)絡(luò),為什么?

    我對(duì) AT 0.60.0.0 有一點(diǎn)問(wèn)題。當(dāng)我通過(guò) AT CWLAP 顯示所有網(wǎng)絡(luò)時(shí),我看不到我的路由器 AP 網(wǎng)絡(luò),但我可以連接到它。當(dāng)我在智能手機(jī)中打開(kāi) Wi-Fi 熱點(diǎn)時(shí),我可以看到我的熱點(diǎn)
    發(fā)表于 07-18 08:31

    如何記住ESP8266中的Wi-Fi憑據(jù)?

    您好,我正在與ESP8266合作,在公司進(jìn)行一個(gè)項(xiàng)目。在成功智能配置后,我無(wú)法記住 Wi-Fi 憑據(jù)。ESP8266軟件版本如下: 在GMR AT版本:1.2.0.0(Jul 1, 2016 20
    發(fā)表于 07-15 07:07

    Wi-Fi FEM進(jìn)入非線性時(shí)代

    。Wi-Fi FEM指的是用于Wi-Fi 通信將一系列射頻前端電路例如功率放大器(PA)、射頻開(kāi)關(guān)(Switch)、低噪聲放大器(LNA)集成在一起的射頻模組。下游應(yīng)用場(chǎng)景廣泛,主要包括智能手機(jī)、路由器、平板電腦、游戲機(jī)等。 時(shí)
    的頭像 發(fā)表于 05-23 16:22 ?673次閱讀
    <b class='flag-5'>Wi-Fi</b> FEM進(jìn)入非線性時(shí)代

    華為獲得全球首個(gè)國(guó)際Wi-Fi聯(lián)盟WFA企業(yè)級(jí)Wi-Fi 7認(rèn)證!

    Wi-Fi聯(lián)盟已發(fā)布Wi-Fi 7認(rèn)證標(biāo)準(zhǔn),華為是第一批送測(cè)廠商,獲得業(yè)界首個(gè)企業(yè)級(jí)Wi-Fi 7 的Wi-Fi聯(lián)盟官方認(rèn)證。
    的頭像 發(fā)表于 04-28 10:17 ?823次閱讀
    華為獲得全球首個(gè)國(guó)際<b class='flag-5'>Wi-Fi</b>聯(lián)盟WFA企業(yè)級(jí)<b class='flag-5'>Wi-Fi</b> 7認(rèn)證!

    Wi-Fi 7與Wi-Fi 6的相關(guān)知識(shí)科普

    科普:Wi-Fi 7 vs. Wi-Fi 6,青出于藍(lán)
    的頭像 發(fā)表于 03-12 10:59 ?901次閱讀
    <b class='flag-5'>Wi-Fi</b> 7與<b class='flag-5'>Wi-Fi</b> 6的相關(guān)知識(shí)科普

    Wi-Fi的誕生與發(fā)展

    短距離無(wú)線通信技術(shù)有Wi-Fi、ZigBee、藍(lán)牙以及Z-Wave,今天我們先揭開(kāi)Wi-Fi的神秘面紗。Chrent短距離無(wú)線通信技術(shù)——Wi-Fi過(guò)去的20多年,Wi-Fi靠著僅有的
    的頭像 發(fā)表于 03-07 08:26 ?1480次閱讀
    <b class='flag-5'>Wi-Fi</b>的誕生與發(fā)展

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品