首页 > 解决方案 > 如何通过 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);
  }

}
}


标签: arduinowirelessxbeeadafruitproto

解决方案


代替

if(sentData=='1')

尝试

if(sentData==1)

推荐阅读