在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何利用ADXL335實現手勢控制機器人的設計

科技觀察員 ? 來源:hackster.io ? 作者:hackster.io ? 2022-05-07 17:33 ? 次閱讀

該無線控制的機器人汽車使用手勢:手的傾斜/方向來向前、向后、向左或向右行駛。

說到機器人,手勢控制機器人是業余愛好者和學生在物理和實際項目中理解和實施微控制器知識的最常見的項目類型之一。其背后的概念很簡單:手掌的方向控制機器人汽車的運動。但如果你要問它是怎么做到的?那就得讓我們仔細分解一下。

為了更好地理解,我們將通過了解每個組件的角色和功能,然后將它們組合起來以實現所需的性能。

1. ADXL335(加速度計)

加速度計的功能很簡單:感知手腕的方向。加速度計測量加速度,包括重力加速度“g”。因此,我們可以使用加速度計通過測量 ADXL335 任何特定軸上的“g”分量來感知手腕的方向,如下圖所示:

pYYBAGJ2PMCAT4zaAAQPc98DUbE171.png

由于手的傾斜,X 和/或 Y 軸的角度隨垂直方向發生變化,因此“g”加速度的分量也作用在它們上,這可以被測量并因此指示手的方向。

ADXL335 可以測量高達 3g 的加速度,并通過將其軸引腳連接到 Arduino模擬引腳來與 Arduino 接口。加速度計輸出與加速度成比例的電壓值。

在這個項目中,加速度計連接到 Arduino Nano 并附在手掌上。ADXL335 輸出電壓范圍為 0 到 Vcc(施加電壓通常為 3.3V),并由 Arduino 的模擬引腳讀取。因此對于用戶來說,我們得到一個范圍從 0 到 1024(10 位 ADC)的值。不同的方向為每個軸產生不同的模擬值,然后映射到不同的機器人運動。

加速度計的電路圖是:

pYYBAGJ2PLyAGexOAAJsTRCEnwM667.png

了解 ADXL335 工作的測試代碼如下:

pYYBAGJ2PLiAG9ByAADNNyHx_4k112.png

你可以運行這個程序來查看你的手掌和手腕向前、向后、向左和向右傾斜的值,這些值最終將用于控制機器人。

2. RF-433 發射器和接收器

RF模塊的功能很簡單:將手腕Arduino Nano的命令數據傳輸到控制Arduino Uno的電機。RF 模塊使用 433hz 頻率的無線電波,因此命名為 RF-433。它們使用幅度調制來發送數據,但不會涉及太多技術細節并保持簡單,它們將用于向機器人傳輸命令,即:向前、向后、向右或向左移動。在沒有數據的情況下,靜止不動。它們的工作范圍可達 10 米。

現在要了解如何在我們的項目中實現射頻模塊,讓我們依次處理發射器和接收器電路。

發射器電路

發射器電路由兩部分組成:發射器RF和編碼器HT12E。發射器由一個數據引腳、一個天線、一個接地和電源組成。向發送器提供數據是HT12E編碼器的工作。編碼器由 4 個可以發送數據的數據引腳組成。我們將使用這 4 個數據引腳來表示四種運動,這些引腳上的高電平將分別表示四種運動之一,所有引腳上的低電平表示靜止。

電路圖如圖所示:

pYYBAGJ2PLSAeJi0AAJoBVpwHAg607.png

左側引腳(A0-A7)是地址引腳,定義了將交換數據的對(具有相同地址的發送器和接收器將僅共享數據)。我們將 A0-A7 設置為 LOW(接地)。

數據輸入引腳連接到 Arduino 數字引腳(在本項目中為 6 到 9),它們將輸出命令數據為:

數字引腳命令(高電平時)

9 前鋒

10 反向

11 左

12 右

我們將根據 ADXL335 的輸入將數字引腳寫入高電平以執行所需的運動。

接收電路

接收器電路與所示的發射器電路完全相似,但數據引腳不是作為 Arduino 的輸出,在這種情況下,它們將被讀取為輸入,以接收 Arduino Uno 的命令并根據需要運行電機:

pYYBAGJ2PK-ADbS8AAIj-Kuz-_8557.png

為簡化起見,您可以在引腳 17 處將 LED 與 1K 電阻串聯,而不是如圖所示的復雜電路,以指示與發射器的正確連接。

3.電機護罩

由于 Adafruit 庫 AFMotor 的可用性,電機護罩是最容易處理的部分,鏈接:- https://github.com/adafruit/Adafruit-Motor-Shield-library

下載并復制 Arduino 庫文件夾中的庫,以便能夠將其包含在程序草圖中。

AFMotor 庫的示例如下所示:

#include
AF_DCMotor motor(4);
//Attach motor wires to point Motor 4 on shield
void setup()
{
Serial.begin(9600);
// set up Serial library at 9600 bps
Serial.println("Motor test!");
// turn on motor
motor.setSpeed(200);
motor.run(RELEASE);
}
void loop()
{
uint8_t i;
Serial.print("tick");
motor.run(FORWARD);
for (i=0; i<255; i++)?
{
motor.setSpeed(i);
delay(10);
}
for (i=255; i!=0; i--)
{
motor.setSpeed(i);
delay(10);
}
Serial.print("tock");
motor.run(BACKWARD);
for (i=0; i<255; i++) {
motor.setSpeed(i);
delay(10);
}
for (i=255; i!=0; i--) {
motor.setSpeed(i);
delay(10);
}
Serial.print("tech");
motor.run(RELEASE);
delay(1000);

4.結合所有部分

最后也是最后一部分包括將上述所有部分組合在一起,形成一個完整的機器人,遵循手的命令!

由于電機屏蔽使用幾乎所有的數字引腳,我們將使用 Arduino Uno 的模擬引腳來讀取接收器數據。最終的電路圖如下所示:

pYYBAGJ2PKiAZv_1AAGiLR1eVf4419.png

電機屏蔽處理與電機的連接。將 9V 電池連接到屏蔽的電源輸入端。

注意:我個人更喜歡將 2 甚至 3.9V 電池并聯到屏蔽電源輸入端,以提供足夠的電力來運行所有四個電機。我已將四個電機連接成一組 2(同一側電機并聯連接在一起,因此只需要電機點 3 和 4 即可運行)。

pYYBAGJ2PKSABYZ-AAN5EXyf5_M083.png

最終代碼
Arduino Nano:

int x_axis = 0;
int y_axis = 0;
int forward = 9;
int backward = 10;
int right = 11;
int left = 12;
void setup()
{
pinMode(A0, INPUT); //X-Axis
pinMode(A3, OUTPUT); //Y-Axis
pinMode(forward, OUTPUT); //HIGH to move Forward
pinMode(backward, OUTPUT); //HIGH to move Backward
pinMode(right, OUTPUT); //HIGH to move Right
pinMode(left, OUTPUT); //HIGH to move Left
Serial.begin(9600);
}
void loop()
{
x_axis = analogRead(A0);
y_axis = analogRead(A3);
Serial.print(" X = ");
Serial.println(x_axis);
Serial.print(" Y = ");
Serial.println(y_axis);
if (y_axis >= 390)
{
Serial.println("Forward");
digitalWrite(forward, HIGH);
}
else
{
if (y_axis <= 310)
{
Serial.println("BACK");
digitalWrite(backward, HIGH);
}
else
{
if (x_axis >= 380)
{
Serial.println("RIGHT");
digitalWrite(right, HIGH);
}
else
{
if (x_axis <= 320)
{
Serial.println("LEFT");
digitalWrite(left, HIGH);
}
Serial.println(" ");
}
}
}
delay(200);
if (x_axis > 320 && x_axis < 380 && y_axis > 310 && y_axis < 390)
{
digitalWrite(forward, LOW);
digitalWrite(backward, LOW);
digitalWrite(right, LOW);
digitalWrite(left, LOW);
}
}

#include
AF_DCMotor motor_right(3);
AF_DCMotor motor_left(4);
int forward=0;
int backward=0;
int right=0;
int left=0;
void setup()
{
pinMode(A2,INPUT);
pinMode(A3,INPUT);
pinMode(A4,INPUT);
pinMode(A5,INPUT);
Serial.begin(9600);
motor_right.setSpeed(255);
motor_left.setSpeed(255);
motor_right.run(RELEASE);
motor_left.run(RELEASE);
}
void loop()
{
forward=digitalRead(A0);
backward=digitalRead(A1);
right=digitalRead(A2);
left=digitalRead(A3);
if(forward==HIGH)
{
motor_right.run(FORWARD);
motor_left.run(FORWARD);
Serial.println("Forward");
}
if(backward==HIGH)
{
motor_right.run(BACKWARD);
motor_left.run(BACKWARD);
Serial.println("Reverse");
}
if(right==HIGH)
{
motor_right.run(FORWARD);
motor_left.run(RELEASE);
Serial.println("RIGHT");
}
if(left==HIGH)
{
motor_right.run(RELEASE);
motor_left.run(FORWARD);
Serial.println("LEFT");
}
if(left==LOW&&right==LOW&&forward==LOW&&backward==LOW)
{
motor_right.run(RELEASE);
motor_left.run(RELEASE);
}
delay(100);
}

發射器電路:

pYYBAGJ2PJqANy-AAASARTr7zHc438.png

加速度計:

pYYBAGJ2PJWAKZkCAAbxzIXTWbo830.png

完整的全部模塊:

poYBAGJ2PJCAUgYmAAYv8Uop1Qk663.png

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

    關注

    212

    文章

    29319

    瀏覽量

    211070
  • 無線控制
    +關注

    關注

    0

    文章

    97

    瀏覽量

    20178
  • ADXL335
    +關注

    關注

    1

    文章

    15

    瀏覽量

    10603
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    請問下ADXL335溫度飄零是線性的嗎?

    請問下ADXL335溫度飄零是線性的么? 采集的時候發現X軸輸出 在 20°的時候有轉折點
    發表于 01-01 06:13

    求基于STM32的ADXL335的程序?

    求基于STM32的ADXL335的程序?
    發表于 12-28 21:28

    加速度傳感器ADXL203和ADXL335

    ADXL203和ADXL335除了雙軸和三軸的區別還有其他什么區別呢?我最近要做一個傾斜測量的項目,手頭有ADXL335,但是老師讓用ADXL203,他們有什么大的區別嗎?
    發表于 04-22 17:25

    請問怎么將adxl335與PSoC接口

    大家好,我是PSoC的新手。我想把一個ADXL335加速度計與PSoC3(CY8CKIT-030)接口。有人能建議我怎么做嗎? 以上來自于百度翻譯 以下為原文Hello guys, I am a
    發表于 01-24 07:51

    【Longan Nano申請】手勢控制云端互聯全息投影機器人

    項目名稱:手勢控制云端互聯全息投影機器人試用計劃:近年來,各大行業巨頭在語音識別人工智能的競爭此起彼伏,如蘋果公司的語音助手siri,在網絡上一度掀起過熱潮,現在還有天貓精靈等從智能手機中獨立出來
    發表于 10-22 10:24

    ADXL335三軸加速度計簡介

    STM32F030C8T6單片機與GY-61 ADXL335模塊測角度ADXL335 是一款小尺寸、薄型、低功耗、完整的三軸加速度計,提供經過信號調理的電壓輸出,能以最小±3 g 的滿量程范圍測量
    發表于 12-02 06:47

    基于Arduino設計的手勢控制機器人

    描述如何在家制作 DIY Arduino 手勢控制機器人接收器(坦克)所需的零件:1) 機器人坦克底盤 2) Arduino Nano V3 3) L298N 電機驅動器 4) NRF
    發表于 06-20 09:21

    使用Arduino和PAJ7620手勢傳感器制作手勢控制機器人

    使用Arduino和PAJ7620手勢傳感器制作手勢控制機器人,簡單程序即可實現。小小的傳感器可以識別各種
    發表于 09-27 06:17

    ADXL335,pdf,Accelerometer

    The ADXL335 is a small, thin, low power, complete 3-axis accel-erometer with signal conditioned
    發表于 03-01 09:10 ?80次下載

    ADXL335小型低功耗三軸加速度計

    The ADXL335 is a small, thin, low power, complete 3-axis accelerometer with signal conditioned
    發表于 09-28 09:53 ?20次下載
    <b class='flag-5'>ADXL335</b>小型低功耗三軸加速度計

    ADXL335 小尺寸、低功耗、三軸±3G 加速度計

    電子發燒友網為你提供(adi)ADXL335相關數據表資料,例如:ADXL335的引腳圖、接線圖、封裝手冊、中文資料、英文資料,ADXL335真值表,ADXL335管腳等資料,希望可以
    發表于 02-15 18:37
    <b class='flag-5'>ADXL335</b> 小尺寸、低功耗、三軸±3G 加速度計

    用于Arduino的ADXL335加速度計

    電子發燒友網站提供《用于Arduino的ADXL335加速度計.zip》資料免費下載
    發表于 07-04 11:25 ?0次下載
    用于Arduino的<b class='flag-5'>ADXL335</b>加速度計

    采用ADXL335加速度計的交互式Pong PC游戲

    電子發燒友網站提供《采用ADXL335加速度計的交互式Pong PC游戲.zip》資料免費下載
    發表于 12-07 09:17 ?0次下載
    采用<b class='flag-5'>ADXL335</b>加速度計的交互式Pong PC游戲

    ADXL335三軸加速度計開源分享

    電子發燒友網站提供《ADXL335三軸加速度計開源分享.zip》資料免費下載
    發表于 12-12 11:45 ?7次下載
    <b class='flag-5'>ADXL335</b>三軸加速度計開源分享

    使用ADXL335三軸加速度計制作快速簡便的設備

    電子發燒友網站提供《使用ADXL335三軸加速度計制作快速簡便的設備.zip》資料免費下載
    發表于 06-09 09:50 ?1次下載
    使用<b class='flag-5'>ADXL335</b>三軸加速度計制作快速簡便的設備
    主站蜘蛛池模板: 午夜视频在线网站 | 欧美最猛性xxxx高清 | 中文字幕11页 | 天天操天天弄 | 欧美极品 | 欧美激情αv一区二区三区 欧美激情第一欧美在线 | 午夜色网 | 亚洲九九香蕉 | 又黄又视频 | 免费看欧美一级特黄α大片 | tube性欧美另类 | 天堂影院jav成人天堂免费观看 | 日本免费不卡一区 | 亚洲综合日韩欧美一区二区三 | 欧美一级特黄aaaaaa在线看片 | 国内91视频 | 男人j进入女人j在线视频 | 亚洲欧美精品一区二区 | 奇米欧美成人综合影院 | 天天做人人爱夜夜爽2020毛片 | 久久亚洲精品玖玖玖玖 | 久久一级毛片 | 男女午夜免费视频 | 在线观看中文字幕一区 | 久久久夜色精品国产噜噜 | 亚洲欧美一区二区久久香蕉 | 免费一级毛片不卡在线播放 | 天堂在线国产 | 4455vw亚洲毛片 | 国产一区二区三区欧美精品 | 天堂资源www天堂在线 | 欧美人与禽 | 国内真实下药迷j在线观看 国内自拍 亚洲系列 欧美系列 | 奇米久草| 簧 色 成 人 | 三级黄色在线视频 | 成人av在线电影 | 人与禽一级一级毛片 | 欧美日韩国产成人高清视频 | www4hu| 久久精品国产精品亚洲红杏 |