Las dimensiones del universo Midiendo distancias con Arduino

Hazlo tú mismo

Gustavo Hernández Heras

Fecha: 2018-03-15


 

El universo ha despertado el interés de los más sabios en cada generación, de aquellos que se entregan por completo a su estudio para descubrir los grandes secretos que esconde. Aun así, poco se le conoce, abstraído como un todo que comprende el espacio, el tiempo, todo tipo de materia conocida  y todas aquellas leyes que gobiernan los fenómenos físicos observables por el ser humano. Sus dimensiones colosales hacen que sea difícil imaginar que hay más allá del espacio observable, su inmensidad desconoce fronteras e incluso se ha llegado a especular que es infinito y en constante expansión. Su forma es una incógnita, algunos científicos sostienen que es plano, mientras otros que es conexo.

 

Quinteto de Stephan más uno - Image Assembly & Processing: Robert GendlerJudy Schmidt - Image Data: SubaruTelescope (NAOJ), Hubble LegacyArchive, R. Gendler

 

El cosmos

Es aquel sistema perfectamente ordenado y en armonía que reside dentro del universo, es la cuna que alberga miles de millones de galaxias diversas en tipo, forma tamaño y color. Las galaxias están distribuidas en todo el cosmos y son las estructuras más grandes que organizan la materia del universo. Actualmente se estima que existen alrededor de 2 billones de galaxias en el universo observable, cada una posee miles de millones de estrellas donde algunas forman sistemas planetarios con exoplanetas que orbitan a su alrededor.

 

 

¿Cuán grande es el universo?

Una de las inquietudes que ha tenido la humanidad desde los inicios en que el ser humano observó el firmamento, fue conocer la magnitud de todo aquello que nos rodea. Eratóstenes de Cirene, uno de los eruditos más importantes en la Grecia antigua, poseía grandes conocimientos en astronomía, matemáticas, filosofía y geografía, además de un asombroso e inquietante impulso por la observación del mundo. Realizó uno de los más grandes descubrimientos en su época, determinó el tamaño de la tierra a partir de un método trigonométrico desarrollado por él mismo, de esta manera logró deducir que la tierra era esférica (aunque hoy en día se sabe que no lo es perfectamente), para su época fue una gran aproximación, incluso determinó que su circunferencia sería entre 39.691 y 45.008 kilómetros. Hoy en día, la cifra aceptada es de 40.075 kilómetros.

 

 

Como Eratóstenes, muchos intelectuales han aportado a desentrañar los misterios del universo, Nicolás Copérnico, brillante matemático, físico y astrónomo, desarrolló una de las teorías más importantes que revolucionaron por completo la percepción que se tenía sobre el universo. Antes de su descubrimiento, se sostenía la teoría geocéntrica que afirmaba que  la tierra era el centro del universo y que los planetas y el sol giraban en torno a ella. Valiéndose de sus amplios conocimientos, Copérnico quebrantó esta paradoja desarrollando la teoría heliocéntrica, que era totalmente analítica además de incluir un modelo matemático que describía con precisión la órbita de los planetas y cómo estos giran en torno al sol. Posteriormente considerado como el padre de la revolución científica Galileo Galilei prestigioso astrónomo, físico, matemático, filósofo e ingeniero, no solo aportó al desarrollo científico, sino también al tecnológico al reinventar y mejorar el telescopio, que le permitió observar más allá de lo que sus ojos podían ver en la tierra. Presentó así, las primeras pruebas sobre la teoría heliocéntrica de Nicolás Copérnico y la veracidad de estas.

 

 

Actualmente la investigación ha avanzado de manera exponencial con ayuda de la tecnología, se han desarrollado nuevos métodos de análisis, observación y medición que permiten la exploración del espacio a un nivel más profundo. Tal como Eratóstenes y su interés por medir el tamaño de la tierra, durante el siglo XIII se hicieron grandes esfuerzos por conocer el tamaño del universo fue así como la comunidad científica desarrolló el concepto de un año luz.

 

Esta unidad de medida es extremadamente grande, cuantifica longitudes difíciles de imaginar, y nos hace pensar cuan pequeños somos en el universo. Gracias a esto se sabe que la Vía Láctea, nuestra galaxia, tiene una longitud aproximada de 100,000 años luz de extremo a extremo. Por otra parte Alfa Centauri es el sistema planetario más cercano a nuestro sistema solar, a tan solo 4.37 años luz.  

La galaxia más próxima a la Vía Láctea es la galaxia de Andrómeda que se encuentra a 2,537 millones de años luz. Con un tamaño aproximado de 150 millones de años luz, similar al de nuestra galaxia. Increíblemente, así como existen agrupaciones de estrellas y de sistemas solares también existen agrupaciones de galaxias. El Grupo Local es el conjunto de galaxias en el que se encuentra la vía láctea, la galaxia de andrómeda y la galaxia del triángulo las cuales son las más grandes y brillantes, alrededor se encuentran galaxias enanas y galaxias satélites.

 

 

 

La comunidad científica ha desarrollado modelos matemáticos y métodos como el "Paralaje", "Corrimiento al rojo" o el "Método de las Cefeidas" que permiten realizar mediciones en el universo, se auxilian de la tecnología como el gran telescopio Hubble capaz de tomar imágenes del espacio con grandes resoluciones ópticas.

 

 

Práctica 4: Medición de distancia con sensor infrarrojo GP2Y0A21F
 

Objetivos:

Realizar mediciones de distancia con un sensor infrarrojo GP2Y0A21F

Desplegar la información en un Display OLED SSD1331

Cargar librerías de terceros en el Arduino IDE

 

Introducción

Los astrónomos realizan mediciones a gran escala para saber la ubicación de las diferentes estructuras en el universo. Para ello utilizan dispositivos de medición con tecnología de punta desarrollada por los centros de investigación más prestigiosos del mundo. También desarrollan métodos y teorías sobre el modo con el que se realizan estas mediciones. La más antigua, y no por ello menos importante, puesto que se sigue utilizando por su gran precisión a distancias cercanas a nuestro planeta y su relativa simplicidad es el método conocido como "Paralaje". No es necesario ser un científico para interesarnos en nuestro entorno y comenzar a realizar mediciones a lo que nos rodea, además, poseemos una gran herramienta para ello, nuestro Arduino. En esta práctica te mostraremos cómo controlar un sensor infrarrojo para realizar mediciones entre objetos y conocer la distancia entre ellos.

 

 

¿Cómo funciona?

El GP2Y0A21F está compuesto por un led emisor de luz infrarroja que al ser activado lanza un haz de pulsos con determinada frecuencia. Un fototransistor, recibe la luz que ha sido reflejada por algún objeto y la manda a una pequeña unidad de procesamiento para generar una señal proporcional a la distancia que ha viajado la luz. Está unidad de procesamiento es capaz de diferenciar los pulsos del propio sensor de otras señales preservando únicamente la señal de interés.

Posee tres terminales de conexión: Vout es la salida del sensor y es una señal que debe ser procesada por nuestro Arduino por medio del conversor analógico a digital. GND y VCC son las terminales de alimentación (máximo 5.5V) que corresponden a la terminal negativa y positiva respectivamente.

 

Display OLED SSD 1331

Continuando con el tema de los dispositivos que nos permiten visualizar datos, y que introducimos en nuestra entrega anterior (Sistemas de instrumentación en tecnología espacial), en esta ocasión presentaremos otra pantalla muy versátil y con características muy interesantes, y es que, está pequeña con apenas  2.4 cm de longitud puede controlarse con tan solo 2 pins de nuestro Arduino. Además puede desplegar cualquier tipo de información alfanumérica, símbolos y figuras geométricas debido a que es una matriz de 96 x 64 puntos. Cada punto puede controlarse a voluntad mandando señales  de pulsos codificados por las líneas de control SCL y SDA, según el protocolo I2C.

 

Manos a la obra

¡Basta de teoría, es hora de la práctica!. Te presentamos el diagrama de conexión que deberás armar en tu protoboard para poder realizar mediciones como todo científico.

Nota, es posible que tu pantalla OLED SSD 1331 tenga los pins de conexión en una ubicación diferente a la que te mostramos, no te preocupes por ello, esto se debe a que por lo regular existe más de un fabricante que manufactura el mismo producto. Lo importante aquí es respetar los pines de conexión SDA y SCL que seguro tendrá indicado tu dispositivo.

 

 

Para esta práctica hemos utilizado algunas librerías desarrolladas por terceros, es decir, de la gran comunidad de personas alrededor del mundo que utiliza Arduino y comparten sus desarrollos, recuerda, la mayoría de este código es libre y está disponible para todas las personas que desean utilizarlo. Existen dos métodos para cargar librerías, te mostraremos ambos para que tengas las herramientas necesarias para desarrollar e investigar todo lo que desees.

 

Mediante el gestor de librerías de Arduino

Este método es el más fácil y rápido, te permitirá instalar librerias que ya han sido aprobadas por la comunidad y registradas en el IDE. La forma de instalarlas es mediante la herramienta de  Gestión de librerías.

Deberás abrir el Gestor localizado en el Menú Programa dentro del IDE

 

 

En la parte superior del Gestor de librerías, introduce el nombre de las siguientes librerías. Primero instalaremos la librería Adafruit SSD1306 que nos permitirá mandar comandos de control a nuestra pantalla OLED. Una vez introducido el texto verás como se comienzan a filtrar los resultados. Instala la primera, en nuestro caso aparece con la leyenda INSTALLED, puesto que ya la tenemos instalada.

 

 

Repite el proceso para la librería Adafruit GFX

 

 

Método manual

Cuando se requiere de alguna librería que no está en el gestor, se necesitan los archivos fuente, podrás obtenerlos de numerosos sitios web donde sus autores las proporcionan. Para este método vamos a cargar una librería llamada MedianFilter desarrollada y compartida por Phillip Schmidt a través de su cuenta en GitHub. Ingresa al siguiente enlace https://github.com/daPhoosa/MedianFilter y localiza el botón verde “Clone or Download”, haz clic en él y selecciona la opción “Download Zip”

 

 

 

Para cargar la libreria a la biblioteca de Arduino IDE deberás ir al menú Programa y seleccionar la opción “Añadir librería .zip”

 

 

En la ventana que aparece selecciona el archivo MedianFilter-master.zip que se acaba de descargar, da clic en abrir y reinicia el IDE. Ahora que ya hemos cargado las librerías con ambos métodos podemos utilizarlas en cualquier aplicación, para ello bastará con seleccionarlas mediante el menú Programa, “Incluir Libreria”

 

 

 

Después de haber realizado las conexiones del diagrama y cargado las librerias, deberás subir el siguiente programa a tu tarjeta de desarrollo Podrás encontrar este código con el nombre Practica 4/sharpsensor en nuestro repositorio público en https://github.com/GustavoAEM/robotica-no-ingenieros

 

//**********Librerias**********
#include 
#include 
#include 
#include 
#include 

#define reset 4

//Declaracion de objetos
Adafruit_SSD1306 display(reset);
MedianFilter prueba(20,0);

int value;
int filtered;

void setup()
{
  //Se inicializa el display OLED
  Serial.begin(115200);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("Sharp");
  display.println("GP2Y0A21F");
  display.display();
  delay(2000);
  display.clearDisplay();

}

void loop()
{
  //Conversion ADC
  value = analogRead(A0);
  //Filtro de datos para reducir el ruido
  prueba.in(value);
  filtered = prueba.out();
  Serial.println(filtered);
  //Se obtiene la distancia en relacion con los datos de entrada
  float distancia_cm = 10597.1 * pow(filtered, -1.13175);
  //Se imprime el valor de la distancia en el display OLED
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(20,0);
  display.println("Sharp GP2Y0A21F");
  display.setTextSize(2);
  display.setCursor(23, 15);
  display.print(distancia_cm,1);
  display.print(" cm");
  display.display();
  delay(50);  
  display.clearDisplay();                                   

}

 

Serial Plotter

El Arduino IDE posee una poderosa herramienta de visualización llamada "Serial Plotter" que nos permite graficar una colección de datos con respecto al tiempo de una manera muy intuitiva. Con esto podrás observar la gráfica de la señal captada por el sensor infrarrojo. Para abrirlo ve al menú Herramientas/Serial Plotter.

 

 

 

Galería de imágenes

 

 

 

 

 

 

Conclusiones:

El SHARP GP2Y0A21F es un sensor infrarrojo que permite medir la distancia entre un objeto y la posición inicial del sensor. Tiene un rango de medición de 10 cm a 80 cm y es a prueba de ruido generado por otras fuentes emisoras de luz. El display OLED SSD 1331 puede desplegar caracteres alfanuméricos, símbolos y gráficos gracias a que es una matriz de puntos. En algunas ocasiones se requiere instalar librerias de terceros que permiten realizar proyectos de una manera más fácil. Para ello se puede hacer de manera manual o por medio del Gestor de Librerías incluido en Arduino IDE.

 

 



Referencias:

https://eclipse2017.nasa.gov/lunar-distance-parallax https://www-spof.gsfc.nasa.gov/stargaze/Sparalax.htm https://www.nasa.gov/pdf/58277main_Space.Based.Astronomy.pdf



Etiquetas: SHARP GP2Y0A21F,Arduino,universo,cosmos,OLED SSD 1331,librerias

Revista Hacia El Espacio de divulgación de la ciencia y tecnología espacial de la Agencia Espacial Mexicana.