Sensor de humedad para tierra: HW-080

Para un proyecto en escuelas secundarias, me compré unos sensores HW-080, que miden la humedad de la tierra. Estas sondas pueden utilizarse solas y devolverán un valor binario, o con un módulo para convertir en analógicos los valores. Yo las compré con el módulo:

Sonda y módulo analógico
Sonda + módulo para convertir los valores en analógicos

Los pude utilizar en menos de cinco minutos gracias a este post de madnesselectronics.com donde obtuve el siguiente código:

define sensor A0
void setup(){
    pinMode(sensor, INPUT);
    Serial.begin(9600);
  }
 void loop(){
 //Se hace la lectura analoga del pin A0 (sensor) y se pasa por la funcion map() para ajustar los valores leidos a los porcentajes que queremos utilizar   
int valorHumedad = map(analogRead(sensor), 0, 1023, 100, 0);
Serial.print("Humedad: ");
Serial.print(valorHumedad);
Serial.println("%"); 
delay(100);
  }

Las conexiones, en el caso de los sensores que yo adquirí, no tienen ninguna indicación. ¡Está todo en chino! Por lo tanto, sólo me quedó imitar la posición de la guía del enlace:

El resultado: al insertar en una maceta con tierra el sensor, veremos en el monitor serie el porcentaje de humedad.

Mi nueva impresora Wanhao Duplicator i3 mini

Al fin! Hace bastante tiempo ando dando vueltas con respecto al tema de la impresión 3D. Empecé intentando armar una con un grupo de personas, pero me resultó demasiado complejo como para repetirlo sola.

Me suscribí a una lista de correos, y comencé a leer los mil y un problemas que puede tener alguien al imprimir… prácticamente había descartado la idea de tener una impresora en casa.

Sin embargo, mi opinión cambió al conversar con una colega (Marisa Conde, Graciasss!) que me confirmó que al tener una impresora aprendería, efectivamente, a imprimir. Que no es simplemente pulsar un botón y que salga.

Así que me puse a leer artículos como este, en el que se mencionan y evalúan las impresoras más económicas (año 2018). Allí dice:

“La Wanhao Duplicator i3 V2.1 es una impresora 3D del fabricante chino Wanhao. Esta impresora que se ofrece en kit es una evolución de su primera versión de la Duplicator I3. Una máquina basada en la Prusa completamente open source que cuenta con un marco de metal que le da gran estabilidad. Tiene un volumen de impresión de 200 x 200 x 180 mm, una resolución de capa de 0,1 mm y una cama calefactada, que le abre la posibilidad de imprimir con más plásticos.”

Así que me animé. Leí que por más que viniese armada, no era enchufarla y que funcione. Y sin embargo, prácticamente es así. Con la guía paso a paso se empieza por cortar los cinchos, colocar el filamento, quitar el resto de material, insertar la tarjeta, e imprimir los modelos que ya trae en la mini sd.

Impresora Wanhao i3 duplicator mini
Impresora Wanhao i3 duplicator mini

Después intenté descargar un archivo (de hecho, lo compré) e imprimirlo. Pero por hoy, fracasé en el intento (creé el archivo en Cura pero no lo hice bien). Mañana será otro día.

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.