¿Clases virtuales por videoconferencia?

De golpe toda la gente está en su casa. De pronto, gente que antes no quería saber nada con clases virtuales, se interesa por ellas.

Y por supuesto, quienes no se interiorizaron antes, creen que las clases virtuales se dan por videoconferencia.

Además mucha gente que sí se había interiorizado, encuentra interesante este formato.

Aquí voy a ir armando un listado de razones por las cuales me opongo a que se dicten clases con esa modalidad:

Razones pedagógicas

Dar clase por videoconferencia estimula la clase expositiva, no fomenta el trabajo en grupo, obliga a los/las estudiantes a mantenerse en un lugar pasivo, o a lo sumo limitarse a preguntar (en lugar de leer, producir un resumen, un mapa conceptual, investigar, etc.)

Razones técnicas

Hoy en día, más que nunca, por el aislamiento vinculado a la pandemia se está pidiendo que no se sature la red enviando videos y audios innecesariamente. Estas videoconferencias, son innecesarias.

Por otra parte, se sobre exige a los servidores de las universidades o se cae en herramientas privativas que sólo quieren hacerse famosas para vender su producto.

Razones de inclusión

La videoconferencia invade los hogares de las personas: se oye a los chicos, las madres, a los bebés, al perro… y el estudiante debe pedirle silencio a toda su familia para no pasar pequeños papelones.

Por otro lado, si tenemos estudiantes con baja visión o audición, estamos generando una barrera de acceso. También hay barreras de acceso para quienes tienen problemas motrices.

En la mayoría de los hogares, no hay suficientes dispositivos o suficiente conectividad para que una persona esté en una videoconferencia mientras el resto de la familia quiere mirar una película, cursar otra materia, o trabajar. A veces no hay wifi, y les estamos consumiendo datos de los celulares.

Las familias tienen a sus hijos en casa, tienen que atenderlos, ¿por qué tenemos que obligarlos a asistir a actividades sincrónicas con los chicos caminando por las paredes?

Debemos innovar sin excluir. Innovar pero aprovechando todo el recorrido profesional de quienes vienen (venimos) trabajando en esto.

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.

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 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.

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.

Matricular estudiantes de un curso en otro curso

Cuando utilizamos Moodle, muchas veces tenemos que crear un curso donde van a participar todos los estudiantes de otro curso, o de varios cursos.

Por ejemplo:

  • necesitamos un curso con todos/as los/as estudiantes de todas las materias de una carrera.
  • hay un curso para realizar unas actividades y otro curso para otras actividades, con el mismo grupo de estudiantes pero en uno se suman docentes
  • existe un espacio donde se matricula al total de estudiantes de todos los cursos, para brindar información general o administrativa

¿Cómo se hace?

Primero hay que activar en el sitio el método de matriculación, en “Gestionar plugins de inscripción”, haciendo clic en el icono del ojo:

Después, hay que ir al curso de destino, y elegir en el menú “Usuarios” “Métodos de inscripción”, el método “Meta-enlace a curso”

Allí se elige el curso del cual se deben tomar los usuarios, y si se los va a añadir a un grupo.

De esta manera, si se agrega un usuario al curso de origen, se agrega automáticamente a este otro curso, con el mismo rol.

Linux, linux y linux

Hoy estuve todo el día divirtiéndome con… ¡Linux!

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…

Intentos de hacer un robot bípedo

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:

Manito robótica: controlar 4 servos en un Arduino Uno

Hace unos meses me compré cinco servomotores Tower Pro SG90 para hacer una manito. Recién tuve tiempo hoy de empezar a armar algo.

Cinco motores servo SG90

Si nunca usaste un servo, empezá por aprender a manejar un solo motor. Cada marca y modelo tiene diferentes colores de cables.

Atención: si lo conectás mal, el servo se quema. Yo ya quemé dos…

En el caso del Tower Pro SG90:

  • el cable naranja es de datos,
  • el rojo es positivo,
  • el marrón negativo.

Tenemos que conectar los cuatro servos a positivo, negativo (GND) y después el cable naranja de cada servo va a un pin PWM diferente.

Los pines PWM son los que tienen el símbolo ~

Fuentes de energía

Cuando usamos cuatro servos, es necesario agregar energía externa, ya que exigen más de lo que la placa Arduino puede darles. Yo conecté un portapilas de cada lado, y dos servos de cada lado:

Portapilas

  • Cable rojo al positivo, cable marrón al negativo.
  • Cable naranja de cada servo a un pin PWM diferente.

El código

Como siempre, comencé por abrir el archivo de ejemplo para manejar servos. Y después lo modifiqué.

Para poder pegar los motores con cinta de papel a una cajita, empecé con un programita que apunta los cuatro servos a la posición 0.

#include <Servo.h>

Servo myservo; // esto está en el programa de ejemplo, yo agregué los otros 
Servo myservo2;
Servo myservo3;
Servo myservo4;

void setup() {

myservo.attach(5); // un servo en cada pin
myservo2.attach(9);
myservo3.attach(10);
myservo4.attach(11);
}

void loop() {

myservo.write(0); // todos los servos van a la posición 0
myservo2.write(0);
myservo3.write(0);
myservo4.write(0);
delay(5000);}

apuntar los motores

Recién cuando pude poner los cuatro servos en la posición cero, los pegué en una cajita de cartón. Los dedos los hice con “limpiapipas” (alambre forrado, se usa en manualidades)

Ahora sólo queda programar el movimiento:

#include <Servo.h>

Servo myservo; // crear un objeto servo para cada motor
Servo myservo2;
Servo myservo3;
Servo myservo4;

void setup() {

myservo.attach(5); // declarar el pin en que se conecta cada servo
myservo2.attach(9);
myservo3.attach(10);
myservo4.attach(11);
}

void loop() {

myservo.write(0); // pongo todos los dedos en 0
myservo2.write(0);
myservo3.write(0);
myservo4.write(0);
delay(5000); // espero cinco segundos
myservo.write(90); // pongo todos los dedos en 90º
myservo2.write(90);
myservo3.write(90);
myservo4.write(90);
delay(1500); // espero un segundo y medio
myservo.write(180); // pongo todos los servos en 180º
myservo2.write(180);
myservo3.write(180);
myservo4.write(180);
delay(1500); // espero un segundo y medio

}

Este es el primer resultado:

En un segundo intento utilicé palitos de helado. Y armé una estructura de tres dedos, dos de ellos con una articulación (ahora con cinco servos).

Como los pares de pilas anteriores parecían insuficientes, ahora puse todos los motores en la misma fila y le conecté una batería de 9v.

conexionesBateria de 9v conectada a los servos

El resultado me gusta más que en la prueba anterior:

Acá con unos movimientos más suaves (usando bucles for para cada movimiento):