arduino - 如何通过 XBees 无线控制电机?
问题描述
我正在尝试通过 XBee Proto Shields 无线控制电机。电机通过 adafruit 电机护罩进行控制,其中一个 XBee ProtoShield 堆叠在顶部。我想做的是,将信号从连接到计算机的一个 protomshield 发送到堆叠在 motorshield 上的那个以控制它。这个想法是输入“1”,这应该启动电机。
协调器代码是:
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("Input 1 to move left, 2 to move right, 3 to move forward and 4 to move backwards");
}
void loop() {
if (Serial.available())
{
int state = Serial.parseInt();
if (state == 1)
{
Serial.println("1");
}
}}
终端设备代码是:`
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_MS_PWMServoDriver.h"
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_DCMotor *myMotor2 = AFMS.getMotor(2);
int sentData;
void setup()
{
Serial.begin (9600);
AFMS.begin(9600);
}
void loop()
{
if (Serial.available()>0)
{
sentData=Serial.read();
if(sentData=='1'){
myMotor2->setSpeed(250);
myMotor2->run(FORWARD);
}
}
}
解决方案
代替
if(sentData=='1')
尝试
if(sentData==1)
推荐阅读
- mysql - MySQL 查询数 +10 有限制
- python-3.x - 如何使用 Python 从 XMl 文件中提取整数
- apache - 为什么 apache 拒绝在 Xampp 中启动?
- css - VueJS Conditional Props and CSS:如何在一行文本的末尾有条件地显示 svg?
- angular - 在角度应用程序中安装 highcharts 时出错
- autodesk-forge - 获取清单时收到 504 Gateway Time-out
- mysql - MySQL 表查询
- swift - WKExtendedRuntimeSession 命中内部错误:“无法在预定会话上调用 startSession”
- ios - iOS:从 UISplitViewController 推送新的 ViewController
- google-calendar-api - Google 服务帐户:委托域范围的授权以仅模拟一个用户