HueBot o GüeBot

Continuando en mi camino de hacer distintas partes de un robot humanoide, esta vez le tocó a los ojos.

Siempre me preguntaba cómo hacer para crear ojos que giren hacia arriba/abajo y hacia los costados.

Así nació esta primera versión de HueBot o GüeBot, el robot de ojos de huevos.

Pensando en cómo darle estética al robotito, recordé mis tuppers comprados para esto mismo (para hacer robotitos). Así que lo armé de tal manera que el giro vertical fue reemplazado por una especie de apertura de párpados.

La estructura de conexiones es igual a la de la mano robótica, pero esta vez, al utilizar tres servomotores, no fue necesario agregar las pilas.

El próximo desafío es el de agregar sensores o manejarlo a través del BlueTooth.

El código hasta ahora:

#include <Servo.h>

 Servo myservo1; 
 Servo myservo2;
 Servo myservo3;

 void setup() {
 myservo1.attach(9);
 myservo2.attach(10);
 myservo3.attach(6);
 }
 void loop() {
 //arriba
 myservo1.write(15); 
 delay(2000);
 delay(1000);
 //abajo
 myservo1.write(40); 
 delay(2000);
 //izquierda
 myservo2.write(40);
 myservo3.write(40);
 delay(500);
 //derecha
 myservo2.write(80);
 myservo3.write(80);
 delay(1000);
 //izquierda
 myservo2.write(50);
 myservo3.write(50);
 delay(2000);
 }

Mover un servo motor utilizando el celular

En la entrada anterior expliqué cómo conectar el Módulo Bluetooth HC-06 al arduino y enviar mensajes desde el celular a través de una app llamada Bluetooth SPP.

Modo Control

Hasta ahora lo utilizamos en modo “terminal”. Ya podemos pasar al modo “Control” de la aplicación (en el menú de hamburguesa – las tres rayitas)

Comenzamos investigando qué recibe el Arduino cuando tocamos cada tecla. Para ello, abrimos el monitor serie y pulsamos los botones. Recibe una A, una B, una C, una D y cuando soltamos, una Z.

Por lo tanto, modificamos el programa para que nos avise qué recibe cada vez que tocamos una flecha. Vamos a pedirle que cuando se oprime el botón hacia arriba nos devuelva “Arriba”, y eso mismo con todos los botones:

void setup()  
 {
   Serial.begin(9600);
 }
 void loop() 
 {
   if (Serial.available())
   {
     char dato=Serial.read();
     Serial.print("Dato recibido: ");
     Serial.println(dato);
     if (dato=='B') {
       Serial.println("Abajo");
     }
        if (dato=='A') {
       Serial.println("Arriba");
     }
        if (dato=='C') {
       Serial.println("Izquierda");   
     }
        if (dato=='D') {
       Serial.println("Derecha");
     }
   }
 }

Y el resultado, al tocar las flechas:

Conectando el Servo Motor Tower Pro Micro Servo 9g

Si nunca utilizaste el servo motor, comenzá por aprender a utilizarlo, por ejemplo, con esta entrada: Servo motor 9g Tower Pro

Ahora vamos a hacer esas mismas conexiones, repasando:

  • cable anaranjado: va a un pin de tipo PWD (los de la tilde de la eñe)
  • cable color marrón: GND (tierra)
  • cable color rojo: +5v

El problema es que tenemos el pin de +5v ocupado por el módulo HC-06, así que vamos a tener que conectar el módulo de Bluetooth y el Servo a una breadboard / placa de pruebas, y de allí sacar un cable para el pin de Arduino llamado +5v

Ahora le agregamos unas líneas a nuestro programa, para que se mueva el servo motor al presionar los botones:

#include <Servo.h>
 
Servo myservo;   

void setup()  
 {
   Serial.begin(9600);
   myservo.attach(9);
 }

void loop() 
 {
   if (Serial.available())
   {
     char dato=Serial.read();
     Serial.print("Dato recibido: ");
     Serial.println(dato);
     if (dato=='B') {
       Serial.println("Abajo");
       myservo.write(90);
         delay(15); 
     }
        if (dato=='A') {
       Serial.println("Arriba");
       myservo.write(0);
         delay(15); 
     }
        if (dato=='C') {
       Serial.println("Izquierda"); 
       myservo.write(180);  
     }
        if (dato=='D') {
       Serial.println("Derecha");
       myservo.write(45);
     }
   }
 }

Como el servo no gira 360 grados, los botones no lo mandan exactamente arriba, abajo, derecha, izquierda. Ya mejoraremos eso en otra entrada.

Módulo Bluetooth en Arduino

Hace mucho tiempo me compré un kit de domótica que no llegué a usar. Hoy que tengo un ratito me puse a probar el módulo Bluetooth HC-06 (el que tiene cuatro pines).

Las conexiones se realizan de la siguiente manera:

  • VCC va a 5v
  • GND a GND
  • TX al pin RX (el 0 en mi Arduino)
  • RX al pin TX (el 1 en mi Arduino)

Muy importante: cuando TX y RX están conectados, Arduino da error al descargar el programa. Eso significa que si lo utilizamos de esta manera necesitamos desconectar ambos pines y resetear la placa cada vez que vamos a descargar código al arduino. Esto se resuelve utilizando la librería SoftwareSerial para conectar otros pines.

Tomé el primer código del sitio naylampmechatronics.com

void setup()  
{
  Serial.begin(9600);
}

void loop() 
{
  if (Serial.available())
  {
    char dato=Serial.read();
    Serial.print("Dato recibido: ");
    Serial.println(dato);
  }
}

Conectar el celular al Bluetooth HC-06

Lo primero que hay que hacer es instalarse una app, por ejemplo Bluetooth SPP.

Me costó muchísimo esta parte. No lograba entender lo que estaba ocurriendo. Según se explica en varios posteos, en el módulo bluetooth HC-06:

  • La luz roja titilando significa que está visible pero no conectado
  • La luz roja encendida fija significa que la conexión se estableció

Lo que a mí me funcionó es lo siguiente:

  • Encender el bluetooth del celular y poner “buscar”. No me aparecía ninguno de los nombres que figuran en los distintos posteos, así que probé conectarme a uno que aparecía y se conectó (con el pin 0000, también podría ser 1234). Aún así la luz seguía titilando, por eso mi confusión.
  • En la aplicación de celular (Bluetooth SPP en mi caso), poner “Conectar”. Recién allí deja de titilar la luz del HC-06

Una vez establecida la conexión, ya podemos escribir en el celular y ver el resultado en el monitor serie (que se visualiza desde el menú Herramientas del Arduino IDE):

¡Bien! Ya estamos recibiendo contenido desde el celular al Arduino, y podemos verlo en el monitor serie.

En el próximo posteo voy a mostrar cómo manejar un servo motor a través de la app del celular, con Arduino y el módulo Bluetooth HC-06.

¡Borré un foro con todas sus conversaciones! Pero lo recuperé.

Hoy me volvió a pasar (¡sí, ya me había pasado!) que en un momento de distracción, en lugar de eliminar otra cosa eliminé un foro… que estaba en uso. Pensé muy mal de Moodle… no podía ser tan fácil equivocarse!

Entré en pánico.

Hasta que luego de un ratito me acordé de la existencia de la Papelera de reciclaje del curso, donde se guardan durante 7 días los elementos eliminados.

Esta opción aparece sólo cuando se acaba de borrar algo, pero cuando la papelera está vacía no aparece en el menú.

Al acceder a esta opción, podemos hacer clic en “Restaurar”, y respirar nuevamente con tranquilidad…

Cómo crear una app en cinco minutos

Hoy descubrí Glide. Se trata de una herramienta para crear apps para celulares a partir de una hoja de cálculo de Google Drive (sí, me sigue dando miedo pero cada vez tengo más y más cosas en manos de Google)

¿Cómo se usa? Paso a detallar…

Primer paso: crear una hoja de cálculo

Crear una hoja de cálculo

En la primera fila deben escribirse los nombres de los elementos que estarán presentes en la pantalla (los campos de la base de datos)

Segundo paso: crear una app

Crear nueva app

Haciendo clic en “New App”, y eligiendo la hoja de cálculo creada anteriormente.

En este momento ya veremos en la pantalla los datos que tengamos cargados en la hoja.

Si se trata de una app de información, simplemente cargamos los datos en la hoja y se verán en la app. Pero si se trata de una app donde el usuario modifica y agrega datos, podemos hacer más cosas.

Tercer paso: configurar campos y botones

Podemos agregar mapas, sonidos, configurar el tipo de pantalla en la opción Screen (“Layout”) y añadir formulario para ingresar nuevos ítems, etc.

Configurar la pantalla

Por último, compartir la app

Utilizando la opción “Share App” se puede compartir por Twitter, Facebook, u obtener el enlace.

Y al abrir la app en el navegador (“Open app”), aparece también un código QR.

Cómo quedó mi app

Stop Motion en la escuela

Hace varios años que doy talleres de Stop Motion. Con algo de robótica, generalmente, y otra veces de la manera tradicional, simplemente con un celular.

Hoy estuve probando algunas herramientas y aquí comparto mis impresiones de cada una.

Stop Motion Studio

Stop Motion Studio

Es la mejor de las cuatro apps que probé hoy.

Es el software que utilizo hace varios años, y funciona perfectamente. Se pueden sacar fotos manualmente, una a una, o configurar que se disparen automáticamente cada determinada cantidad de segundos.

Se puede agregar sonido, grabando en vivo, pero no permite elegir un archivo de audio en su versión gratuita.

Esta aplicación me gustó para crear un video “de una”. Pero lo desaconsejo totalmente porque no permite editar las creaciones en su versión gratuita.

Stop Motion Maker – KomaDori Lite

Con esta herramienta trabajé muy bien, y pude editar lo que hice.

Pero no tiene posibilidad de agregarle sonido a la animación, y tampoco permite elegir formatos.

De hecho, no pude enviar de ninguna manera lo que hice: ni por whatsapp, ni subirlo a Youtube. Finalmente, logré abrirlo con Avidemux y exportarlo con otro formato.

Aquí comparto el video que creé para mis estudiantes del profesorado:

Cómo soldar

Como soy una persona que estudió educación pero a quien le apasionan los proyectos con tecnología, voy aprendiendo muchas cosas gracias a este tipo de videos que se encuentran en la web.

Es cierto que observé bastante a mi papá trabajando en su taller, pero además, gracias a este tipo de video que comparto, pude soldar algunos componentes de mis kits de Arduino.

Espero que a ustedes también les sean útiles estos consejos.

Primeros pasos con Arduino: Mi presentación para el Flisol

Comparto aquí la presentación que utilicé el día del Flisol 2019, en UNPAZ.

En el taller (de una hora de duración) mostré muy rápidamente cual es la estructura de la placa Arduino Uno, y utilizamos leds, un motor y un sensor de distancia.

También expliqué y practicamos el uso de la placa de pruebas o breadboard.


Estoy muy conforme con la manera en que voy aprendiendo a llevar adelante este tipo de talleres, ya que cada vez que una dificultad se repite, encuentro la manera de encarar ese contenido para saltear ese obstáculo.

Y esta vez me gustó mucho la manera en que expliqué el uso de la protoboard, con estos tres videos:

Primer FLISOL en UNPaz

El Flisol es el Festival Latinoamericano de Instalación de Software Libre. Es el mayor evento de Software Libre de Latinoamérica. Se realiza en varios países en simultáneo, el cuarto sábado de abril.

Este fue el año número 15. En Argentina hubo 56 sedes, en todo el país. Una de esas sedes, en mi querida Universidad Nacional de José C Paz.

Estoy muy feliz por el resultado. Los talleres y las charlas tuvieron mucha concurrencia y los comentarios al salir eran muy positivos. Espero que este sea el primero de muchos eventos vinculados con la cultura libre en nuestra institución.

Talleres y Charlas realizadas

  • Ana Marotias: ¿Qué es el Software Libre?
  • Javier Castrillo: Software libre en educación
  • Iris Fernández: Primeros pasos en robótica con Arduino
  • Claudio Andaur: Animación integral con Software Libre
  • Pablo Vannini: Trabajando con Software Libre en el mundo real
  • Marisa Conde: Creación de gráficos SVG para impresión 3D
  • Ignacio Abadie – José Guerra Prado: introducción a Godot, motor gráfico para desarrollo de videojuegos 2d y 3d

También colaboraron:

  • Lucas Frías, estudiante avanzado de Analista Programador Universitario en UNPAZ (instalaciones, ayudante en taller de Arduino)
  • Fernando Corinaldesi, estudiante avanzado de Analista Programador Universitario en UNPAZ (instalaciones, ayudante en taller de Arduino)
  • Maira Zelaya, estudiante avanzada de la Tecnicatura en Gestión de Gobierno Electrónico y de la Licenciatura en Gestión Gubernamental (Unpaz)
  • Javier Quispe e Iván Arrua estuvieron colaborando en la parte informática, asistiéndonos con los cañones y las notebooks.

Quiero agradecer a todos/as y cada uno/a: disertantes, colaboradores/as, la gente de la dirección de Prensa y Comunicación de la Universidad, en especial a Jorge Cortez y por supuesto a todo el equipo de la Dirección General de Informática, que nos apoyó con el espacio para el sitio web y las notebooks con Ubuntu para les disertantes, gracias al apoyo de Maximiliano Castro. Y por supuesto, a Fernando Peirone, que gestionó la posibilidad de realizar el evento y nos ayudó con algunas cuestiones administrativas.

En cuanto a la organización del Flisol, tengo que agradecer especialmente a Diego Accorinti que me alentó para que me anime a organizar este evento, y respondió todas mis dudas, que fueron muchas.