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

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

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

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

怎樣用語(yǔ)音命令控制直流電機(jī)

454398 ? 來(lái)源:工程師吳畏 ? 2019-07-31 11:36 ? 次閱讀

電路圖

建立連接如下:

ENA L298N到Arduino 11的引腳

L298N的ENB到Arduino的10號(hào)引腳

L298N的IN1到Arduino的9號(hào)引腳

L298N的IN2到Arduino的第8針

L298N的IN3到Arduino的第7針

L298N的IN4到Arduino的第6針

將正在使用的電池電源正極連接到L298N的12V連接器,電池到L298N的GND,以及L298N的GND到GND of Arduino

最后,連接L298N兩端的兩個(gè)電機(jī)

怎樣用語(yǔ)音命令控制直流電機(jī)

如何運(yùn)行程序

首先,在Arduino IDE的帖子末尾復(fù)制并粘貼Arduino代碼并上傳代碼。

然后從Wekinator的示例頁(yè)面下載草圖。

下載MFCC的可執(zhí)行文件(mel-frequency cepstral coefficient)。我有一個(gè)64位操作系統(tǒng),所以我下載了“win64”。

下載后,將其解壓縮并運(yùn)行“.exe”文件。它將如下所示?,F(xiàn)在您需要一個(gè)麥克風(fēng)來(lái)為Wekinator提供輸入。如果已連接外接麥克風(fēng),請(qǐng)確保在聲音設(shè)置中選擇了該麥克風(fēng)。

您需要另一個(gè)草圖來(lái)獲取Wekinator的輸出。該草圖在本文末尾給出。將其粘貼到新的處理窗口并運(yùn)行草圖。

打開Wekinator并進(jìn)行如下圖所示的設(shè)置。將輸入設(shè)置為13,將輸出設(shè)置為1.將類型設(shè)置為“所有動(dòng)態(tài)時(shí)間扭曲”,使用5種手勢(shì)類型,然后單擊“下一步”。

現(xiàn)在按住output_1前面的“+”按鈕并說(shuō)“前進(jìn)”。

然后按住output_2前面的“+”按鈕并說(shuō)出“向后”。

然后按住output_3前面的“+”按鈕并說(shuō)出“right”。

然后按住output_4前面的“+”按鈕并說(shuō)“左”。

然后按住“ outpu前面的+“按鈕t_5并說(shuō)“停止”。

然后,單擊“Train”,然后單擊“Run”。確保已上載Arduino代碼并且處理草圖正在后臺(tái)運(yùn)行?,F(xiàn)在電機(jī)應(yīng)根據(jù)您的聲控命令移動(dòng)。嘗試用你的聲音進(jìn)行測(cè)試,并在需要時(shí)重復(fù)上述步驟進(jìn)行重新訓(xùn)練。

它是如何工作的?

總之,這個(gè)項(xiàng)目有三個(gè)部分:Wekinator,Processing和Arduino。使用機(jī)器學(xué)習(xí),Wekinator正在告訴處理它正在收聽(tīng)的語(yǔ)音是否是預(yù)先訓(xùn)練好的語(yǔ)音命令。然后處理讀取該消息并將其傳遞給Arduino,然后Arduino決定是否順時(shí)針/逆時(shí)針轉(zhuǎn)動(dòng)電機(jī)。 Wekinator和處理之間發(fā)生的所有通信都是通過(guò)OSC(開放式聲音控制)協(xié)議。處理和Arduino之間的通信是通過(guò)串口完成的。

Arduino代碼

#include //Including the library that will help us in receiving and sending the values from processing

ValueReceiver《1》 receiver; /*Creating the receiver that will receive only one value.

Put the number of values to synchronize in the brackets */

/* The below variable will be synchronized in the processing

and it should be same on both sides. */

int output;

//Motor Pins

int EN_A = 11;

int IN1 = 9;

int IN2 = 8;

int IN3 = 7;

int IN4 = 6;

int EN_B = 10;

void setup()

{

/* Starting the serial communication because we are communicating with the

Processing through serial. The baudrate should be same as on the processing side. */

Serial.begin(19200);

//Initializing the motor pins as output

pinMode(EN_A, OUTPUT);

pinMode(IN1, OUTPUT);

pinMode(IN2, OUTPUT);

pinMode(IN3, OUTPUT);

pinMode(IN4, OUTPUT);

pinMode(EN_B, OUTPUT);

digitalWrite(EN_A, HIGH);

digitalWrite(EN_B, HIGH);

// Synchronizing the variable with the processing. The variable must be int type.

receiver.observe(output);

}

void loop()

{

// Receiving the output from the processing.

receiver.sync();

// Matching the received output to light up led‘s

if (output == 1)

{

//Forward

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

}

else if (output == 2)

{

//Backward

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, HIGH);

}

else if (output == 3)

{

//Right

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

}

else if (output == 4)

{

//Left

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

}

else if (output == 5)

{

//Stop

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

}

}

處理代碼

import vsync.*; // Importing the library that will help us in sending and receiving the values from the Arduino

import processing.serial.*; // Importing the serial library

// Below libraries will connect and send, receive the values from wekinator

import oscP5.*;

import netP5.*;

// Creating the instances

OscP5 oscP5;

NetAddress dest;

ValueSender sender;

// This variable will be syncronized with the Arduino and it should be same on the Arduino side.

public int output;

void setup()

{

// Starting the serial communication, the baudrate and the com port should be same as on the Arduino side.

Serial serial = new Serial(this, “COM10”, 19200);

sender = new ValueSender(this, serial);

// Synchronizing the variable as on the Arduino side.

sender.observe(“output”);

// Starting the communication with wekinator. listen on port 12000, return messages on port 6448

oscP5 = new OscP5(this, 12000);

dest = new NetAddress(“127.0.0.1”, 6448);

}

//This is called automatically when OSC message is received

void oscEvent(OscMessage theOscMessage) {

if (theOscMessage.checkAddrPattern(“/output_1”)==true)

{

output = 1;

}

else if (theOscMessage.checkAddrPattern(“/output_2”)==true)

{

output = 2;

}

else if (theOscMessage.checkAddrPattern(“/output_3”) == true)

{

output = 3;

}

else if (theOscMessage.checkAddrPattern(“/output_4”) == true)

{

output = 4;

}

else if (theOscMessage.checkAddrPattern(“/output_5”) == true)

{

output = 5;

}

else

{

}

}

void draw()

{

// Nothing to be drawn for this example

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    36

    文章

    1710

    瀏覽量

    70289
  • 語(yǔ)音控制
    +關(guān)注

    關(guān)注

    5

    文章

    484

    瀏覽量

    28271
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用MOS管進(jìn)行直流電機(jī)控制

    在現(xiàn)代電子技術(shù)中,直流電機(jī)因其高效、可控和可靠的特性而被廣泛應(yīng)用于各種工業(yè)和消費(fèi)產(chǎn)品中。MOS管因其高速開關(guān)特性和低導(dǎo)通電阻成為控制直流電機(jī)的理想選擇。 MOS管的工作原理 MOS管是一種電壓
    的頭像 發(fā)表于 11-05 13:51 ?807次閱讀

    無(wú)刷直流電機(jī)是什么?它有什么特點(diǎn)?

    無(wú)刷直流電機(jī)(Brushless DC Motor,簡(jiǎn)稱BLDC)是一種沒(méi)有電刷和換向器的電機(jī),它通過(guò)電子方式實(shí)現(xiàn)換向。這種電機(jī)在許多應(yīng)用中非常受歡迎,因?yàn)樗哂懈咝省⒏呖煽啃?、低維護(hù)成本和長(zhǎng)壽命
    的頭像 發(fā)表于 10-23 10:48 ?851次閱讀

    有刷直流電機(jī)是什么?有刷直流電機(jī)的工作原理是什么?

    有刷直流電機(jī)是一種常見(jiàn)的直流電機(jī),它通過(guò)電刷和換向器來(lái)實(shí)現(xiàn)電流方向的改變,從而驅(qū)動(dòng)電機(jī)旋轉(zhuǎn)。有刷直流電機(jī)具有結(jié)構(gòu)簡(jiǎn)單、成本較低、控制方便等優(yōu)
    的頭像 發(fā)表于 10-22 16:03 ?726次閱讀

    直流電機(jī)的應(yīng)用原理及控制原理是什么?

    直流電機(jī)(Direct Current Motor,簡(jiǎn)稱DC Motor)是一種將直流電能轉(zhuǎn)換為機(jī)械能的電機(jī)。它廣泛應(yīng)用于各種工業(yè)和民用設(shè)備中,如電動(dòng)車輛、機(jī)床、起重機(jī)、電梯、家用電器等。 一
    的頭像 發(fā)表于 10-22 14:23 ?412次閱讀

    直流電機(jī)有哪些型號(hào)?如何分類的?

    直流電機(jī)是一種將直流電能轉(zhuǎn)換為機(jī)械能的電機(jī),廣泛應(yīng)用于各種工業(yè)、交通和家用電器等領(lǐng)域。直流電機(jī)的型號(hào)和分類方式多樣,可以根據(jù)不同的標(biāo)準(zhǔn)進(jìn)行分類。以下是對(duì)
    的頭像 發(fā)表于 10-22 14:20 ?895次閱讀

    直流電機(jī)主要種類有哪些?直流電機(jī)的勵(lì)磁方式有哪些?

    直流電機(jī)是一種將直流電能轉(zhuǎn)換為機(jī)械能的電機(jī),廣泛應(yīng)用于各種工業(yè)和民用領(lǐng)域。根據(jù)其結(jié)構(gòu)和用途,直流電機(jī)可以分為以下幾種主要類型: 永磁直流電機(jī)
    的頭像 發(fā)表于 10-22 14:16 ?747次閱讀

    直流電機(jī)是什么?具有什么特點(diǎn)?

    直流電機(jī)是一種利用直流電能來(lái)驅(qū)動(dòng)的電機(jī),其主要特點(diǎn)是具有較高的啟動(dòng)轉(zhuǎn)矩、良好的調(diào)速性能和較高的效率。直流電機(jī)廣泛應(yīng)用于各種工業(yè)、交通、航空、航天等領(lǐng)域。 一、
    的頭像 發(fā)表于 10-22 14:10 ?744次閱讀

    直流電機(jī)是什么 直流電機(jī)介紹及其工作原理

    直流電機(jī)(Direct Current Machine)是一種能夠?qū)崿F(xiàn)直流電能與機(jī)械能互相轉(zhuǎn)換的旋轉(zhuǎn)電機(jī)。根據(jù)應(yīng)用場(chǎng)景的不同,直流電機(jī)既可以作為直流
    的頭像 發(fā)表于 10-18 15:09 ?1096次閱讀

    直流電機(jī)的轉(zhuǎn)速與線圈的關(guān)系

    直流電機(jī)的轉(zhuǎn)速與線圈的關(guān)系是一個(gè)復(fù)雜而深入的話題,涉及到電機(jī)的工作原理、構(gòu)造、控制方式等多個(gè)方面。 直流電機(jī)的基本原理 直流電機(jī)是一種將
    的頭像 發(fā)表于 09-06 16:47 ?1145次閱讀

    直流電機(jī)的主磁極由什么組成

    直流電機(jī)是一種將直流電能轉(zhuǎn)換為機(jī)械能的設(shè)備,廣泛應(yīng)用于工業(yè)、交通、航空、航天等領(lǐng)域。直流電機(jī)的工作原理是利用電磁感應(yīng)原理,將電能轉(zhuǎn)換為機(jī)械能。直流電機(jī)主要由定子、轉(zhuǎn)子、換向器、電刷等部
    的頭像 發(fā)表于 08-26 10:28 ?991次閱讀

    PWM如何調(diào)節(jié)直流電機(jī)轉(zhuǎn)速

      PWM(脈寬調(diào)制)是一種廣泛應(yīng)用的電機(jī)調(diào)速技術(shù),尤其在直流電機(jī)控制中,PWM技術(shù)以其高效、精確和靈活的特點(diǎn),成為電機(jī)速度控制的首選方法。
    的頭像 發(fā)表于 06-19 14:07 ?2168次閱讀

    直流電機(jī)正反轉(zhuǎn)的控制方式

    直流電機(jī),作為一種將直流電能轉(zhuǎn)化為機(jī)械能的電動(dòng)機(jī),廣泛應(yīng)用于各種工業(yè)和民用領(lǐng)域。在實(shí)際應(yīng)用中,經(jīng)常需要實(shí)現(xiàn)直流電機(jī)的正反轉(zhuǎn),以滿足不同的工作需求。本文將詳細(xì)介紹直流電機(jī)正反轉(zhuǎn)的實(shí)現(xiàn)方法
    的頭像 發(fā)表于 06-04 17:20 ?5125次閱讀

    永磁無(wú)刷直流電機(jī)控制方法

    永磁無(wú)刷直流電機(jī)(BLDCM)因其高效率、高功率密度、低維護(hù)成本等優(yōu)點(diǎn),在電動(dòng)汽車、航空航天、工業(yè)自動(dòng)化等領(lǐng)域得到了廣泛應(yīng)用。為了充分發(fā)揮永磁無(wú)刷直流電機(jī)的性能,采用合適的控制方法至關(guān)重要。本文將詳細(xì)介紹永磁無(wú)刷
    的頭像 發(fā)表于 06-03 18:21 ?1486次閱讀

    直流電機(jī)控制器電路圖分享

    直流電機(jī)控制器是一種電子控制系統(tǒng),用于控制直流電機(jī)的轉(zhuǎn)速、轉(zhuǎn)向和扭矩等參數(shù),從而實(shí)現(xiàn)直流電機(jī)的自
    的頭像 發(fā)表于 02-04 15:52 ?8386次閱讀
    <b class='flag-5'>直流電機(jī)</b><b class='flag-5'>控制</b>器電路圖分享

    直流電機(jī)的勵(lì)磁是直流電嗎?直流電機(jī)勵(lì)磁的作用?

    直流電機(jī)的勵(lì)磁是直流電嗎?直流電機(jī)勵(lì)磁的作用?直流電機(jī)勵(lì)磁方式的區(qū)分? 直流電機(jī)的勵(lì)磁是直流電。
    的頭像 發(fā)表于 01-18 16:07 ?3122次閱讀
    主站蜘蛛池模板: 亚洲亚洲人成网站在线观看| 午夜在线观看免费高清在线播放| aaa在线| 国产美女一级高清免费观看| 牛牛碰在线| 国产牛牛| 在线亚洲一区二区| bt天堂在线观看| xx日本69| 精品一区二区三区在线视频| 一区二区三区四区精品| 天堂在线观看视频| 在线网站你懂| 午夜女同影院| www.亚洲5555.com| 日本一级高清不卡视频在线| h网站在线免费观看| 男人午夜天堂| 日本免费在线| 亚洲成在| 婷婷5月天| 免费永久欧美性色xo影院| 日韩第五页| 色多多在线观看播放| 四虎最新网址在线观看| 欧美高清milf在线播放| 成人精品视频在线观看播放| 国产特级毛片aaaaaa毛片| 黄网站免费大全| 亚洲午夜网站| 波多野吉衣一区二区三区在线观看| 69日本xxxxxxxxx98| 性夜影院爽黄a爽免费视频| 亚洲美国avcom| 天堂电影免费在线资源| 毛片在线网站| 国语自产自拍秒拍在线视频| 午夜免费剧场| 丁香六月欧美| xxxx性bbbb| 欧美人成绝费网站色www吃脚|