色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

如何訓練Wekinator控制Arduino

454398 ? 來源:工程師吳畏 ? 2019-07-31 09:00 ? 次閱讀

電路圖

Arduino的引腳11連接到橙色LED的正極引線,通過220歐姆電阻將LED的負極引線連接到Arduino的地。類似地,通過220歐姆電阻將白色LED的正極引線連接到Arduino的引腳10和LED的負極引線連接到Arduino。

如何訓練Wekinator控制Arduino

程序入門

首先,在Arduino IDE中加載下面為Arduino提供的代碼。然后上傳給定代碼以在IDE中處理。

之后,打開Wekinator并將輸入更改為1并輸出為2并離開另一個選項。

點擊“下一步”,會出現一個新窗口。現在從處理的輸入窗口,單擊橙色框,在Wekinator中,在輸出-1框中輸入1,然后開始錄制半秒。

現在,單擊處理中的白色框,在Wekinator中,在輸出-1框中輸入0并在輸出-2框中輸入1并開始記錄半秒。

現在點擊“Train”,然后點擊“Run”。現在,當您點擊橙色框時,連接到引腳11的LED將亮起,當您單擊白色框時,連接到Arduino引腳10的LED將亮起。

Arduino代碼

代碼用注釋解釋。

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

ValueReceiver《2》 receiver; /*Creating the receiver that will receive up to 2 values.

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

/* The below two variables will be synchronized in the processing

and they should be same on both sides. */

int output;

int output1;

// Initializing the pins for led‘s

int orange_led = 11;

int white_led = 10;

void setup()

{

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

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

Serial.begin(19200);

pinMode(white_led, OUTPUT);

pinMode(orange_led, OUTPUT);

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

receiver.observe(output);

receiver.observe(output1);

}

void loop()

{

// Receiving the output from the processing.

receiver.sync();

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

if (output == 1)

{

digitalWrite(orange_led, HIGH);

}

else if (output == 0)

{

digitalWrite(orange_led, LOW);

}

if (output1 == 1)

{

digitalWrite(white_led, HIGH);

}

else if(output1 == 0)

{

digitalWrite(white_led, LOW);

}

}

處理代碼(輸入到Wekinator)

// Importing the library which will help us in communicating with the wekinator

import oscP5.*;

import netP5.*;

//creating the instances

OscP5 oscP5;

NetAddress dest;

float bx;

void setup() {

// Size of output window

size(400, 100, P3D);

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

oscP5 = new OscP5(this,9000);

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

}

void draw() {

// Creating the boxes in window

blocks();

// Send the OSC message to wekinator

sendOsc();

}

void mousePressed()

{

if (mouseX 》 25 && mouseX 《 75)

{

bx=1;

}

if (mouseX 》 325 && mouseX 《 375)

{

bx=2;

}

}

void sendOsc() {

OscMessage msg = new OscMessage(“/wek/inputs”);

msg.add((float)bx);

oscP5.send(msg, dest);

}

void blocks()

{

background(0);

fill(255, 155, 0);

rect(25, 25, 50, 50);

fill(255, 255, 255);

rect(325, 25, 50, 50);

}

處理代碼(Wekinator的輸出)

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;

// These variables will be syncronized with the Arduino and they should be same on the Arduino side.

public int output;

public int output1;

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 variables as on the Arduino side. The order should be same.

sender.observe(“output”);

sender.observe(“output1”);

// 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);

}

// Recieve OSC messages from Wekinator

void oscEvent(OscMessage theOscMessage) {

if (theOscMessage.checkAddrPattern(“/wek/outputs”) == true) {

// Receiving the output from wekinator

float value = theOscMessage.get(0).floatValue(); // First output

float value1 = theOscMessage.get(1).floatValue(); // Second output

// Converting the output to int type

output = int(value);

output1 = int(value1);

}

}

void draw()

{

// Nothing to be drawn for this example

}

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

    關注

    188

    文章

    6471

    瀏覽量

    187244
收藏 人收藏

    評論

    相關推薦

    如何使用Arduino實現CAN總線通信呢

    CAN(Controller Area Network)總線是一種常用于汽車和工業控制系統的串行通信協議,以其高可靠性和實時性而聞名。Arduino,作為一種流行的開源微控制器平臺,可以通過附加
    的頭像 發表于 12-23 09:06 ?231次閱讀

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數配置等。 一、硬件準備 Arduino開發板 :確保你有一塊Arduino開發板,如Arduino Uno
    的頭像 發表于 11-22 09:24 ?647次閱讀

    stm32與Arduino的比較

    在微控制器的世界里,STM32和Arduino是兩個經常被提及的名字。STM32是一系列由STMicroelectronics生產的高性能微控制器,而Arduino則是一個開源電子原型
    的頭像 發表于 11-19 15:45 ?1017次閱讀

    如何使用Arduino實現CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協議,廣泛應用于汽車電子、工業自動化等領域。它以其高可靠性、實時性和靈活性而受到青睞。Arduino作為一個
    的頭像 發表于 11-12 10:09 ?1010次閱讀

    什么是協議分析儀和訓練

    協議分析儀和訓練器是兩種不同但相關的設備或工具,它們在網絡通信、電子設計和測試等領域發揮著重要作用。以下是對這兩種設備的詳細解釋:一、協議分析儀 定義:協議分析儀(Protocol Analyzer
    發表于 10-29 14:33

    電磁干擾訓練系統原理是什么

    智慧華盛恒輝電磁干擾訓練系統的原理主要基于電磁干擾(EMI)的基本原理,即利用電磁波對電子設備或系統產生的干擾,通過模擬真實的電磁環境,對受訓人員進行電磁干擾應對能力的訓練。以下是電磁干擾訓練系統
    的頭像 發表于 07-22 16:34 ?367次閱讀

    海上電磁干擾訓練系統

    智慧華盛恒輝海上電磁干擾訓練系統是一種專門用于模擬海上電磁環境、訓練人員應對電磁干擾能力的系統。以下是對海上電磁干擾訓練系統的詳細解析: 智慧華盛恒輝系統概述 智慧華盛恒輝海上電磁干擾訓練
    的頭像 發表于 07-15 16:05 ?279次閱讀

    【大語言模型:原理與工程實踐】大語言模型的預訓練

    大語言模型的核心特點在于其龐大的參數量,這賦予了模型強大的學習容量,使其無需依賴微調即可適應各種下游任務,而更傾向于培養通用的處理能力。然而,隨著學習容量的增加,對預訓練數據的需求也相應
    發表于 05-07 17:10

    arduino控制步進電機代碼

    Arduino是一種開放源代碼的電路板平臺,它可以用于控制各種不同的電子設備,包括步進電機。步進電機是一種電動機,可以通過下達特定的指令來控制每個步進的角度,從而使電機旋轉到指定的位置。在本文
    的頭像 發表于 02-14 16:29 ?2070次閱讀

    arduino中while循環怎么跳出

    執行某段代碼的情況。然而,如何在合適的時機跳出 while 循環是一個需要注意的問題。本文將詳細介紹 Arduino 中 while 循環的基本概念,以及如何使用不同的技巧跳出該循環來實現代碼的靈活控制
    的頭像 發表于 02-14 16:22 ?2629次閱讀

    如何使用Arduino控制RGB LED

    在本指南中,您將學習如何使用Arduino控制RGB LED。RGB(紅-綠-藍)LED可以通過混合不同強度的紅、綠、藍光來產生多種顏色。您將學習創建一個基本Arduino RGB LED電路,并以一些基本顏色為例循環。
    的頭像 發表于 02-11 10:28 ?5025次閱讀
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>RGB LED

    如何使用Arduino UNO板和電位器控制伺服電機

    在本Arduino伺服電機教程中,您將學習如何使用Arduino UNO板和電位器控制伺服電機。
    的頭像 發表于 02-11 10:11 ?2852次閱讀
    如何使用<b class='flag-5'>Arduino</b> UNO板和電位器<b class='flag-5'>控制</b>伺服電機

    如何使用Arduino UNO和TIP120晶體管驅動和控制直流電機的速度

    在本 Arduino 電機指南中,您將學習如何使用 Arduino UNO 和 TIP120晶體管驅動和控制直流電機的速度。在此示例中,您將使用按鈕來提高電機速度,然后減慢速度,這要歸功于脈寬調制 (PWM) 的強大功能。
    的頭像 發表于 02-11 10:08 ?1518次閱讀
    如何使用<b class='flag-5'>Arduino</b> UNO和TIP120晶體管驅動和<b class='flag-5'>控制</b>直流電機的速度

    如何設置Arduino IR發射器電路

    在本指南中,您將學習如何設置 Arduino IR發射器電路。它使您可以控制IR(紅外線)LED,并從Arduino發送任何遠程控制代碼。這意味著你可以用它來
    的頭像 發表于 02-11 09:44 ?854次閱讀
    如何設置<b class='flag-5'>Arduino</b> IR發射器電路

    如何使用arduino控制接觸器?

    我將避免鉛酸電池過載。我想通過使用近 30A 的接觸器和 arduino uno 板來控制電池過載。如何使用arduino控制接觸器?
    發表于 01-22 07:14
    主站蜘蛛池模板: 91久久99久91天天拍拍| 国产精品97久久AV色婷婷综合| 国产曰韩无码亚洲视频| 亚洲欧美日韩综合影院| 九九热国产视频| 99在线免费观看| 小小水蜜桃视频高清在线播放| 姐姐不~不可以动漫在线观看| 最近中文字幕在线中文视频| 翘臀少妇被扒开屁股日出水爆乳| 国产精品…在线观看| 欲奴第一季在线观看全集| 日本高清免费看| 精品国产品国语在线不卡丶| 99福利视频| 午夜福利试看120秒体验区| 久久免费看少妇级毛片蜜臀| 成人高清网站| 亚洲一区免费看| 人妖和美女玩| 久久成人伊人欧洲精品AV| 粗大分开挺进内射| 伊人久久大香线蕉综合亚洲| 强行撕开衣服捏胸黄文| 黑人猛挺进小莹的体内视频| china野外18:19| 亚洲免费国产在线日韩| 求个av网站| 久久人妻少妇嫩草AV蜜桃35I| 东北成人社区| 2022国产精品不卡a| 迅雷成人论坛| 热综合一本伊人久久精品| 教室里的激情电影| 国产69精品久久久久乱码| 2012中文字幕在线动漫电影| 无码AV熟妇素人内射V在线| 男人免费网站| 久久久无码精品一区二区三区| 国产高清美女一级a毛片久久w| 6080yy 久久 亚洲 日本|