0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用Wekinator控制与树莓派连接的伺服电机

454398 来源:工程师吴畏 2019-07-26 08:54 次阅读

电路图

将两个伺服电机的红线连接到Raspberry Pi的5V GPIO引脚。然后将两个伺服系统的黑线连接到Raspberry Pi的地面。最后,将其中一个伺服电机的黄色线连接到Raspberry Pi的GPIO 4,将另一个伺服的黄色线连接到Raspberry Pi的GPIO 17。

怎样用Wekinator控制与树莓派连接的伺服电机

如何运行程序

《首先,您需要从Wekinator的快速演练页面下载草图。

从那里下载屏幕上的鼠标控制示例。解压缩并在处理中打开草图。该草图将为Wekinator提供输入。您将需要另一个草图来获取Wekinator的输出。该草图的代码在本文末尾。将其粘贴到处理中并运行它。两个处理输出窗口如下所示:

现在打开Wekinator并进行如下图所示的设置。将输入和输出设置为2,然后将类型设置为“自定义”,然后单击“配置”。

当您点击“配置”时,一个新的窗口将打开。更改该窗口中的设置,如下图所示。

现在将处理窗口中的绿框拖到左侧中央并设置设置在Wekinator窗口中,如下所示。之后,开始录制半秒。

现在将处理窗口中的绿色框拖到右侧中央,然后在Wekinator窗口如下图所示。之后,开始录制半秒。

现在将处理窗口中的绿框拖到中心顶部并在Wekinator中设置设置窗口如下图所示。之后,开始录制半秒。

现在将处理窗口中的绿色框拖到底部中心一侧,然后在Wekinator窗口如下图所示。之后,开始录制半秒。

单击“Train”,然后单击“Run”。现在当您在处理窗口中拖动绿色框时,连接到Raspberry Pi的GPIO引脚的伺服器将根据它移动。

处理代码

import processing.io.*; // Importing the library to control the GPIO pins of raspberry pi

// Below libraries will help in connecting and sending, receiving the values from wekinator

import oscP5.*;

import netP5.*;

// Creating the instances

OscP5 oscP5;

NetAddress dest;

// Variable to store the output

public int output;

public int output1;

// Creating the instances to control the servo

SoftwareServo servo1;

SoftwareServo servo2;

void setup()

{

// Initializing the pins for servo

servo1 = new SoftwareServo(this);

servo1.attach(17);

servo2 = new SoftwareServo(this);

servo2.attach(4);

// 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 val = theOscMessage.get(1).floatValue();

// Converting the output to int type

output = int(value);

output1 = int(val);

}

}

void draw()

{

if (output 》 0 && output 《 180)

{

servo1.write(output);

}

if (output1 》 0 && output1 《 180)

{

servo2.write(output1);

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 伺服电机
    +关注

    关注

    82

    文章

    1837

    浏览量

    56254
  • 树莓派
    +关注

    关注

    113

    文章

    1638

    浏览量

    104728
收藏 人收藏

    评论

    相关推荐

    怎么树莓实现电机控制

    如题。想用树莓实现电机控制,但是完全不懂编程和各种接口的关系,求问怎样学习,怎样入手?求大神帮
    发表于 09-09 09:58

    树莓可发射“炮弹”和实时视频的超级坦克(上)

    通信,它还能用树莓相机捕捉实时视频伺服板:确保有外部电源为伺服供电I2C总共连4条线I2C端口取决于你使用树莓
    发表于 01-15 14:55

    树莓2控制一个LED灯

    ` 本帖最后由 348081236 于 2016-1-19 16:57 编辑 这个教程教你怎样用树莓控制一个LED灯。这是比较基础、简单、适合新手的。先从一个LED灯开始,大概了
    发表于 01-19 16:55

    树莓网络控制的船

    电机,能够给船更精确的驱动控制。弃用船本身的电机驱动器,一个一个L298N电机驱动模块取代。先把电机
    发表于 01-20 15:24

    玩转树莓树莓 3 + L298N模块控制直流电机

    、杜邦线···································若干注:由于树莓自身没有电机驱动模块,因此控制电机时要配合L
    发表于 10-21 13:51

    如何通过倾斜智能手机来控制伺服电机的资料分享

    ● 外接电源将伺服电机连接树莓4该项目中,您只需要两个伺服
    发表于 06-27 07:58

    请问怎样利用树莓4B去控制步进电机

    树莓与步进电机是如何连接的?电机驱动代码是什么?怎样利用
    发表于 06-30 07:20

    树莓pwm是如何去控制无刷电机的?

    树莓pwm是如何去控制无刷电机的?其实现代码是怎样去编写的?
    发表于 07-21 06:46

    怎样利用树莓GPIO去控制步进电机转动一定角度

    步进电机28BYJ-48有什么含义?步进电机28BYJ-48的驱动方法及参数是什么?怎样利用树莓GPIO去
    发表于 08-24 06:31

    树莓电机

    树莓电机 到了 L298N搜索 树莓 L298N,得到 似乎L298N是控制直流
    发表于 09-13 06:12

    怎样用串口通信去控制伺服速度呢

    怎样用串口通信去控制伺服速度呢?RS-232通讯格式有哪几种?
    发表于 10-11 07:55

    怎样用树莓派来连接摄像头呢

    怎样用树莓派来连接摄像头呢?stm32怎么读编码器?
    发表于 10-25 07:19

    如何使用树莓控制伺服电机

    在本教程中,我们将使用树莓控制伺服电机。在进入伺服之前,让我们谈谈PWM,因为
    发表于 03-01 15:05

    请问怎样用一个脉冲使伺服电机旋转呢?

    请问怎样用一个脉冲(信号的一开一关)来从伺服驱动器位置控制上使伺服电机旋转呢?
    发表于 03-30 17:21

    怎样用ArduinoUNO和Wekinator控制伺服电机

    首先连接每个伺服上的红线连接到Arduino的5V引脚。然后将每个伺服的黑线连接到Arduino的地线。最后,将其中一个
    的头像 发表于 08-03 09:46 1946次阅读