Robot Lego NXT Curiosito, un explorador… ¿de planetas?

Mars Rover – Lego Mindstorms NXT – Robot tipo Rover para exploración de Marte.

curiosity-mars-rover-medEn esta página se muestra el robot Lego Mindstorms NXT Curiosito, tipo Mars Rover (explorador de Marte) para simular la exploración de planetas o satélites. Está inspirado en el diseño de los robots exploradores del planeta Marte como Spirit, Oportunity o Curiosity.

Actualmente, Curiosity está explorando el planeta Marte, y se puede leer mucha información de la misión en el sitio web de la NASA, en la dirección http://mars.nasa.gov/msl/.

La misión de Curiosity es responder la pregunta: ¿Alguna vez pudo haber en Marte pequeñas formas de vida llamadas microbios?

El robot Lego NXT Curiosito, un explorador… ¿de planetas?

La intención de construir este robot fue como ejemplo para el curso Robótica en la exploración espacial del Instituto de Robótica de Xalapa, por motivo de su participación en la Semana Mundial del Espacio 2016, coordinado por la Agencia Espacial Mexicana.

lego-nxt-curiosito

Este robot está armado con las siguientes piezas:

  • Piezas de Lego Mindstorms NXT
  • 1 NXT
  • 3 Servomotores del Lego Mindstorms NXT
  • 4 ruedas omnidireccionales para eje Lego
  • 1 Cámara GoPro Hero 3

No hay instructivo, la idea de esta página es que el lector haga su propio robot Lego NXT Curiosito. En lugar de las ruedas omnidireccionales se pueden usar simplemente rines, sin la llanta para que el robot pueda girar libremente. También, en lugar de la cámara GoPro se puede usar un teléfono celular.

Arduino Blink Monitor ejemplo – encender y apagar LEDs

¿Cómo encender y apagar LEDs externos a Arduino? ¿Y cómo monitorear (ver) qué está haciendo Arduino?

arduino-blink-demoEste programa hace que Arduino encienda y apague el LED conectado al PIN 13. Está basado en el ejemplo Blink de Arduino.

/* Programa: BlinkMonitor.ino
   Modificado por: Julio Sandria - 28-Sep-2016
   Enciende un LED dos segundos y lo apaga un segundo, repetidamente.
   También muestra un texto en el Monitor Serie.  
*/

// la función setup se ejecuta una vez cuando se oprime reset o 
// enciende la tarjeta Arduino
void setup() {
  // inicializar pin digital 13.
  pinMode(13, OUTPUT);
  Serial.begin(9600);
  Serial.println("Iniciando BlinkMonitor... por Julio Sandria...");
  delay(1000);
}

// la función loop se repite siempre que tenga energía la tarjeta
void loop() {
  digitalWrite(13, HIGH);   // Enciende el led
  Serial.print("LED 13 encendido... ");
  delay(2000);              // Espera dos segundos
  digitalWrite(13, LOW);    // Apaga el led
  Serial.println("apagado.");
  delay(1000);              // Espera un segundo
}

Monitor Serie

Arduino puede comunicarse mediante un puerto serial a otros dispositivos o computadora conectada con cable USB. La opción Herramientas | Monitor Serie abre la ventana donde se puede imprimir textos desde Arduino, usando comunicación serial.

arduino-monitor-serie-2

Esta funcionalidad es la que se demuestra en este ejercicio. Por ejemplo, en la función setup(), de las dos líneas:

Serial.begin(9600);
Serial.println("Iniciando BlinkMonitor... por Julio Sandria...");

la primera (Serial.begin) inicializa la comunicación serial entre Arduino y la computadora, a una velocidad de 9600 bps (bits por segundo), la segunda (Serial.println) imprime una línea con el texto «Iniciando BlinkMonitor… por Julio Sandria…». Para más información ver el sitio web de Arduino:  https://www.arduino.cc/en/Reference/Serial.

Conectar un led al pin 13 de Arduino

Además de encender el led que Arduino tiene integrado junto al pin 13, puedes conectar otro Led como se ilustra en la siguiente figura. Después de hacer las conexiones, conecta Arduino a la computadora para ejecutar el programa.

arduino-blink-demo

Conectar dos leds

Como segundo ejercicio, conecte un segundo led a Arduino, como se muestra en la figura siguiente, y cambie la programación para que el led rojo se encienda cuando el led verde se apague y viceversa.

arduino-2-leds-ejemplo