日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

怎樣用Tactigon通過BLE控制Arduino驅(qū)動的機器人

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

掃碼添加小助手

加入工程師交流群

我們需要什么

配置了Arduino IDE的Tactigon

機器人。我們使用帶有Arduino板的2輪機器人和與UART接口的BLE無線電。其他類型的機器人或定制機器人也可以正常工作。

機器人BLE MAC地址和特征

趣味

收集BLE MAC地址和特征

配置好環(huán)境并且我們的電路板開啟后,我們需要收集BLE MAC地址和特征。為此,我們使用了一個名為BLE Scanner的免費Android應(yīng)用程序。

應(yīng)用程序顯示后幾秒鐘機器人的BLE:

如我們所見,我們周圍的所有BLE設(shè)備都在本節(jié)中展示。我們需要記下Waveshare_BLE MAC地址:在這個例子中它是:00:0E:0B:0C:4A:00

通過點擊CONNECT按鈕,我們可以訪問設(shè)備的信息作為屬性,服務(wù)和自定義特征。

這里我們需要寫下CUSTOM CHARACTERISTIC UUID,在這種情況下:0000ffe1-0000 -1000-8000-00805f9b34fb。

通過這些項目,我們可以將Tactigon BLE設(shè)置為代碼的setup()部分中的BLE Central。

Tactigon Sketch

循環(huán)

在本節(jié)中,我們有草圖的核心。在頻率為50Hz時,我們更新四元數(shù)和歐拉角。

由Tactigon庫提供的Analizyng俯仰角,我們可以通過減速來確定轉(zhuǎn)向半徑內(nèi)輪和加速外輪。

Analizying roll,我們可以確定機器人的行進速度。

使用sprintf我們準備緩沖區(qū)以寫入特征。

機器人草圖

由于我們的藍牙通過UART發(fā)送接收數(shù)據(jù),因此我們可以直接在串行緩沖器中獲得輪速。

我們將機器人引腳設(shè)置如下,全部作為輸出:

要解析命令,我們首先讀取所有串行緩沖區(qū)并驗證它是否長于0:

如果命令包含“Wh”,我們可以解析字符串并收集leftSpeed和rightSpeed。

direct_motor函數(shù)將Tactigon傳輸?shù)乃俣确峙浣o機器人的每個車輪。通過這樣做Tactigon將充當虛擬方向盤!

最終注意事項

此草圖顯示了Tactigon的潛在應(yīng)用,BLE Central模式可以連接到現(xiàn)有的BLE設(shè)備并收集信息或控制它們。

請繼續(xù)關(guān)注更多Tactigon的代碼!

Alphabot2代碼

Tactigon代碼

#include

#include

#include

extern int ButtonPressed;

T_Led rLed, bLed, gLed;

T_QUAT qMeter;

T_QData qData;

T_BLE bleManager;

UUID targetUUID;

uint8_t targetMAC[6] = {0x00,0x0e,0x0b,0x0c,0x4a,0x00};

T_BLE_Characteristic accChar, gyroChar, magChar, qChar;

int ticks, ticksLed, stp, cnt, printCnt;

float roll, pitch, yaw;

void setup() {

// put your setup code here, to run once:

ticks = 0;

ticksLed = 0;

stp = 0;

cnt = 0;

//init leds

rLed.init(T_Led::RED);

gLed.init(T_Led::GREEN);

bLed.init(T_Led::BLUE);

rLed.off();

gLed.off();

bLed.off();

//init BLE

bleManager.setName(“Tactigon”);

bleManager.InitRole(TACTIGON_BLE_CENTRAL); //role: CENTRAL

targetUUID.set(“0000ffe1-0000-1000-8000-00805f9b34fb”); //target characteristic

bleManager.setTarget(targetMAC, targetUUID); //target: mac device and its char UUID

}

void loop() {

char buffData[24];

int deltaWheel, speedWheel;

int pitchThreshold, rollThreshold, th1, th2;

//update BLE characteristics @ 50Hz (20msec)

if(GetCurrentMilli() 》= (ticks +(1000 / 50)))

{

ticks = GetCurrentMilli();

//get quaternions and Euler angles

qData = qMeter.getQs();

//Euler angles: rad/sec --》 degrees/sec

roll = qData.roll * 360/6.28;

pitch = qData.pitch * 360/6.28;

yaw = qData.yaw * 360/6.28;

//build command to rover depending on Euler angles

//left/right

pitchThreshold = 15;

if(pitch 《 -pitchThreshold || pitch 》 pitchThreshold)

{

if(pitch《-pitchThreshold)

{

deltaWheel =- (fabs(pitch) - pitchThreshold)*3;

}

else

{

deltaWheel =+ (fabs(pitch) - pitchThreshold)*3;

}

}

else

{

deltaWheel=0;

}

//forward/backword

rollThreshold = 15;

th1 = 90 + rollThreshold;

th2 = 90 - rollThreshold;

roll = fabs(roll);

if(roll 》 th1)

{

speedWheel = (roll - th1) * 3;

}

else if(roll 《 th2)

{

speedWheel = (roll - th2) * 3;

}

else

{

speedWheel = 0;

}

//command in buffData

sprintf(buffData,“Wh(%d)(%d)”, speedWheel-(-deltaWheel/2), speedWheel+(-deltaWheel/2));

//if connected and attached to peripheral characteristic write in it

if(bleManager.getStatus() == 3)

{

//signal that connection is on

bLed.on();

//send command every 100msec

rLed.off();

cnt++;

if(cnt 》 5)

{

cnt = 0;

bleManager.writeToPeripheral((unsigned char *)buffData, strlen(buffData));

rLed.on();

}

}

//say hello on serial monitor every second and blink green led

printCnt++;

rLed.off();

if(printCnt 》 50)

{

//Serial.println(“Hello!”);

//Serial.println(roll);

printCnt = 0;

rLed.on();

}

}

}

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

    關(guān)注

    213

    文章

    31537

    瀏覽量

    223977
  • BLE
    BLE
    +關(guān)注

    關(guān)注

    13

    文章

    818

    瀏覽量

    66609
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6528

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    基于米爾RK3576核心板的國產(chǎn)割草機器人解決方案

    核心板引出了CAN-FD和FlexBus并行總線: 電機協(xié)同控制通過CAN總線向國產(chǎn)驅(qū)動輪電機和割草刀盤電機發(fā)送實時控制指令,確保機器人
    發(fā)表于 04-24 17:31

    為什么說關(guān)節(jié)扭矩傳感器是高端機器人的“觸覺神經(jīng)”?

    “盲動”變成“感知運動” 普通機器人靠編碼器控制位置,只能“按死命令走”。而關(guān)節(jié)扭矩傳感器實時測量每個關(guān)節(jié)受到的扭轉(zhuǎn)力,精度可達0.01牛米,采樣頻率高達1000赫茲(每秒反饋1000次)。這相當于
    發(fā)表于 04-17 17:27

    在 VisionFive 2 上實現(xiàn)機器人伺服控制

    control 在本演示中,PCA9685用于控制機器人伺服。 伺服的核心是直流電機。通過電位器和齒輪,當輸入不同的PWM(脈寬調(diào)制)信號時,可以實現(xiàn)不同的旋轉(zhuǎn)角度。通常,標準PWM(脈寬調(diào)制
    發(fā)表于 03-05 07:09

    繩子驅(qū)動機器人,會是未來嗎?

    電子發(fā)燒友網(wǎng)報道(文/梁浩斌)大家現(xiàn)在最熟悉的人形機器人,比如宇樹G1,可以很明顯地看出驅(qū)動其關(guān)節(jié)運動的電機是直接安裝在關(guān)節(jié)上,關(guān)節(jié)是通過電機和減速器直接驅(qū)動。但最近被“打假”的挪威人
    的頭像 發(fā)表于 12-03 08:27 ?1w次閱讀
    繩子<b class='flag-5'>驅(qū)動</b>的<b class='flag-5'>機器人</b>,會是未來嗎?

    高精度機器人控制的核心——基于 MYD-LT536 開發(fā)板的精密運動控制方案

    控制系統(tǒng): - 視覺定位模塊:通過 CSI 接口將數(shù)據(jù)實時傳輸至 MYD-LT536; - 反饋環(huán)路:編碼器信號經(jīng) CAN 總線反饋,實現(xiàn)機器人閉環(huán)控制與誤差自適應(yīng)補償; - 誤差修正
    發(fā)表于 11-14 15:48

    RK3576機器人核心:三屏異顯+八路攝像頭,重塑機器人交互與感知

    、遠程作業(yè)機器人、特種檢測機器人· 多攝像頭輸入:通過多路攝像頭無死角監(jiān)控作業(yè)現(xiàn)場,實現(xiàn)精準操作與安全監(jiān)控。· 多屏顯示:將不同視角的畫面、傳感器數(shù)據(jù)、控制界面分別顯示,幫助操作員遠程
    發(fā)表于 10-29 16:41

    小蘿卜機器人的故事

    經(jīng)過我的申請, 馬老師發(fā)放了, 小蘿卜機器人的, 開發(fā)權(quán)限, 原來的小蘿卜公司, 因為經(jīng)營不善倒閉, 作為科研產(chǎn)品, 幾個技術(shù)對此惋惜, 自掏腰包, 要讓小蘿卜機器人, 再生, 每次聽到小蘿卜說
    發(fā)表于 10-23 05:24

    自制巡線解迷宮機器人(上)

    ,我再實現(xiàn)一款像稚暉君所做的Qbot那樣的小型且高度集成的巡線機器人。 概述 巡線解迷宮機器人是一款能夠通過紅外反射傳感器實現(xiàn)自主巡線以及解迷宮等功能的小型三輪機器人,該
    發(fā)表于 10-20 10:39

    Arduino Uno l兩輪自平衡機器人 電機驅(qū)動無輸出求解

    Arduino Uno l兩輪自平衡機器人 電機驅(qū)動無輸出求解
    發(fā)表于 10-15 06:36

    ADI安全產(chǎn)品如何簡化不同機器人控制系統(tǒng)中安全機制的實現(xiàn)

    我們將探討各種機器人安全例,展示ADI的安全產(chǎn)品如何簡化不同機器人控制系統(tǒng)中安全機制的實現(xiàn)。
    的頭像 發(fā)表于 08-12 10:43 ?1.5w次閱讀
    ADI安全產(chǎn)品如何簡化不同<b class='flag-5'>機器人</b><b class='flag-5'>控制</b>系統(tǒng)中安全機制的實現(xiàn)

    海默RC系列機器人控制

    海默協(xié)作機器人與焊接機器人控制器HARMOROBOTICS控制器作為工業(yè)機器人的三大核心零部件之一,也是工業(yè)
    的頭像 發(fā)表于 08-01 15:35 ?1389次閱讀
    海默RC系列<b class='flag-5'>機器人</b><b class='flag-5'>控制</b>器

    工業(yè)機器人的特點

    機器人是關(guān)鍵。工業(yè)互聯(lián)網(wǎng)是通過端上的數(shù)據(jù)傳輸,經(jīng)過大數(shù)據(jù)分析和云計算處理,再進行智能化決策的一整個過程,其中端的數(shù)據(jù)傳輸是基礎(chǔ)。工業(yè)互聯(lián)網(wǎng)的端包括機器人、傳感器等一切線下連接端口。因此發(fā)展工業(yè)
    發(fā)表于 07-26 11:22

    輪式移動機器人電機驅(qū)動系統(tǒng)的研究與開發(fā)

    【摘 要】以嵌入式運動控制體系為基礎(chǔ),以移動機器人為研究對象,結(jié)合三輪結(jié)構(gòu)輪式移動機器人,對二輪差速驅(qū)動轉(zhuǎn)向自主移動機器人運動學和動力學空間
    發(fā)表于 06-11 14:30

    盤點#機器人開發(fā)平臺

    地瓜機器人RDK X5開發(fā)套件地瓜機器人RDK X5開發(fā)套件產(chǎn)品介紹 旭日5芯片10TOPs算力-電子發(fā)燒友網(wǎng)機器人開發(fā)套件 Kria KR260機器人開發(fā)套件 Kria KR260-
    發(fā)表于 05-13 15:02

    詳細介紹機場智能指路機器人的工作原理

    帶)定位、Wi - Fi 定位等。藍牙定位可以通過與機場內(nèi)部署的藍牙信標進行通信,獲取機器人的大致位置信息。UWB 定位則利用超寬帶信號實現(xiàn)更精確的定位,能夠在復(fù)雜的室內(nèi)環(huán)境中達到較高的定位精度,誤差可控制
    發(fā)表于 05-10 18:26
    施秉县| 阿拉善左旗| 三都| 新邵县| 长武县| 海淀区| 阿拉善右旗| 乌什县| 合作市| 邹城市| 白城市| 吉首市| 依安县| 南漳县| 兴城市| 芒康县| 新巴尔虎左旗| 如皋市| 景宁| 剑川县| 五华县| 惠来县| 新龙县| 永靖县| 淮北市| 唐海县| 高碑店市| 本溪市| 镇宁| 濮阳县| 日喀则市| 台中县| 佛坪县| 鞍山市| 桦川县| 东海县| 中超| 清徐县| 闸北区| 淮南市| 万山特区|