La Biblia de Qudino: Módulo Qudino

Aspecto del  Módulo Qudino y sus conectores

El Módulo Qudino es el cerebro que interpreta al mundo por  medio de sus sensores y acciona mediante sus actuadores.
El Módulo Qudino tiene incorporado un sensor oído y dos actuadores tono y led RGB o un Neopixel para los modelos NEO.
Además el El Módulo Qudino viene acompañado de un cable USB, para programarlo  y un conector para batería externa.

foto del modulo qudino

La Comunicación

La comunicación permite a Qudino interactuar con la computadora a través del monitor serial.
Qubotica puerto serie
En el siguiente ejemplo se ve una “conversación ” entre el Qudino y la computadora.

En la computadora en el monitor puerto serie se ve lo siguiente:

Tono (zumbador)

 
¿Qué es un zumbador?
El zumbador o buzzer, es un componente capaz de producir sonidos a diferentes frecuencias. Son utilizados en multitud de sistemas para producir señales o avisos, como en despertadores, timbres, temporizadores de electrodomésticos (como el de un horno), etc.

Qudino tiene incorporado un zumbador

Qudino tiene incorporado un zumbador

Poniendo en marcha el zumbador

Vamos a descubrir cómo funciona el zumbador. En la pestaña Componentes seleccionamos el bloque Sonar el zumbador. Lo colocamos en el Bucle principal (Hacer) y seleccionamos la nota y la duración que queremos que tenga el sonido. Para el ejemplo, hemos seleccionado las notas  La = 440
Ver las frecuencia de las notas de una piano
Te habrás dado cuenta de que el zumbador suena continuamente. Recuerda que el Bucle principal (Hacer) ejecuta el programa de forma indefinida.

Una alarma

Si hacemos este programa generaremos una alarma tipo sirena de bomberos

Si hacemos este programa generaremos una alarma tipo sirena de bomberos

Pronto te darás cuenta que añadir sonido a tus creaciones te será muy útil y además… ¡es uno de los componentes más divertidos! A partir de ahora vamos a poder diseñar proyectos mucho más creativos, sorprendentes y… ¡ruidosos!

Led RGB (versión antigua)

Los LED son diodos semiconductores que permiten que la corriente circule únicamente en una dirección y emiten luz cuando se activan. Uno de los usos más comunes de los LED es el de indicadores en dispositivos electrónicos, sustituyendo a las pequeñas bombillas que se usaban con anterioridad. Además, dada su capacidad para operar a altas frecuencias, se usan también en tecnologías avanzadas y de control.

El desarrollo más reciente de los LED ha permitido que se puedan utilizar en el ámbito de la iluminación ambiental. Aunque actualmente su uso en este campo es limitado, se prevé un aumento de su presencia en los próximos años, pues tienen numerosas ventajas frente a las lámparas incandescentes y fluorescentes.

Algunas de ellas son las siguientes:

  • Bajo consumo de energía.
  • Vida útil más larga.
  • Menor tamaño.
  • Mayor robustez.
  • Emisión de calor reducida.
  • Mayor resistencia a las vibraciones y a los golpes.

¿Quieres aprender a programar un LED usando qublock?
Te enseñamos mediante ejemplos, vas a necesitar:

  • Un Qudino
  • La Luz LED RGB incorporada
  • Un cable USB
  • Y,  por supuesto, una computadora

Vamos a poner varios ejemplos para que aprendas a  programar la Luz.

Ejemplo 1

Encender una Luz roja

Es uno de los ejemplos de programación más sencillos. Necesitas conectar el Qudino a la computadora, con el cable USB. Usamos el led Rgb del Qudino.

El Luz, actúa componente digital, ya que admite solo dos estados: apagado y encendido. Todos los componentes, ya sean sensores o actuadores que tengan solo dos estados, serán digitales, otro ejemplo es el botón (pulsador), que puede estar pulsado o no pulsado.
Seguimos los siguientes pasos para resolver el problema.

Ahora, programamos con qublock, nuestro qudino  para que encienda el LUZ. Para ello, seleccionamos el bloque Luz, le asignamos el rojo y establecemos la acción que deseamos desempeñar: en este caso, tras programar el qudino, si todo ha ido bien, la LUZ conectado en el rojo debería estar encendido.

Luz encendida en rojo

Si no se enciende, averigua qué puede haber ocurrido haciéndote las siguientes preguntas: “¿He conectado la placa al ordenador?” “¿He seleccionado correctamente el puerto al que se ha conectado la placa?”“¿Me he acordado de ENCENDER  la luz en el bloque?

Ejemplo 2

Apagar un LED

A continuación, vamos a programar nuestra placa controladora para que haga lo contrario, es decir, para que apague la Luz. No olvides programar de nuevo la placa al hacer los cambios.
Vamos a complicarlo un poco, ¿qué tal si ahora hacemos parpadear un LED? En esta ocasión podemos dejar que tú lo intentes por ti mismo. Debes hacer un programa que haga parpadear un LED (encender 1 segundo, apagar 1 segundo). Inténtalo en qublock y luego sigue leyendo más abajo para ver la solución.
Es muy probable que hayas hecho algo así:

Esta solución no funciona porque el programa enciende el LED (durante un instante de tiempo que se corresponde con la velocidad del microprocesador de la tarjeta controladora) e inmediatamente lo apaga durante otro instante. Y, así, una y otra vez. El efecto de este programa es que parece que el LED está siempre encendido (con un brillo ligeramente más tenue al habitual).
El modo de hacer que funcione correctamente es introducir pausas, es decir, cuando, explicamos que el LED debe parpadear entendemos: ENCENDER – APAGAR – ENCENDER – APAGAR – etc.
Esto es incorrecto, en realidad habría que decir: ENCENDER – ESPERAR 1 SEGUNDO – APAGAR – ESPERAR 1 SEGUNDO. – ENCENDER – etc.
Para ello deberás utilizar el bloque retardo o esperar

bloque retardo
Este bloque hace que el programa espere un tiempo determinado. Para indicar el tiempo, puedes usar un bloque de tipo número o una variable. Puedes encontrar el bloque número en la pestaña Matemáticas.
El programa correcto quedaría entonces del siguiente modo:

Si hemos programado la placa correctamente, nuestro LED debería encenderse durante un segundo, apagarse durante un segundo, encenderse de nuevo durante un segundo… Y así hasta el infinito, pues el programa se ejecutará en bucle. ¿Por qué durante un segundo? Porque es el tiempo de espera que hemos fijado para cada estado, pero ese tiempo se puede modificar según nuestras necesidades. Prueba a cambiar la frecuencia de parpadeo.

Luz parpadeando en rojo

Bien, ya sabes lo básico de la programación de un LED. En otra entrada te enseñaremos a programar varios LED a la vez, pero si quieres puedes ir probando tú mismo.
Ejercicios

  • Cambia de color (azul o verde)
  • Cambia el tiempo de espera y de encendido

Ojos

El ojo es un sensor analógico, compuestos por una LDR, resistencia dependiente de la luz. Es similar al potenciómetro pero depende de le luz que incide en él.

Ojo mirando la luz, podemos usar un celular como linterna

Ojo mirando la luz, podemos usar un celular como linterna

Ejercicios

  • Podemos tomar el programa del potenciómetro y probarlo con el Ojo

Botón

¿Qué es un Botón?

Un Botón o pulsador es un sensor digital que al presionarlo se activa (1 o verdadero) y al dejar de pulsarlo se desactiva (0 o falso). En nuestra vida diaria estamos rodeados de pulsadores, desde los botones del ascensor a los botones de parada de los colectivos o las teclas de la computadora.Aspecto de los botones

La forma más fácil de programarlo es la siguiente:

 

O usar una sentencia condicional.

¿Qué es una sentencia condicional?

El bloque Si…ejecutar. Una sentencia condicional es plantearse una pregunta para actuar de una forma u otra según la respuesta. Por ejemplo, si llueve, abriré el paraguas. Si por el contrario no llueve, lo cerraré. Si hace frío, me pondré el abrigo. Si hace calor, me lo quitaré. Si es de noche, encenderé una luz. Si por el contrario es de día, la apagaré.

Junto con las sentencias condicionales,los botones serán de gran utilidad para controlar nuestros  robots.

Si se hace de noche… enciende la luz. Controlando un LED con el pulsador. Vamos a aprender a controlar un LED utilizando el pulsador. Conecta el LED blanco al pin S0 y el pulsador al pin E0.

Queremos que el LED se encienda cuando presionemos el pulsador, y se apague cuando dejemos de pulsarlo:

En la pestaña Control encontrarás el bloque Si/entonces.  Si presionamos nuestro pulsador, es decir, si el valor que devuelve el Botón es igual a 1, encenderemos el LED.

En entonces, si no

En el caso de nuestro LED, queremos comprobar si el pulsador está pulsado y vale 1. Si no vale 1 pero en cambio sí vale 0, apagaremos el LED.

El bloque de lo si no,  se ejecutará cuando no se cumpla ninguna de las condiciones anteriores, es decir, cuando nuestro pulsador no esté presionado.

Aún hay más

    A continuación te proponemos un par de ideas para seguir practicando:
  • Conecta dos LED y haz que uno se encienda y el otro se apague y viceversa, según el estado del pulsador.
  • Crea un semáforo que esté en color rojo.  Cuando pulses el botón, espera cinco segundos, apaga el rojo y enciende el verde. A los veinte segundos apaga el verde y vuelve a encender el rojo.

Además, puedes seguir el siguiente video tutorial para aprender más:

A los robots no les gusta la ambigüedad. Necesitan saber qué hacer, cuándo y cómo. Por lo tanto, para facilitar sus decisiones, normalmente se utiliza la llamada lógica booleana, que se basa en preguntas que solo tienen dos respuestas posibles: sí/no o verdadero/falso.
Si contamos con varios datos de tipo booleano, estos se pueden combinar en expresiones lógicas mediante los operadores: AND, OR y NOT.
La lógica booleana es la base de cualquier aparato digital, desde circuitos electrónicos básicos, hasta tu móvil u ordenador, y se denomina así en honor a George Boole, matemático inglés del siglo XIX, que fue el primero en definirla.

 


Prueba con estos ejemplos
Negación (NOT): aquí el led hace lo opuesto al botón, si lo pulsas se apaga

Y (AND): aquí el led se enciende, si lo pulsas ambos botones a la vez


Es similar con O (OR): aquí el led se enciende, si lo pulsas, cualquiera de los  botones

¿Qué es un robot?

La palabra robot proviene del checo: robota, que significa trabajo duro o forzado. Se usó por primera vez durante la obra de teatro Rossum Universal Robots de Karel Čapek y su uso se extendió gracias a las obras de ciencia ficción creadas por el escritor Isaac Asimov , en cuyos  libros aparece por primera vez el termino robótica, como la ciencia de construir robots.
A menudo nos imaginamos a un robot como una máquina con forma humana que camina, habla, gesticula… pero en realidad es algo mucho más sencillo:
“Un robot es una máquina automática programable que es capaz de interpretar información del medio físico para modificar su conducta. Tiene la capacidad de interactuar con el entorno y, en función de ello, realizar unas funciones u otras.
 

Qudino es el cerebro que interpreta al mundo por  medio de sus sensores y acciona mediante sus actuadores.
Sensores: estos son los sentidos de nuestro robot con los que podrá ver, oir y tocar.
Actuadores: son las acciones, que puede realizar nuestro robot; moverse, iluminar, emitir sonidos y hasta cantar.

partes del robot
Si comparamos un robot con una persona, los sensores serían sus sentidos. Éstos transmiten información a su sistema de control o cerebro, modificando su comportamiento e influyendo sobre el mundo mediante sus actuadores. Además, un robot necesitará una fuente de energía para funcionar y una estructura física para sostener los elementos que lo componen.
El sistema de control: Qudino

El cerebro o Qudino es como un pequeño ordenador. Básicamente es un microcontrolador al que se le pueden conectar sensores (sentidos), y actuadores (músculos, voz, etc).

 
Qudino está formado por los siguientes componentes:

  • Pines de Entrada : se conectan Sensores
  • Pines de Salida: controlan a los Actuadores
  • Entrada micro-USB: a través de esta entrada la placa se comunica con el ordenador.
  • Entrada de baterías: la placa recibe energía de las baterías o la fuente de alimentación para poder funcionar.
  •  Led RGB: emite luz roja,verde, azul
  •  Zumbador: emite y capta sonido

Los sensores

Un sensor es un componente electrónico que transmite más o menos electricidad en función de un elemento físico, como la luz, el sonido, la distancia, etc. Si queremos conectar un sensor a nuestra placa, tendremos que averiguar primero si el sensor es digital o analógico.

El sensor digital

Un sensor digital solo puede tener dos valores: 1 o 0, todo o nada. Un ejemplo de sensor digital es un botón, en el que cuando pulsamos el botón éste vale 1, y cuando no lo pulsamos 0.

Botón
 Choque  

El sensor analógico

Un sensor analógico puede tener múltiples estados siendo capaz de transformar la cantidad de luz, temperatura u otros elementos físicos en un valor comprendido entre 0 y 5 volt. Un ejemplo de sensor analógico es un sensor de luz, donde dependiendo de la cantidad de luz que el sensor recibe dará un valor mayor o menor.

Perilla
 
 
 
 
Ojos
 

Los actuadores

Un actuador es un componente electrónico capaz de realizar una acción sobre el entorno. Por ejemplo, un motor que mueve una rueda, un LED que indica que un aparato está encendido, un altavoz que emite un sonido, etc.
Utilizando Qudino, todos los actuadores que utilicemos se conectan a un pin salida. Hay actuadores digitales , como un LED, que sólo tienen dos estados, mientras que otros, como un servomotor, pueden tener múltiples posiciones y por tanto ser analógicos.

Servo de posición  

¿Cómo piensa una placa controladora?
A veces se crea un proyecto o un robot que no se comporta como uno había pensado. Recuerda que tu placa controladora es el cerebro de tu máquina, pero es mucho más limitado que un cerebro humano.

    La placa controladora…
  • Piensa (procesa) las cosas de una en una, no puede hacer dos cosas a la vez.
  • Piensa y repite acciones muy rápido, tanto que a veces no podemos ni ver lo que está haciendo y hay que decirle que espere un poco.
  • Nunca hace nada que no le hayas dicho. Hay que programar todo lo que quieras que haga y darle las órdenes de una en una.
  • Normalmente, cuando la placa acaba su lista de órdenes, vuelve a empezar de nuevo, repitiendo su programación una y otra vez.
 
 

Algunos Vídeos

Qublock bajo Windows

Instalaremos el driver de la placa Arduino-Qudino:
Primero conectamos nuestro Qudino a la pc mediante el cable USB, por lo general automáticamente nos instalara el driver de la placa

Imagen de un arduino que no reconoce el puerto

Si no lo hace entonces realiza lo siguiente:

Para instalar el driver de la placa abrimos el Administrador de dispositivos y nos aparece en el listado Otros dispositivos Dispositivo → desconocido, hacemos click encima de el y en la pestaña “Controlador” pulsamos “Actualizar controlador” y después “Buscar software de controlador en el equipo”, especificamos la ruta de la carpeta drivers que se encuentra dentro de la carpeta de instalación de nuestro Qudino y automáticamente se instala el controlador.
Abrimos el entorno de programación y en Herramientas Puerto Serial → seleccionamos el puerto COM# que nos aparece en el administrador de dispositivos cuando instalamos el driver y en Herramientas -> Dispositivos selecciona el tipo de placa que tienes.
Qudino interfaz
Ahora solo tienen que presionar el boton de enviar, si vez que parpadean los leds RX y TX en la placa al momento de cargar el programa y no te manda algun error el ide de Qudino hemos terminado de configurar tu entorno de desarrollo Qudino.

Conclusion

Hemos instalado y configurado correctamente nuestra placa Qudino y hemos visto el proceso necesario para cargar tus programas a Qudino. Mas adelante veremos algunos ejemplos de desarrollo en esta plataforma, explicaremos la estructura en hardware de la placa asi como el lenguaje de programacion Qudino.

Ahora ¡No olvides instalar qublock!

Nuevo kit con Neopixel

Para utilizar Neopixel un led RGB programable,con Qudino . Se programa dentro de bucle o ciclo el siguiente Actuador.


Salidas neo es la direccion del led incorporado en el Qudino. Número de led de led 0 a 255. Rojo ,verde y, azul desde  0 a 255, obteniendo así un gran número de tonalidades y colores.
Con Qudino se utiliza el siguiente programa:

El video muestra el funcionamiento del programa.

Vehículos de Braitenberg con Qubotica

Los vehículos de Braitenberg son pequeños robots que pueden exhibir comportamientos complejos con un armado muy simple. Los vehículos típicamente tienen cuerpos en forma de caja con una rueda a cada lado. En la parte delantera del vehículo tiene sensores que detectan diferentes tipos de estímulos (por ejemplo, luz) del entorno. Estos sensores están conectados directamente a las ruedas del vehículo de manera que las ruedas giran cuando el sensor se activa.
El concepto es sencillo, pero Braitenberg demostró que estos vehículos pueden exhibir comportamientos aparentemente complejos e interesantes como “amor” o “odio”.

Modelos básico de vehículos de Braitenberg en el ejemplo esta implementado el  “a”

Ejercicios

  • Hacer el modelo “b”
  • Usar el sensor de choque en lugar de los ojos
  • Unir ambos sensores de modo que el robot huya de las paredes y de la luz