It seems to be the code is the problem,because I can switch on/off an LED via USB normally.But when I tried to control the DC motors, I have got no response.Here is the code that I used.
#define BLYNK_PRINT SwSerial
#include <SoftwareSerial.h>
SoftwareSerial SwSerial(10, 11); // RX, TX
#include <BlynkSimpleStream.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "Token";
#define m11 5
#define m12 9
#define m21 10
#define m22 6
void forward()
{
digitalWrite(m11, HIGH);
digitalWrite(m12,LOW);
digitalWrite(m21,HIGH);
digitalWrite(m22,LOW);
}
void backward()
{
digitalWrite(m11, LOW);
digitalWrite(m12,HIGH);
digitalWrite(m21,LOW);
digitalWrite(m22,HIGH);
}
void right()
{
digitalWrite(m11, HIGH);
digitalWrite(m12,LOW);
digitalWrite(m21,LOW);
digitalWrite(m22,LOW);
}
void left()
{
digitalWrite(m11, LOW);
digitalWrite(m12,LOW);
digitalWrite(m21,HIGH);
digitalWrite(m22,LOW);
}
void Stop()
{
digitalWrite(m11, LOW);
digitalWrite(m12,LOW);
digitalWrite(m21,LOW);
digitalWrite(m22,LOW);
}
void setup()
{
// Debug console
SwSerial.begin(9600);
// Blynk will work through Serial
// Do not read or write this serial manually in your sketch
Serial.begin(9600);
Blynk.begin(Serial, auth);
pinMode(m11, OUTPUT);
pinMode(m12, OUTPUT);
pinMode(m21, OUTPUT);
pinMode(m22, OUTPUT);
}
BLYNK_WRITE(V1) {
int x = param[0].asInt();
int y = param[1].asInt();
/* Do something with x and y
SwSerial.print("X = ");
SwSerial.print(x);
SwSerial.print("; Y = ");
SwSerial.println(y);*/
if(y>220){
forward();
}
else if(y<35){
backward();
}
else if(x>220){
right();
}
else if(x<35){
left();
}
else{
Stop();
}
}
void loop()
{
Blynk.run();
}