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 + módulo para convertir los valores en analógicos
#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.
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.
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.
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.
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.
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…
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.
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:
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.
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.
Ana Marotias, “¿Qué es el software libre?”
Javier Castrillo, Claudio Andaur, Maira Zelaya
Fernando Corinaldesi, Lucas Frías
Javier Castrillo, “Software Libre en educación”
Taller de primeros pasos en robótica con Arduino
Taller de primeros pasos en robótica con Arduino
Claudio Andaur, “Animación integral con Software Libre”
Claudio Andaur, “Animación integral con Software Libre”
Iris Fernández, Javier Castrillo, Claudio Andaur, Ana Marotias
Marisa Conde, “Generación de gráficos SVG para impresión 3D”
Pablo Vannini, “Trabajando con Software Libre en el mundo real”
Ignacio Abadie, “Introducción a Godot, motor gráfico para desarrollo de videojuegos 2d y 3d”
Como dejó de funcionar el disco de mi computadora de escritorio, empecé a poner en orden viejitas netbooks (y también una no tan viejita All in one) que me “tiraron por la cabeza” personas que ya no las querían.
Netbook con Huayra Linux, All in one con Ubuntu y netbook con Debia
Tres computadoras, tres distros de Linux
En la primer computadora, una All in One con un procesador i3, instalé un Ubuntu. Me sorprendió lo fácil que fue todo, incluso.. ¡detectó solo la impresora inalámbrica y ahora puedo imprimir por wifi! (antes no podía). La impresora es una Samsung m2020, es maravillosa <3
En la segunda, un compañero de trabajo me había instalado un Debian, pero yo no podía acceder con el usuario administrador, así que tuve que hacer una pequeña investigación para:
En la tercera compu, la menos potente, más antigua, quise probar Huayra. La verdad, funciona bien. La compu es lenta de por sí, pero para llevar y traer archivos, o acceder a un sitio web, está perfecta así.
Ya me bajé lubuntu para probarlo en esa compu, pero será otro día…
Con cuatro servomotores, un arduino Uno, una batería de 9v. y otros materiales (palitos de helado, pistola de silicona), estuve tratando de hacer un robot bípedo que camine. El armado es similar al de la mano robótica del post anterior.
Fui corrigiendo diferentes defectos, tanto de programación como de diseño
Después me concentré en que la robota Thelma llevara la placa arduino, la batería, la protoboard… era imposible con el diseño anterior. Así que todo cambió: patitas cortas (intenté varios modelos y finalmente me quedé con las patitas del servomotor) y cuerpo de tupper: