91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

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

454398 ? 來源:工程師吳畏 ? 2019-08-17 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:工具和材料

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

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

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

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

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

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

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

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

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

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

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è)男女跳線來測(cè)量h-bridge和Wemos之間的信號(hào),以及2個(gè)用于5V和Gnd的男性 - 男性跳線。如果您計(jì)劃添加一些傳感器,則可能需要更多。

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

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

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

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

在以前的項(xiàng)目中,我使用易于獲取的材料(不需要復(fù)雜的工具,3D打印機(jī)或激光切割機(jī))開發(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ī)器人工具包。您可以通過以下鏈接找到機(jī)器人機(jī)箱的鏈接:http://bit.ly/2ycI8fP。如果你正在尋找一個(gè)套件,我認(rèn)為這是一個(gè)不錯(cuò)的選擇!。

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

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

作為一個(gè)消極的方面,我會(huì)強(qiáng)調(diào)缺乏文檔。機(jī)器人的裝配手冊(cè)(中文電子表格文件)不是非常用戶友好,并且沒有很多在線教程。所以我決定在上面的視頻中記錄組裝機(jī)器人的過程!另一個(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)使用過Arduino,那么這是更簡(jiǎn)單的方法,您不需要學(xué)習(xí)新的編程語言,例如Python或Lua。

如果您以前從未這樣做過,首先您必須為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)不是那些被支持的人開發(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的開發(fā)板,如通用ESP8266,NodeMcu(我在本教程中使用),Adafruit Huzzah,Sparkfun Thing,WeMos等。

第3。添加庫

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

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

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

your_sketchbook_folder/libraries/Blynk

your_sketchbook_folder/庫/BlynkESP8266_Lib

your_sketchbook_folder/工具/BlynkUpdater

your_sketchbook_folder/工具/BlynkUsbScript

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

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

步驟5:設(shè)置Blynk

Blynk是一項(xiàng)旨在通過互聯(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)開始。使用的每個(gè)小部件(在任何項(xiàng)目中)都會(huì)消耗一些能量,從而限制了項(xiàng)目中使用的最大小部件數(shù)量。例如,按鈕消耗200個(gè)能量點(diǎn)。這樣,人們可以創(chuàng)建一個(gè)最多包含10個(gè)按鈕的界面。用戶可以購買額外的能量點(diǎn),并創(chuàng)建更復(fù)雜的界面和/或幾個(gè)不同的項(xiàng)目。

Blynk App的命令通過互聯(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庫并獲取身份驗(yàn)證代碼。上一步描述了安裝庫的過程。我將向您展示如何在下一步獲取身份驗(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)目名稱( Wifi robot ),選擇開發(fā)板( Wemos D1 )和連接類型( 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)整大?。ù蟛糠郑┎⑴渲闷湓O(shè)置。

在接下來的步驟中,我將展示使用不同小部件控制機(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

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

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

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

Arduino代碼:

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

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

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

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

代碼說明:

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

#include

#include

您必須配置Blynk授權(quán)密鑰和Wi-Fi憑證。通過這種方式,您的ESP8266將能夠到達(dá)您的Wi-Fi路由器并等待來自Blynk服務(wù)器的命令。將XXXXX,YYYYY和ZZZZZ替換為您的驗(yàn)證密鑰(您將通過電子郵件收到),您的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è)置過程中做的第一件事就是配置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í)。它將檢查來自服務(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)單的按鈕來控制機(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)整按鈕的大小。后來我意識(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)過程中將轉(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ì)來控制我的機(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軸加速度來查看機(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);

}

}

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 智能手機(jī)
    +關(guān)注

    關(guān)注

    66

    文章

    18695

    瀏覽量

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

    關(guān)注

    213

    文章

    31163

    瀏覽量

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

    關(guān)注

    15

    文章

    2439

    瀏覽量

    129693
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Wi-Fi 8核心價(jià)值全景解析

    隨著低空經(jīng)濟(jì)興起、智能終端爆發(fā)及萬物互聯(lián)加速落地,Wi-Fi已從“連接工具”躍升為數(shù)字基礎(chǔ)設(shè)施核心支柱。繼2024年Wi-Fi 7正式商用后,Wi-Fi 8蓄勢(shì)待發(fā),其并非單純的速度升
    的頭像 發(fā)表于 02-28 15:26 ?1079次閱讀

    技術(shù)資訊 I Wi-Fi 模塊設(shè)計(jì)

    。Wi-Fi模塊可實(shí)現(xiàn)無縫連接和數(shù)據(jù)交換,對(duì)設(shè)備進(jìn)行遠(yuǎn)程控制和監(jiān)測(cè)。Wi-Fi模塊設(shè)計(jì)旨在打造一套緊湊且高效的軟硬件解決方案,使設(shè)備能夠通過Wi-Fi網(wǎng)絡(luò)通信。這類模塊常用
    的頭像 發(fā)表于 02-27 17:12 ?673次閱讀
    技術(shù)資訊 I <b class='flag-5'>Wi-Fi</b> 模塊設(shè)計(jì)

    ESP32 Wi-Fi 控制 LED 燈的原理

    智能家居、物聯(lián)網(wǎng)設(shè)備中,用手機(jī)通過Wi-Fi控制燈光、風(fēng)扇或插座,已經(jīng)非常普遍。而在嵌入式開發(fā)中,ESP32是最常用的Wi-Fi模塊之一。
    的頭像 發(fā)表于 01-09 19:04 ?354次閱讀
    ESP32 <b class='flag-5'>Wi-Fi</b> <b class='flag-5'>控制</b> LED 燈的原理

    Wi-Fi:無線連接的全球通用語

    與速率上各有特點(diǎn)。 l MIMO與OFDMA:Wi-Fi 6/7中的關(guān)鍵技術(shù),提升多設(shè)備并發(fā)效率與網(wǎng)絡(luò)容量。四、典型應(yīng)用場(chǎng)景家庭與辦公網(wǎng)絡(luò) | 公共場(chǎng)所無線覆蓋 | 智能家居互聯(lián) | 企業(yè)物聯(lián)網(wǎng)接入 | 工業(yè)無線監(jiān)控與控制
    發(fā)表于 01-07 09:49

    Wi-Fi模塊選型指南 | 低功耗藍(lán)牙/Wi-Fi 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略

    物聯(lián)網(wǎng)的快速發(fā)展,Wi-Fi技術(shù)的成熟的情況下,越來越多的場(chǎng)景需要用到Wi-Fi來無線傳輸數(shù)據(jù),尤其是移動(dòng)設(shè)備中,怎么再設(shè)備中選擇合適的Wi-Fi模塊呢?下面我們來介紹下Wi-Fi模塊
    的頭像 發(fā)表于 12-09 11:27 ?1143次閱讀
    <b class='flag-5'>Wi-Fi</b>模塊選型指南 | 低功耗藍(lán)牙/<b class='flag-5'>Wi-Fi</b> 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略

    Wi-Fi幾乎滲透到所有需要無線連接的場(chǎng)景中,是構(gòu)建本地?zé)o線網(wǎng)絡(luò)的首選技術(shù)。

    | 智能家居互聯(lián) | 企業(yè)物聯(lián)網(wǎng)接入 | 工業(yè)無線監(jiān)控與控制 五、結(jié)語 成都澤耀科技Wi-Fi模塊以其高速、通用、易部署的特性,成為無線通信領(lǐng)域最普及的技術(shù)之一。
    發(fā)表于 12-08 17:23

    Wi-Fi 6將為智能工廠創(chuàng)造更多價(jià)值

    Wi-Fi 6基于IEEE 802.11ax標(biāo)準(zhǔn)開發(fā),為滿足智能工廠應(yīng)用需求提供了提升網(wǎng)絡(luò)效率的新特性。與之前的Wi-Fi 5相比,Wi-Fi 6同樣可以在2.4GHz和5GHz頻段運(yùn)
    的頭像 發(fā)表于 09-28 10:37 ?954次閱讀

    淺談Wi-Fi 6E與Wi-Fi 7的關(guān)鍵器件——BAW濾波器新技術(shù)

    作者: Qorvo 亞太區(qū)無線連接事業(yè)部高級(jí)行銷經(jīng)理林健富 ? 2020年1月,Wi-Fi聯(lián)盟正式宣布開放6GHz頻段(5925MHz-7125MHz),并將其命名為Wi-Fi 6E。2020年4月
    發(fā)表于 09-19 18:29 ?2230次閱讀
    淺談<b class='flag-5'>Wi-Fi</b> 6E與<b class='flag-5'>Wi-Fi</b> 7的關(guān)鍵器件——BAW濾波器新技術(shù)

    LitePoint Wi-Fi測(cè)試軟件減輕客戶設(shè)計(jì)負(fù)擔(dān)

    Wi-Fi 7于一年多前獲得Wi-Fi聯(lián)盟認(rèn)證以來,作為最新一代通信技術(shù),Wi-Fi正逐步成為用戶實(shí)現(xiàn)無所不在無線連接的新選擇。隨著每一代Wi-Fi信號(hào)復(fù)雜性的提升,建議將硬件測(cè)試納
    的頭像 發(fā)表于 08-06 15:34 ?1242次閱讀
    LitePoint <b class='flag-5'>Wi-Fi</b>測(cè)試軟件減輕客戶設(shè)計(jì)負(fù)擔(dān)

    Wi-Fi 8:開啟極高可靠性 (UHR) 連接的新紀(jì)元——1

    已著手進(jìn)行Wi-Fi 8 相關(guān)技術(shù)功能的制定討論與研究。Wi-Fi 7的下一代自然就是Wi-Fi 8,正如市面上智能手機(jī)的命名邏輯一樣,Wi-Fi
    發(fā)表于 06-13 11:09

    詳細(xì)介紹機(jī)場(chǎng)智能指路機(jī)器人的工作原理

    帶)定位、Wi - Fi 定位等。藍(lán)牙定位可以通過與機(jī)場(chǎng)內(nèi)部署的藍(lán)牙信標(biāo)進(jìn)行通信,獲取機(jī)器人的大致位置信息。UWB 定位則利用超寬帶信號(hào)實(shí)現(xiàn)更精確的定位,能夠在復(fù)雜的室內(nèi)環(huán)境中達(dá)到較高的定位精度,誤差可
    發(fā)表于 05-10 18:26

    Wi-Fi HaLow如何突破傳統(tǒng)Wi-Fi性能瓶頸?

    !傳統(tǒng)Wi-Fi的痛點(diǎn)高頻段衰減快:5GHz信號(hào)穿墻后衰減超80%,地下室、倉庫成盲區(qū);大帶寬高耗電:設(shè)備需持續(xù)處理高速數(shù)據(jù)流,智能門鎖電池1個(gè)月耗盡;信道擁堵:
    的頭像 發(fā)表于 04-22 11:38 ?1209次閱讀
    <b class='flag-5'>Wi-Fi</b> HaLow如何突破傳統(tǒng)<b class='flag-5'>Wi-Fi</b>性能瓶頸?

    基于 Wi-Fi 的定位服務(wù)

    以下捕獲使用 location_wifi_get 函數(shù)請(qǐng)求 Wi-Fi 定位服務(wù)。該事件的總功耗為 125.85mC,日志顯示精確度為 30.0m。 Got location: method
    發(fā)表于 04-17 15:16

    nRF Cloud Wi-Fi 定位服務(wù)

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過利用 nRF Cloud 的優(yōu)化定位算法,基于 Nordic SoC 和 模組的產(chǎn)品可在定位用例
    發(fā)表于 04-17 15:07

    Wi-Fi 定位服務(wù)

    Wi-Fi 是一種著名的無線網(wǎng)絡(luò)技術(shù),用于設(shè)備的局域網(wǎng)和互聯(lián)網(wǎng)接入。Wi-Fi 通過 Wi-Fi 網(wǎng)絡(luò)為家庭、辦公室和學(xué)校等環(huán)境提供便捷的無線互聯(lián)網(wǎng)接入服務(wù)。 Wi-Fi 定位是一種
    發(fā)表于 04-17 15:01