lunes, 28 de enero de 2013

St. George

Tengo una bandera de Inglaterra colgada justo arriba de la cabecera de mi cama. Si, la bandera de Saint George. La razón por la cual conseguí esta bandera y no la de Reino Unido es por los 4 espacios blancos. De otra manera la tinta negra de las firmas de mis amigos no tendrían tan buen contraste. A diferencia de muchos de mis compañeros de mi estancia en las islas británicas, les pedí a todos ellos escribir en sus lenguas maternas. Cada vez que siento que mi mundo se cae miro esa pared y recuerdo el inmenso tamaño de la Tierra. Veo entonces en un sólo cuadro las historias de la gente de todas las esquinas del mundo, separadas por la distancia pero envueltas en la misma lidia eterna con la vida. No, aunque hemos llegado a pensarlo muchas veces, nunca hemos estado realmente solos.

martes, 22 de enero de 2013

Des livres

¿Importan los autores que lea una persona a la hora de juzgarla? No, realmente. Cada quien es libre de elegir que quiere leer. Aquellos que critican a autores mainstream como Stephenie Meyer pasan por alto los cientos de miles de jóvenes que tomaron un libro por voluntad propia, quizá, por primera vez en su vida. ¿Importa el número de libros leídos en este mismo juicio? Por supuesto. Al contrario de la opinión de algunos, especialmente aquellos a los que la lectura les un placer fundamental, es un factor importante. No puedo evitar apreciar la objetividad de los números. Para explicarme mejor considera el tiempo como otra variable importante porque todas las ideas, palabras, conversaciones, tragedias, aventuras y personas con las que vamos  a cruzarnos durante nuestra vida, están representadas por un número finito. El punto aquí es la posibilidad de maximizar el flujo de ideas sin limitarse a la época, el idioma o las naciones. 

miércoles, 16 de enero de 2013

Generador de pulsos de 1Hz en VHDL (pulso por segundo)

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;


entity segundo is
port ( pulso : inout std_logic:='0';
       clk   : in std_logic);
        
end entity;

architecture divisor of segundo is
signal count : integer :=1;
begin
process(clk) begin
   if(clk'event and clk='1') then
      count <=count+1;
      if(count = 50000000) then --count = frec de reloj/frec deseada
         PULSO <= not PULSO;
         count <=1;
      end if;
  end if;
end process;

end architecture;


Nota: Variando el valor de count, se puede utilizar el componente como divisor de frecuencia y obtener cualquier frecuencia menor a la del reloj que se esté usando.

jueves, 27 de diciembre de 2012

Friendzone

"A woman doesn't get attracted to you because you prove to her how attracted to her you are. You can't manipulate her into feeling attraction for you by giving her things or telling her how much she means to you. All you're doing is put pressure on her by showing you are needy. By talking about how attracted you are to her and by showing her how much you like her you're simply driving her away. You're making her feel guilty. You're giving your own power and charisma away. And it makes you unattractive. 

Because she's fond of you she tries to give it a chance and hopes for a miracle that somehow she will feel some sort of attraction for you. But now when she thinks about hanging out with you, all she feels is pressure, uncomfortableness, and guilt because she fears she's going to hurt your feelings. She also feels superior in the relationship, because you're the needy one that wants more from her so she feels even less attraction for you than before because of that"

- Stephan Erdman

viernes, 21 de diciembre de 2012

Fechas

La primera vez que leí sobre esta fecha fue en algún momento de 2004. Tengo que admitir, no sin un poco de vergüenza, que sucedió de la manera menos académica posible. A mis 13 años y siendo un recién llegado a Internet, me llegué a creer buena parte del timo sobre el Cinturón Fotónico. Pero siendo sincero, siento algo de nostalgia al pensar en aquel joven que esperaba impaciente un evento que suponía cambiar la historia de la humanidad. Pero no deja de asombrarme poder vivir un "reset" de un enorme calendario antiguo.

martes, 11 de diciembre de 2012

Nubes

Un artista neerlandés  llamado Berndnaut Smilde ha descubierto la manera de crear una nube en el centro de una habitación mediante regulación de humedad, temperatura y luz. Una vez que las condiciones son perfectas, utiliza una máquina de humo para crear la nube.


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