La adquisición de datos es uno de los medios más importantes para controlar procesos y generar cambios en el sistema. Es posible capturar los datos mediante una comunicación entre dos periféricos en donde debe existir un emisor y un receptor, continuando con los tutoriales de Arduino, es la oportunidad de demostrar el gran alcance de esta placa, hoy aprenderemos a capturar datos con el Arduino para verlos en nuestro computador. El corazón de este proyecto es el Sensor Ultrasónico LV-MaxSonar-EZ1 y lo puedes adquirir aquí.
Adquiera los componentes para este proyecto en:
Veamos de que trata este artículo
Un sensor ultrasónico realiza la emisión de un pulso ultrasónico, luego mide el tiempo que transcurre entre la emisión de sonido y la percepción del eco y con esto se puede establecer la distancia a la que se encuentra del obstáculo.
Veamos el vídeo de la práctica
Este es el montaje sugerido entre el Arduino y el Sensor ultrasónico
Presentamos el código para leer el puerto serie, obteniendo el valor del Sensor Ultrasónico
/* ------------------------------------------ Lectura del valor del sensor ultrasónico ------------------------------------------ Lee una entrada análoga y muestra su valor por el puerto serial Cosas de Mecatrónica y Tienda de Robótica*///------------------------------------//Funcion principal//------------------------------------void setup(){ Serial.begin(9600);// Inicia la comunicación serial}//------------------------------------//Funcion ciclicla//------------------------------------ void loop(){// Lee la entrada análoga 0 y se la asigna a una variableint analogValue = analogRead(0);// Imprime el valor de esa entrada Serial.println(analogValue);// Espera 10ms por el conversor análogo-digital// 10ms sería el tiempo de muestreo de la senal delay(10);}
Este código corresponde al ajuste realizado a la medida del sensor ultrasónico para poder obtener la medida en centímetros(cm)
/* ------------------------------------------ Conversión de la medida del sensor a cm ------------------------------------------ Convierte el valor del Sensor ultrasónico a una medida en centímetros (cm) Nota----------- Experimentalmente cuando el Sensor ultrasónico marca 48 midiendo con una regla equivale a 32cm, la razón de cambio viene dada por: 48 / 32 = 1.5 Cosas de Mecatrónica y Tienda de Robótica*///------------------------------------//Funcion principal//------------------------------------void setup(){ Serial.begin(9600);// Inicia la comunicación serial}//------------------------------------//Funcion ciclicla//------------------------------------ void loop(){// Lee la entrada análoga 0 y se la asigna a una variableint analogValue = analogRead(0);// Imprime el valor de esa entrada multiplicada por la razón de cambio Serial.print(analogValue*1.5); Serial.print("cm");// Imprime la palabra cm en la misma línea del valor Serial.println("");// Imprime un espacio en blanco equivale a un enter// 300ms sería el tiempo de muestreo de la senal delay(300);}
Por último, este código se dedica a explicar el control realizado con el Arduino, mientras el sensor se encuentra en determinado umbral enciende el Led, si no esta en ese umbral apaga el Led.
/* ------------------------------------------ Control con el Sensor ultrasónico ------------------------------------------ Toma un umbral y mientras este en ese rango el Arduino generara una acción de cambio Para este ejercicio se ha tomado como rango el valor del sensor ultrasónico: 20 -30 Si esta dentro de este rango enciende el Led Si esta fuera del rango apaga el Led Cosas de Mecatrónica y Tienda de Robótica*///------------------------------------//Declara puertos de entradas y salidas//------------------------------------int led =13;// Declara el LED en el Pin 13//------------------------------------//Funcion principal//------------------------------------void setup(){ Serial.begin(9600);// Inicia la comunicación serial pinMode(led, OUTPUT);// Inicializa el LED como una salida }//------------------------------------//Funcion ciclicla//------------------------------------ void loop(){// Lee la entrada análoga 0 y se la asigna a una variableint analogValue = analogRead(0);// Condición del rangoif((analogValue >=20)&&(analogValue <=30))// Está en el rango 20-30? digitalWrite(led, HIGH);//Si esta en el rango, enciende LEDelse digitalWrite(led, LOW);//No esta en el rango, apaga LED// Imprime el valor de la entrada análoga Serial.println(analogValue);// Espera 10ms por el conversor análogo-digital// 10ms sería el tiempo de muestreo de la senal delay(10);}
¡Sólo los usuarios registrados pueden escribir comentarios!
alvaro
- pregunta
|2010-11-27 00:54:17
y si servira este es el que tengo a la mano pero no sabria si la configuaracion sea la misma es el SRF02
http://www.sigmaelectronica.net/images/SRF02.pdf hay dejo las especificasiones
que pena molestar tanto
Equipo Cosas de Mecatrónica
- Sensor Ultrasonido
|2010-11-27 00:54:07
Con seguridad este sensor funcionará con la tarjeta Arduino. Sin embargo no tenemos experiencia con el hasta el momento. Mira la información del sitio web de Arduino:
http://arduino.cc/en/Tutorial/Ping
Saludos,
Anónimo
|2010-11-13 12:39:36
que otro sensor de sonido recomiendas para esto y que empresa los distribuye en colombia
Equipo Cosas de Mecatrónica
- Sensor Ultrasonido
|2010-11-27 00:54:27
Hola,
Existen múltiples sensores de ultrasonido. Un ejemplo es el SRF04 y otros de la misma serie.