Hi !
I’m making system with old print head. I want block working with buton. I can see state buton ( HIGH or LOW ), but only stop fonction work no matter pin state. Without digiyal read it’s working. Maybe problem with timer or some thing like this ?
Thanks
//D6 In2
//D7 In3
//D8 In4
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define In1 5 //D1 IN1
#define In2 4 //D2 IN2
#define In3 13 //D7 IN3
#define In4 15 //D8 IN4
#define Ena 5
#define Enb 4
char auth[] = "bqeWhNrLI8cIa2ECQYkK-4dnmtaHVQXM"; //Blynk Authentication Token
char ssid[] = "indoor"; //WIFI Name
char pass[] = "indoorwifi"; //WIFI Password
int minRange = 312;
int maxRange = 712;
//int minspeed = 500;
//int maxspeed = 1020;
//int nospeed = 0;
//int RightMotorSpeed = D5 //14
//int RightMotorDir = D6 //12
//int LeftMotorSpeed = D7 //13
//int LeftMotorDir = D8 //15
void moveControl(int x)
{
//No Move
if (x == 512 && digitalRead(13) == LOW )
{
digitalWrite(In1 , HIGH);
digitalWrite(In2 , HIGH);
Serial.println ("stop");
}
//GAUCHE
else if (x > 1000 && digitalRead(13) == LOW)
{
//digitalWrite(15 , HIGH);
digitalWrite(In1 , HIGH);
digitalWrite(In2 , LOW);
Serial.println ("DROITE");
}
//DROITE
else if (x < 23 && digitalRead(13) == LOW)
{
//digitalWrite(15 , HIGH);
digitalWrite(In1 , LOW);
digitalWrite(In2 , HIGH);
Serial.println ("GAUCHE");
}
}
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass, IPAddress(10, 3, 141, 1), 8080);
pinMode(In1, OUTPUT);
pinMode(In2 , OUTPUT);
pinMode(In3, OUTPUT);
pinMode(In4, OUTPUT);
pinMode(15, OUTPUT);
digitalWrite(In1 , HIGH);
digitalWrite(In2 , HIGH);
pinMode(13, INPUT_PULLUP);
}
void loop()
{
Blynk.run();
if (digitalRead(13) == LOW) // Si ARDUINOPIN est BAS (0V)
{
Serial.println("LOW"); //Afficher avec retour à la ligne => OFF
}
else { // Sinon (ARDUINOPIN est HAUT (5V)
Serial.println("HIGH"); //Afficher avec retour à la ligne => ON
}
//Met le programme en pause pendant 100ms avant de reboucler
}
BLYNK_WRITE(V1)
{
int x = param[0].asInt();
moveControl(x);
}```