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 actuador  Luz, es un 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 que  actuadores  digitales/analógico , como un LED, que sólo tienen dos estados(Apagado / Encendido) o variar su brillo, el servomotor, pueden tener múltiples posiciones y velocidades .

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

Kit Qubótica con Neopixel

Vamos a aprender a controlar leds Neopixel con nuestro Kit Qubótica. El Kit trae incorporado un led Neopixel programable en la cajita amarilla del Qudino.

Veamos: Para utilizar Neopixel (un led RGB programable) con Qudino,  se programa dentro de un bucle o ciclo el  actuador Color.

En la salida debemos indicar que trabajaremos con el Neopixel, para lo cual elegimos la opción neo. Esta es la dirección del led neopixel, incorporado en el Qudino.

Número de led:
es un número que vale desde 0 a 255 , equivale a la cantidad (N-1) de neopixels que quiero conectar en mi Qudino. Ojo!! Como estamos utilizando el Neopixel interno del Qudino, debemos poner el número 0 (cero).
Si conecto  de forma externa, por ejemplo, 8 neopixels entonces debo poner Número de led = N-1 = 7.

Para elegir el color, se trabaja combinando los colores básicos rojo, verde y azul. A través de la combinación se pueden obtener un amplia gama de colores. Para hacer esto, tenemos que dar un valor del 0 a 255, para indicar la cantidad de color primario que quiero sumar.  Ejemplo: Si pongo en rojo el número 255, luego en azul 0 (cero) y en verde 0 (cero), entonces voy a obtener rojo puro.

Sugerencia: Comenzar con el ejemplo del rojo puro y una vez logrado el programa, ir modificando las cantidades de verde, azul y rojo, para obtener diferentes colores y sorprenderse!! 🙂

 

Descripción de la figura: Vemos el bucle en color amarillo, luego conectado a éste, vemos en color verde el actuador Color. En salida leemos neo, en N° Led 0 (lo cual indica que trabajamos con el led interno del Qudino). En rojo se lee 255, en verde y azul 0, con lo cual el Neopixel brillará rojo puro.

Ahora, veamos un programa completo, llamado Guiño,  para encender y apagar el Neopixel.
Para hacer esto, debemos agregar al programa visto antes, un nuevo elemento, que indica la cantidad de tiempo que el Neopixel estará brillando y luego la cantidad de tiempo que el Neopixel estará apagado sin brillar.

El tiempo se expresa en milisegundos, con lo cual, por ejemplo, si ponemos tiempo 1000, estamos indicando que el Color se mantendrá brillando 1 segundo.

Con Qudino se utiliza el siguiente programa:

Descripción de la figura: En este bucle se utilizan dos actuadores Color. El primero para indicar el color rojo, y luego un segundo actuador Color en el que todos los colores están en 0 (cero) para indicar que el Neopixel estará apagado. Los dos actuadores de Color, tienen debajo un condicionante llamado retardo en el que se indica el tiempo que durará el color rojo y luego el apagado, actuando. En ambos se indica tiempo 1000, que equivale a 1000 milisegundos, es decir, 1 segundo.

El video muestra el funcionamiento del programa.

Movimientos básicos

Para generar el movimiento de las ruedas debemos conectar cada «rueda» a una salida por S0 y S1

para su control vamos a usar el Servo de posición

Si queremos generar un movimiento hacia la izquierda o hacia la derecha vamos a tener que poner los dos motores en 180° o los dos en 0°.

Agregando un retardo podemos hacer que un movimiento se hagan por un tiempo y luego agregar otro movimiento, otra retardo y otro movimiento…

En este ejemplo lo vemos moverse hacia adelante y luego hacia la derecha así sucesivas veces…

El armado de robot con ruedas se realiza con un Qudino y un Chasis de movimiento(motores,ruedas,porta pilas). De los ejemplos publicados se toma Movimientos básicos, para una prueba inicial:

El programa utiliza varios bucles o ciclos ,por ejemplo: AD(adelante), IZ(izquierda) , DER(derecha),  ATR(atrás) y un bucle principal que combina los anteriores con retardos.

Ejercicios

  • hacer un programa que haga un movimiento similar al video (si no te sale esta en los ejemplos como ayuda)
  • hacer que gire para el lado contrario
  • hacer que se mueve en zig zag o de otras maneras…

Botón y Luz (Led)

El objetivo de esta práctica es encender una Luz con un Botón, se utilizara: el led rojo, del LED (rojo, verde, azul) o Neopixel del Qudino.

Para conectar el botón usaremos una entrada por ejemplo E0 conectando el cable en esa entrada el cable oscuro quede para el lado interno.


Por ejemplo así queda si lo unimos:

Ejercicios

  • Podemos cambiar el color del LED a verde o azul
  • Cambiar la entrada del botón por otra existen E0, E1, E2, E3
  • Cambiar el LED por uno exterior

Y por ejemplo si queremos que funciona el revés:

Ejemplos:

  • Mirar el Tutorial Botón y Luz (Led)

LED externo

Ahora podemos probar con una led externa por ejemplo conectada en la salida S0.

¿Te atreves a hacer el programa?

Ejercicios

  • Podemos cambiar el color del LED a verde o azul
  • Cambiar la entrada del botón por otra existen E0, E1, E2, E3
  • Cambiar el LED por uno exterior