Copia de RADAR ARDUINO

November 25, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Copia de RADAR ARDUINO...

Description

 

Marco teorico El proyecto propuesto “Radar Arduino” es un pequeño robot de mucha utilidad. Su función es la siguiente: El objeto se detecta con la l a ayuda de un servomotor y un sensor ultrasónico, este usa un radar creado por java para mostrar el objeto virtualmente con su respectiva distancia. El sistema de radar es un sistema complejo que utiliza muchos elementos tales como: el procesamiento de señales de datos, dispersión electromagnética, detección, estimación de parámetros, extracción de información, transmisores y receptores. El desarrollo del robot fue mediante arduino y los datos se visualizan a través del pc mediante la comunicación serial. Este aparato ayudará mucho al humano a mantener en vigilancia una gran área desde un puesto de control; esto reducirá el esfuerzo humano e incrementará la efectividad de la seguridad ya que las maquinas siempre han demostrado ser mas eficaces. En pocas palabras, se podrá decir que el radar arduino maneja una inteligencia capaz de superar al individuo ya que una persona no podrá estar presente al mismo tiempo en todas las zonas requeridas El radar arduino podría beneficiar a varias empresas encargadas de la vigilancia pero también conviene subrayar que hasta puede ser útil en personas comunes en situaciones cotidianas. Concretamente, Concretamente, dada la situación que una empresa no tenga suficiente capital como para pagarle sueldo a varios vigilantes, esta puede comprar varios radares arduino y situarlos en las zonas necesitadas y asi solo necesitarían de solo una persona en la vigilancia encargada de monitorear dichos radares. Por otro lado, si ponemos por caso que un ciudadano tenga que salir de su casa por x o y motivos, y este quede inhabitada, se podrá hacer uso de nuestro radar arduino: esta se podrá dejar instalada dentro de su casa y ver desde su computador o dispositivo móvil si se halla algún movimiento inusual y así dar aviso a las autoridades competentes. Materiales: Placa arduino Microservo tower Pro sg90 9g Modulo ultrasonido HC Sr 04 Protoboard Cables de conexión madera tornillos pega loca computador

Paso a paso:

Un radar utiliza una señal que rebota en la superficie de cuerpos sólidos y regresa, para determinar la distancia de objetos. EL radar hace un recorrido de 180 o 360 grados para detectar que existe alrededor, e incluso para determinar la velocidad de cuerpos que se muevan hacia el radar.

 

En este instructable construimos un radar sencillo utilizando un sensor ultrasónico, un servo y Processing para graficar la información. Además aprendemos a conectar Arduino y processing a través de puerto serial. Entonces, por el lado de Arduino aprendemos:  

Usar un servo

 

Rotar el servo de forma contínua hacia la izquierda y derecha

 

Utilizar un sensor de distancia ultrasónico

 

Mandar información por puerto serial









Del lado de Processing: 

 

Recibir infromación infromación por puerto serial Separar datos recibidos

 

Usar sistemas de referencia en Processing Processing..

 





Conexiones

Las conexiones en el Arduino UNO se muestran en el esquema. En el Itearduino UNO pueden conectar los conectores directamente sin utilizar el breadboard, como se ve en las fotos. Las conexiones: 1.  EL servo conectar el cable de 5V (generalmente rojo) a la salida de 5V del Arduino, el cable de GND (generalmente negro o café) a el GND del Arduino, y el de señal (anaranjado o blanco) al pin 9 del Arduino. 2.  Para el ultrasónico, conectar el vcc a 5V del Arduino, el GND al GND del Arduino, y el conector de TRIG al pin 13, y el ECHO al pin 12.

 

Armado

Hay dos opciones: 1.  Imprimir en 3D este 3D este adaptador de servo y ultrasónico que diseñe, diseñe,  y luego montar el sensor y servo como se ve en la foto. 2.  Utilizar tiras de plástico para sostener en sensor a uno de los adaptadores que vienen vienen con el servo (ver ( ver fotos) Para sostener el servo a la mesa utilizo un tape con doble adhesivo,, pero pueden utilizar cualquier otra cosa. adhesivo En este instructable no esntraré en detalles para explicar el código ya que el código es muy sencillo. Desde el arduino "Arduino_Radar.ino" nada más se mandan los datos por el puerto serial, y en Processing "Arduino_Radar.pde" son recibidos por el evento serialEvent(). El código de Arduino y Processing Processing lo  lo pueden descargar de este Github. Github.  En el códgo de processing si es importante en esta línea, pues determina el puerto de conexión del Arduino, port = new Serial(this, "/dev/ttyACM1", 9600)

Escribir el puerto donde está conectado el Arduino, este es el mismo del Arduino IDE. En el ejemplo de arriba, el Arduino (en linux) está conectado al puerto "/dev/ttyACM1", esto se cambia en caso de que esté conectado a otro puerto (puertos COM en window y tty en MAC). En MAC el puerto es algo como "/dev/cu.usbmodem14221", "/dev/cu.usbm odem14221", y en Windows "COM3" o algún otro puerto. Arduino

En el arduino, para leer el sensor ultra-sónico, ocupamos ocupamos las siguientes lineas,

 

long microsec = ultrasonic.timing(); cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);

La primera línea lee el tiempo en que la señal se envía y regresa, la segunda calcula en centímetros la distancia (básicamente el tiempo multiplicado por la velocidad del sonido y luego dividido entre 2). Para hacer rotar e servo hacia la derecha y luego hacia la izquierda, colocamos las siguientes líneas: a+=dir; servo.write(a); if(a==0)dir=5; if(a==180)dir=-5;

La primera y segunda línea suma o resta dir al ángulo, y luego mueve el servo. Luego los "if" lo que hacen es determinar si viene desde la derecha o desde la izquierda y cambia la dirección de movimiento, movimien to, cambiando el signo de "dir". Luego mandamos todo por puerto serial en as siguientes líneas, Serial.print(int(cmMsec)); Serial.print(","); Serial.println(a);

Processing

En processing hay dos cosas imporatnes que hacer notar. Primero es que usamos un evento para recoger la información del puerto serial, void serialEvent(Serial port) {

String bufString = port.readString(

); data = float(split(bufString, ','));

 

}

Noten que usamos la función "split" para separa la información que viene como un texto con coma para separar los datos. Lo almacenamos almacenam os luego en un arreglo global "data". Noten también como usamos "float()" para cnvertir de textos a números reales en processing. Lo segundo es que usamos pushMatrix() y popMatrix(), para cambiar el sistema de coordenadas (ver este tutorial de processing)) y facilitar dibujar las líneas (cambiamos el ángulo de processing grados a radianes), pushMatrix();

translate(width/2, 10);

rotate(HALF_PI-data[1]*PI/180); line(0, 0, 0, 800); stroke(255, 0, 0, 50); line(0,data[0]*3,0,800); popMatrix();

data[0] contiene el ángulo en grados, y data[1] la distancia en centímetros.. Usamos translate  para mover el marco de referencia centímetros y luego rotate para rotar la línea al mismo ángulo que tiene el servo.

 

 

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF