• 1
  • 2
  • 3
  • 4

首页 / 行业

怎样用Wekinator控制与树莓派连接的LED

2019-07-26 09:20:00

电路图

首先,将LED的正极连接到Raspberry Pi的GPIO4,然后将LED的负极连接到gro Raspberry Pi的引脚通过220欧姆电阻器。

安装软件

您需要在Raspberry Pi上安装处理IDE。在这里下载Linux ARMv6hf的处理。

下载后,将其放入要安装处理的文件夹中。然后,右键单击它并单击“在此处提取”。现在将创建一个名为“处理”的文件夹。右键单击此文件夹,然后选择“在终端中打开”。终端窗口将打开。在其中键入以下命令,处理IDE将打开。

。/processing

现在您需要安装Wekinator软件。所以转到下面的链接并点击“任何操作系统,包括Linux”。

下载后,将其放在要安装的位置,然后右键单击它,然后单击“在此处提取”。将创建一个新目录。右键单击它并选择“Run in terminal”。在终端中,编写以下命令,Wekinator将开始运行。

java -jar WekiMini.jar

入门

现在将这篇文章末尾给出的代码粘贴在两个单独的处理草图中并运行它们。在Wekinator窗口中,进行如下设置。将输入和输出设置为1,将类型设置为“所有分类器”,分为2个类。

点击“下一步”,将打开一个新窗口如下所示。

打开处理窗口,单击绿色三角形,然后开始录制半秒钟。单击红色圆圈并将类更改为2(在输出-1前面)。然后开始录制半秒钟。

之后,单击“训练”,然后单击“运行”。现在,当您点击绿色三角形时,连接到Raspberry Pi的LED将亮起,当您点击红色圆圈时,连接到Raspberry Pi的LED将关闭。

处理代码(输入到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(200, 50, 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 output window

blocks();

// Send the OSC message to wekinator

sendOsc();

}

void mousePressed()

{

// If mouse is pressed in the first box

if (mouseX 》 0 && mouseX 《 50)

{

bx=1;

}

// If mouse is pressed in the second box

if (mouseX 》 100 && mouseX 《 150)

{

bx=2;

}

}

void sendOsc() {

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

msg.add((float)bx);

oscP5.send(msg, dest);

}

void blocks()

{

background(0);

fill(0, 128, 0);

ellipse(25, 25, 50, 50);

fill(255);

text(“ON”, 10, 30);

fill(255, 0, 0);

ellipse(125, 25, 50, 50);

fill(255);

text(“OFF”, 120, 30);

}

处理代码(Wekinator的输出)

// Importing the library that will help us in controlling the GPIO pins of raspberry pi

import processing.io.*;

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

import oscP5.*;

import netP5.*;

// Creating the instances

OscP5 oscP5;

NetAddress dest;

// Variable to store the output

public int output;

void setup()

{

// Setting the GPIO 4 as output pin

GPIO.pinMode(4, GPIO.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);

}

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

// Converting the output to int type

output = int(value);

}

}

void draw()

{

// Making the led HIGH or LOW depending on the output from the wekinator

if (output == 1)

{

GPIO.digitalWrite(4, GPIO.HIGH);

}

else if (output == 2)

{

GPIO.digitalWrite(4, GPIO.LOW);

}

}

树莓派控制连接引脚

  • 1
  • 2
  • 3
  • 4

最新内容

手机

相关内容

  • 1
  • 2
  • 3

猜你喜欢