我正在尝试通过XBee Proto Shields无线控制电动机。电机通过adafruit电机罩进行控制,顶部装有一个XBee ProtoShield。我想做的是,将信号从连接到计算机的一个防护罩发送到堆叠在电动机防护罩上的信号,以对其进行控制。想法是键入“ 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);
}
}
}
答案 0 :(得分:0)
代替
if(sentData=='1')
尝试
if(sentData==1)