首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用433 PWM发射机实时发送PWM值

利用433 PWM发射机实时发送PWM值
EN

Stack Overflow用户
提问于 2019-08-13 19:50:43
回答 1查看 341关注 0票数 0

我尝试用433 PWM发射机模块来创建无线PWM传输。我找到了用于传输https://github.com/zeitgeist87/RFTransmitter的库和用于读取某些pin https://github.com/xkam1x/Arduino-PWM-Reader上的PWM值的库。

我编写了发送PWM值的代码:

代码语言:javascript
复制
#include "PWM.hpp"
#include <RFTransmitter.h>

#define NODE_ID          1
#define OUTPUT_PIN       11

RFTransmitter transmitter(OUTPUT_PIN, NODE_ID);

PWM my_pwm(2);

// the setup function runs once when you press reset or power the board
void setup() {
  my_pwm.begin(true);
}

// the loop function runs over and over again forever
void loop() {

    int pwmValue = my_pwm.getValue();
    char stringValue[4];
    itoa(pwmValue, stringValue, 10);
    transmitter.send(stringValue, strlen(stringValue) + 1);
}

和类似的接收代码

代码语言:javascript
复制
#include <Servo.h>
#include <PinChangeInterruptHandler.h>
#include <RFReceiver.h>

int PWM_out_pin = 9;
Servo servo;

// Listen on digital pin 2
RFReceiver receiver(2);

void setup() {
  servo.attach(PWM_out_pin);
  receiver.begin();
}

void loop() {

  char msg[MAX_PACKAGE_SIZE];
  byte senderId = 0;
  byte packageId = 0;
  byte len = receiver.recvPackage((byte *)msg, &senderId, &packageId);

  String *stringObject = new String(msg);

  servo.writeMicroseconds(stringObject->toInt());
}

它起作用了,但它没有什么问题。首先,这不是最优的。我把一切都变成了字符串。如何从PWM直接发送int值?第二个问题是它有大约1秒的延迟。有可能让它更快吗?我需要它来实时控制伺服。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-13 20:46:50

如何从PWM直接发送int值?

代码语言:javascript
复制
transmitter.send((char*)pwmValue, sizeof(int));

然后,在接收端,您不需要将数据转换为字符串。

代码语言:javascript
复制
  servo.writeMicroseconds((int) *msg);

(int)和(char*)是C型类型。本质上告诉编译器,您希望将数据解释为不同的变量类型。

警告:小心使用"new“关键字,您正在动态分配内存。C/C++中的经验法则:无论您在哪里使用"new“关键字,都应该有一个相应的”删除“调用来清除内存。

就提高速度而言,这里的C/C++代码并不是导致从命令到操作的1秒延迟的限制因素。最有可能的是,您的RF发射机发送/接收堆栈中有一个参数需要调整。在发送PWM值之前,我将对发送和打印一个简单字符串的延迟进行基准测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57484465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档