Al quien me puede ayudar con este código ya que ni el servo ni los PH no funciona
Emisor
#include <VirtualWire.h>
const int dataPin = 9;
void setup()
{
Serial.begin(9600);
vw_setup(2000);
vw_set_tx_pin(dataPin);
}
void loop()
{
while (Serial.available() > 0)
{
char data[1];
data[0] = Serial.read();
vw_send((uint8_t*)data,sizeof(data));
vw_wait_tx();
}
delay(200);
}
receptor
#include <VirtualWire.h>
#include <ServoTimer2.h>
const int dataPin = 9;
const int servoPin = 10;
const int motorAPin1 = 2;
const int motorAPin2 = 3;
const int motorBPin = 4;
const int motorCPin = 5;
ServoTimer2 servo;
void setup()
{
vw_setup(2000);
vw_set_rx_pin(dataPin);
vw_rx_start();
pinMode(motorAPin1, OUTPUT);
pinMode(motorAPin2, OUTPUT);
pinMode(motorBPin, OUTPUT);
pinMode(motorCPin, OUTPUT);
servo.attach(servoPin);
servo.write(90);
}
void loop()
{
uint8_t data[4];
uint8_t dataLength = 4;
if (vw_get_message(data, &dataLength))
{
char servoPosition = (char)data[0];
char motorASpeed = (char)data[1];
char motorBState = (char)data[2];
char motorCState = (char)data[3];
// Control the servo position
if (servoPosition == 'a')
{
servo.write(0);
}
else if (servoPosition == 'b')
{
servo.write(90);
}
else if (servoPosition == 'c')
{
servo.write(180);
}
// Control Motor A speed
if (motorASpeed == '0')
{
analogWrite(motorAPin1, 0);
analogWrite(motorAPin2, 0);
}
else if (motorASpeed == '5')
{
analogWrite(motorAPin1, 128);
analogWrite(motorAPin2, 128);
}
else if (motorASpeed == '1')
{
analogWrite(motorAPin1, 255);
analogWrite(motorAPin2, 255);
}
// Control Motor B state (ON/OFF)
if (motorBState == '1')
{
digitalWrite(motorBPin, HIGH);
}
else if (motorBState == '0')
{
digitalWrite(motorBPin, LOW);
}
// Control Motor C state (ON/OFF)
if (motorCState == '1')
{
digitalWrite(motorCPin, HIGH);
}
else if (motorCState == '0')
{
digitalWrite(motorCPin, LOW);
}
}
}
la idea del codigo era que con la ventana de monitor serial se enviaría los comando del emisor al receptor para que se ejecute los movimientos del servo y de los puente h pero nose que pasa que ni el servo ni los puentes h no ejecutan sus funciones