Hola buenas tardes, al momento de subir este código a mi esp8266 me aparece este error:
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header
Si tienen sugerencias sobre lo que se pueda deber este problema y cómo resolverlo se agradecería mucho.
English:
Hello, trying to upload the next code to my esp8266 and this error appears:
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header
If there are suggestions, they are welcome.
El código es el siguiente (the code is the next one):
//Defino pines para NodeMCU
#define ENA 1
#define ENB 14
#define IN1 3
#define IN2 15
#define IN3 13
#define IN4 12
#define SEG1 10
#define SEG2 9
// Variables para la captura de los valores: 0 - fondo claro y 1 - línea negra
int valorInfra = 0;
int valorInfra1 = 0;
// Configuración inicial
void setup() {
Serial.begin(9600);
delay(1000);
// Establecemos modo de los pines de los sensores infrarrojo
pinMode(SEG1, INPUT);
pinMode(SEG2, INPUT);
// Establecemos modo de los pines del control de motores
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
// Configuramos los dos motores a velocidad 150/255
analogWrite(ENA, 150);
analogWrite(ENB, 150);
// Configuramos sentido de giro
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
// Ejecución contínua
void loop() {
// Leemos el valor de los infrarrojo: 0 - fondo claro y 1 - línea negra
valorInfra = digitalRead(SEG1);
valorInfra1 = digitalRead(SEG2);
Serial.println(valorInfra);
Serial.println(valorInfra1);
// Cuatro escenarios: De frente
if(valorInfra == 0 && valorInfra1 == 0){
Serial.println("Ninguno en linea");
// Modificamos sentido de giro de los motores
digitalWrite(IN1, HIGH);
digitalWrite(IN4, HIGH);
delay(20);
digitalWrite(IN1, LOW);
digitalWrite(IN4,LOW);
delay(20);
}
// El robot encuentra línea negra con el infrarrojo derecho y hay que corregir girando a la derecha
if(valorInfra == 0 && valorInfra1 == 1){
Serial.println("Derecho en linea");
// Modificamos sentido de giro de los motores
digitalWrite(IN1, LOW);
digitalWrite(IN4,LOW);
delay(25);
digitalWrite(IN1, HIGH);
digitalWrite(IN4,LOW);
delay(20);
}
// El robot encuentra línea negra con el infrarrojo izquierdo y hay que corregir girando a la izquierda
if(valorInfra == 1 && valorInfra1 == 0){
Serial.println("Izquierdo en linea");
// Modificamos sentido de giro de los motores
digitalWrite(IN1,LOW);
digitalWrite(IN4, LOW);
delay(25);
digitalWrite(IN1,LOW);
digitalWrite(IN4, HIGH);
delay(20);
}
// Los dos sensores infrarrojos encuentran una línea negra, el final del circuito
if(valorInfra == 1 && valorInfra1 == 1){
Serial.println("Ambos en linea");
// Paramos los motores
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
}