viernes, 30 de noviembre de 2012

Tecnología Satelital y Aplicaciones Para el Desarrollo

(Ensayo NO ganador del concurso "Las Comunicaciones Satelitales y Su Importancia para el Desarrollo de México" de la SCT)

“Yo Nezahualcóyotl lo pregunto: 
¿Acaso de veras se vive con raíz en la tierra?” -Nezahualcóyotl 

 Si se posa una mirada atenta en el cielo nocturno, pocos momentos después de ocultarse el Sol, y se espera pacientemente por unos minutos, con algo de suerte observará algunos tenues objetos cruzar el firmamento a gran velocidad. Estas débiles luces rojizas son el reflejo del Sol sobre algún satélite artificial. Técnicamente, un satélite es cualquier objeto que gire alrededor de la Tierra en una órbita circular o elíptica. La Luna es por excelencia nuestro satélite natural cuya influencia provoca las mareas, regula los ciclos biológicos de muchas especies y alimenta nuestros mitos y leyendas. Pero son los satélites artificiales, aquellos construidos y diseñados para cumplir tareas específicas, los que juegan también un papel importante para nosotros y han cambiado enormemente nuestra vida, nuestra visión del planeta y la del universo.

 La visión única de la tierra que nos ofrece la órbita terrestre proporciona una posición sin igual que expande el alcance de las comunicaciones así como del entendimiento del globo. Hubo una época, a principios de la segunda mitad del siglo XX, dónde los satélites fueron oscuros dispositivos secretos construidos y operados únicamente por los gobiernos de las superpotencias y usados para espionaje, navegación y control remoto de armamento. Hoy en día, el espacio es un lugar disponible a todas aquellas organizaciones y naciones con la voluntad política, la inventiva y el esfuerzo humano necesarios.

 Es en 1996, tras años de experimentos y desarrollos en materia espacial realizados por muchos investigadores e ingenieros mexicanos en el Programa Universitario de Investigación y Desarrollo Espacial (PUIDE) de la UNAM, cuando el primer satélite fabricado en México, el UNAMSAT-B es puesto en orbita con un cohete ruso desde el cosmódromo de Plesetzk, Rusia. Si bien el gobierno de México había contratado a una compañía estadounidense para los programas satelitales Morelos, a principios de los 80’s y Solidaridad a principios de los 90’s, el lanzamiento y puesta en orbita del UNAMSAT-B representó un paso hacia la independencia tecnológica en el sector espacial. Es ahora, a principios del siglo XXI cuando nuestro país vuelve a retomar con más fuerza el curso en el desarrollo de satélites de tecnología nacional con el apoyo de la Agencia Espacial Mexicana y varios centros de investigación, universidades y centros de alta tecnología.

 El espacio, particularmente la orbita terrestre, es un enorme laboratorio que reúne condiciones extremas de microgravedad, vacío, radiación y temperatura que resultan de gran potencial para la realización de experimentos para las universidades e institutos de todo el país. El libre acceso a él, que generalmente está limitado a convenios con las agencias espaciales extranjeras, abriría una ventana sin precedentes a la educación superior. Los satélites abiertos a las universidades ofrecerían una oportunidad única de práctica para estudiantes de ciencias, ingeniería y comunicaciones quienes están limitados actualmente a la teoría en los salones de clase. Pero los beneficios del rubro espacial no solo se ven reflejados en la ciencia y la tecnología sino también en otras áreas tanto económicas como sociales. En un país en desarrollo dónde existen varios retos que superar, la industria espacial no es una carga sino una herramienta fundamental de desarrollo.

 Las aplicaciones de la tecnología satelital en la agricultura, un sector importante en la economía del país, son diversas. Debido a que cada cultivo tiene una firma química detectable desde el espacio, los satélites pueden ser utilizados para hacer un inventario completo de cultivos en todo el territorio nacional, calculando el tonelaje de cultivos como maíz, trigo, sorgo, caña de azúcar, etc. en un sólo día. Las plagas poseen también una firma química por lo que pueden monitorearse en tiempo real de la misma forma, dando información rápida y confiable para crear planes de contingencia adecuados. Así mismo, pueden crearse mapas que muestren a los productores las zonas geográficas más adecuadas para un tipo de cultivo específico.

 La mejora en los sistemas de comunicación en las poblaciones rurales se beneficia con una mayor conectividad, capacidad y ancho de banda que son ofrecidos a precios elevados mediante sistemas terrestres.

 Dada la ubicación geográfica de México, es país afectado frecuentemente por desastres naturales. Los satélites proporcionan un seguimiento a las zonas afectadas por huracanes, inundaciones y terremotos. Identifican rápidamente las zonas incomunicadas por daño de vías terrestres, acceso interrumpido a la red eléctrica y establecen enlaces de comunicación de emergencia, mismas operaciones que resultan más costosas y lentas por medios aéreos.

Nuestro país cuenta con una gran biodiversidad y múltiples ecosistemas. La tecnología satelital puede ofrecer monitoreo de niveles de contaminantes o concentraciones de plancton en los litorales, daño a hábitats por causas humanas o naturales, vigilancia de reservas de la biosfera y detección de asentamientos madereros clandestinos en selvas y bosques. Pueden ubicarse las zonas que requieren reforestación y crear planes más eficaces que disminuyan la desertificación.

 En cuestiones de seguridad nacional, satélites equipados con cámaras pueden dar apoyo estratégico en operaciones de investigación y combate al crimen organizado, mapeo de zonas conflictivas y rutas de tráfico de armas, sustancias ilícitas o personas así como establecer enlaces de datos y comunicación a las unidades de policía, fuerzas armadas y de marina en cualquier punto remoto del país.

 Como un beneficio económico, paralelo al ahorro de una importante cantidad de capital en compra de tecnología extranjera, todas las aplicaciones y servicios antes tratados pueden ofrecerse comercialmente a los países de Centroamérica y el Caribe así como la venta de equipo espacial, aunado al mayor prestigio en los institutos y personal calificado en tecnología espacial que conlleva el proceso de este desarrollo. El camino hasta la última frontera está lleno de dificultades de impensables formas, pero son estos mismos retos y las oportunidades que nos ofrece lo que empuja a la nación del Ombligo de la Luna a llegar hasta ella y conquistarla con nuestros propios tenues reflejos que cruzarán el cielo nocturno.

(Leer ensayo ganador

viernes, 9 de noviembre de 2012

miércoles, 7 de noviembre de 2012

Contador de pulsos con anti-rebote en Arduino

Debido a que los botones al presionarse sufren de transientes mecánicos antes de estabilizarse, es conveniente  utilizar funciones de antirrebote  que nos permitan tener lecturas más confiables del estado lógico de un botón. Lo que hace la función debounce() descrita en este programa es tomar una lectura 5 ms despues de ocurrido el primer flanco como se muestra en la imagen:
La función puede utilizarse tanto para eliminar rebotes de off-on como de on-off.

Programa:
// Rodolfo E. Escobar U.
// Facultad de Ciencias de la Electrónica, BUAP, México.

int conta = 0;  // Variable para el contador
boolean lastButton = LOW;    // Estado anterior 
boolean currentButton = LOW; // Estado actual 

void setup() 
{
  Serial.begin(9600);  // Inicia comunicación serial
  pinMode(8,INPUT);    //Pin 8 como una entrada (entrada de pulso)
}
 
 boolean debounce(boolean last) // Función antirebote
 {
   boolean current = digitalRead(8);
   if (last != current) // Se verifica haya ocurrido un cambio de estado
   {
     delay(5);
     current = digitalRead(8); //Se vuelve a leer el pin después de un delay
   }
   
   return current;
 }  

void loop() 
{           
 
  currentButton = debounce(lastButton); // Eliminación de rebote
  
  // Si hay cambio de estado en el botón
  if ( lastButton == LOW && currentButton == HIGH) 
  {
         conta++;               //Incrementa el contador
         Serial.println(conta); //Imprime el valor por consola
         delay (100);           // Retardo   
  }
  
    lastButton = currentButton; // Actualiza estado 
}
 
//Fin programa