Tengo un sensor ultrasónico hc-sr04 y solo imprime 0 ya probé con otro sensor y un diferente código y el problema sigue igual, mientras revisaba si tenia algún problema mi circulo me di cuanta de que una pata de mi Arduino esta defectuosa, les agradecería si pudieran ayudarme a arreglar este error.
Hola,
¿Cuál es el motivo de la urgencia?
¿Alguien está sufriendo o en riesgo de muerte?
Hola
mi vida escolar esta sobre una cuerda
¿Me podrías ayudar a saber cual es el problema?
Hola,
¿Dejaste el proyecto para última hora?
No
Todavía tengo una semana pero es un proyecto importante
Hola,
Publique el esquema y el código de su proyecto.
Ese es mi proyecto final y funciona perfectamente en linea usando Tinkercard pero al momento de hacerlo en físico funciona pero el sensor ultrasónico no es capas de mandar información.
Hola,
Y el código de tu proyecto.
Hola,
Vuelva a hacer esta última publicación y use las etiquetas </> para publicar el código.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// RS,E,D4,D5,D6,D7
// defines pins numbers
const int trigPin = 9;
const int echoPin = 10;
// defines variables
long duration;
int distance1=0;
int distance2=0;
double Speed=0;
int distance=0;
void setup()
{
lcd.begin(16, 2);// LCD 16X2
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
pinMode( 7 , OUTPUT);
Serial.begin(9600); // Starts the serial communication
}
void loop()
{
//calculating Speed
distance1 = ultrasonicRead(); //calls ultrasoninicRead() function below
delay(1000);//giving a time gap of 1 sec
distance2 = ultrasonicRead(); //calls ultrasoninicRead() function below
//formula change in distance divided by change in time
Speed = (distance2 - distance1)/1.0; //as the time gap is 1 sec we divide it by 1.
//Displaying Speed
Serial.print("Speed in cm/s :");
Serial.println(Speed);
lcd.setCursor(0,1);
lcd.print("Speed cm/s ");
lcd.print(Speed);
// LED indicator
if (distance >0 && distance <5)
{
digitalWrite( 7 , HIGH);
delay(50); // waits for a second
}
if (distance > 5 && distance <10 )
{
digitalWrite( 7 , HIGH);
delay(50); // waits for a second
digitalWrite( 7 , LOW); // sets the LED off
delay(50); // waits for a second
}
if (distance >10 && distance < 20)
{
digitalWrite( 7 , HIGH);
delay(210); // waits for a second
digitalWrite( 7 , LOW); // sets the LED off
delay(210); // waits for a second
}
if (distance >20 && distance < 35)
{
digitalWrite( 7 , HIGH);
delay(610); // waits for a second
digitalWrite( 7 , LOW); // sets the LED off
delay(610); // waits for a second
}
}
float ultrasonicRead ()
{
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
//calculating distance
distance= duration*0.034/2;
// Prints the distance on the Serial Monitor
Serial.print("Distance in cm : ");
Serial.println(distance);
lcd.setCursor(0,0);
lcd.print("Dist. in cm ");
lcd.print(distance);
lcd.print(" ");
return distance;
}
Hola,
Voy a analizar si el código
Si porfavor, pero aun así estoy seguro de que el código se encuentra bien
Hola,
¿que pata esta defectuosa,?
Hola,
Monte su proyecto y use su código para no cambiar nada.
Serial:
Distance in cm : 125
Distance in cm : 188
Speed in cm/s :63.00
Distance in cm : 96
Distance in cm : 187
Speed in cm/s :91.00
Distance in cm : 179
Distance in cm : 189
Speed in cm/s :10.00
Distance in cm : 89
Distance in cm : 125
Speed in cm/s :36.00
Distance in cm : 152
Hola,
Este pin que está doblado es el puerto 9 de arduino.
Y lo estás usando en tu proyecto.
Cambia tu código para usar otro pin.
Ok, de inmediato lo cambio
Hola,
Este pin que está doblado es el puerto 9 de arduino.
Y lo estás usando en tu proyecto.
Cambia tu código para usar otro pin.
Prueba con el pin 6.
Hola.
Si muchísimas gracias , ya funciono te lo agradezco demasiado