Как управлять моторами через XBees без проводов?

Я пытаюсь управлять двигателем по беспроводной сети через 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);
  }

}
}



person Hassan Raza    schedule 09.05.2019    source источник
comment
Я мало что знаю об ардуино, но 1 — это строка, а 1 — целое число. Это предназначено?   -  person krflol    schedule 09.05.2019
comment
Я не уверен в этом, но раньше мы использовали код, который позволял нам вводить числа, и в результате мотор вел себя определенным образом.   -  person Hassan Raza    schedule 09.05.2019


Ответы (1)


Вместо

if(sentData=='1')

пытаться

if(sentData==1)
person krflol    schedule 09.05.2019