30 jun 2015

Sensor de distancia HC-SR04

HC-SR04 es un sensor de distancia por ultrasonidos económico fácil de usar.


Conexionado


El esquema no presenta ninguna dificultad ya que tan solo debemos conectar Vcc a 5v, Gnd a masa y echo y trigger a los pines 7 y ocho respectivamente.



Como funciona


Este sensor funciona igual que la eco localización de un murciélago. Primero emite una serie de sonidos y luego espera a obtener el eco contando el tiempo. Luego conociendo la velocidad del sonido podemos determinar a que distancia esta el objeto. Es lo mismo que nos enseñaron de pequeños con los truenos.



Código arduino


#define echoPin 7 // Echo Pin
#define trigPin 8 // Trigger Pin
#define LEDPin 13 // Onboard LED


int error = 0;
int maximumRange = 200;
int minimumRange = 0;    // Minimum range needed
long duration, distance; // Duration used to calculate distance


void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
error = 1;
pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
Serial.begin (9600);
}


void loop() {
/* The following trigPin/echoPin cycle is used to determine the
distance of the nearest object by bouncing soundwaves off of it. */
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

digitalWrite(trigPin, HIGH);
delayMicroseconds(20);

digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);

//Calculate the distance (in cm) based on the speed of sound.
// speedOfSound = 331+0.61*temp; // temp *C
distance = duration/58.2;

if (distance >= maximumRange || distance <= minimumRange){
/* Send a negative number to computer and Turn LED ON
to indicate "out of range" */
if( error ){
Serial.println("Out of Range");
error = 0;
}
digitalWrite(LEDPin, HIGH);
}
else {
error = 1;
/* Send the distance to the computer using Serial protocol, and
turn LED OFF to indicate successful reading. */
Serial.println(distance);
digitalWrite(LEDPin, LOW);
}

//Delay 50ms before next reading.
delay(60);
}

17 ene 2015

La familia crece

 
Lo cierto es que aunque no publique nada mi afición por la "electrónica" sigue. Y dado que he "quemado" el AVR MKII y surgió la oportunidad me he pasado al freescale, aún sin olvidar mi "arduino".

Lo veradad es que el fdrm-kl25z viene a ser lo mismo que un arduino pero con nuevos retos, más velocidad, algunas mejoras y algunas cosas que para mí lo hacen más difícil respecto a los Atmega de Atmel, eso sí la placa es más barata.

He intentado leerme el manual de referencia pero no es tan ameno como los de atmel y de momento tengo el tema parado.

21 feb 2014

El sensor CNY70

Lo cierto es que tras un periodo de inactividad me he vuelto a enganchar otra vez a la electrónica.

En este caso se hará solo una breve entrada sobre el sensor CNY70. No será muy profunda pero eso no implica que con este sensor o equivalentes se pueda llegar mucho más lejos. De hecho podríamos hacer un cuenta vueltas, un medidor de velocidad, podemos guiar un robot sobre una linea negra (o blanca sobre fondo negro), o medir la distancia recorrida por una rueda contando los cambios blanco negro etc.

Con esta pequeña entrada sólo quiero poner una pequeña base para más tarde mezclarlo con un amplificador operacional, un disparador trigger schmitt.

Así que manos, aquí va el esquemático.



Para más información tenemos alternativas a este sensor reflexivo como pueden ser:  QRD1114, QRE1113