viernes, 30 de enero de 2015

Programando los bloques de control - El bloque Si… ejecutar

Hoy vamos a aprender a cómo usar los bloques de bitbloq de la pestaña “Control” en concreto el bloque "Si… ejecutar"

¿Qué aburrido no? ¡Todo lo contrario! ¡Estos bloques son la pieza fundamental para que tú nuevo robot-aniquila ciudades (o aspiradora, también vale) conquiste el mundo! (o bueno, lo deje bien limpito).

¡Vamos allá!

Hoy necesitarás:
1 x LED
1 x Sensor de luz
1 x Pulsador
Una placa controladora compatible con Arduino UNO
Un cable USB


El bloque si…ejecutar; aprendiendo lo que es una sentencia condicional

Un momento, no tan rápido. ¿Una sentencia condicional? ¿Qué es eso?

Una sentencia condicional es una condición, algo que tiene que cumplirse para que se ejecute una parte del programa.

Es muy sencillo, por ejemplo: Si has sido bueno, los reyes magos te traerán regalos. Si no recoges tu habitación, tu madre te castigará. Si presiono el botón, el LED se encenderá.

¿Cómo funciona? Veámoslo en el siguiente ejemplo:

Ejemplo con el bloque si… ejecutar

Utilizando el bloque Si…ejecutar, hacer que se encienda el LED cuando se pulse el pulsador. En primer lugar, conecta tu LED y tu Pulsador a tu placa en los pines digitales 4 y 8.

Queremos que, al presionar nuestro pulsador, el LED se encienda.

Es decir: Si el pulsador está presionado… el LED se enciende

Por tanto, tenemos que usar el bloque Si… ejecutar, el programa quedará del siguiente modo:


Como puedes observar, al presionar el botón, el LED se enciende, y permanece encendido indefinidamente… y es qué nuestra placa es muy tonta y… ¡solo hace lo que le decimos! tenemos que decirle que ocurre cuando el pulsador no esté pulsado.

¿Cómo podemos hacer esto? Fíjate en el siguiente programa:


Como puedes ver, el bloque “Si …entonces” puede tener más opciones, como “de lo contrario” que se ejecutará cuando no se cumpla la condición, es decir, cuando nuestro pulsador no este presionado. Para añadir la opción de lo contrario pulsa sobre la estrella del bloque y agrégala:
Además existe una opción más dentro de éste bloque, la opción: “en cambio, si”. Esta opción te permite añadir más condiciones después de la primera. Un ejemplo: Si queremos comer tarta, pero no hay tarta, en cambio sí hay helado ¿También nos vale, verdad? ¡Queremos comer helado! ¡Aunque preferimos la tarta! ¡Eso es muy importante! Solo comeremos helado si NO hay tarta.

Vamos a abandonar a nuestro querido pulsador y a hacer un ejercicio con el sensor de luz y la opción “en cambio, si”:

Ejemplo 2 - Hacer que un LED parpadee cuando el sensor de luz detecte poca cantidad de luz, y se encienda cuando este a oscuras

Voy a confesarte una cosa, tengo miedo a la oscuridad. Por las noches no voy al baño por muchas ganas que tenga hasta la mañana siguiente, no me gusta nada no tener luz y andar por ese pasillo, a saber que monstruos acechan por ahí, quizá la profe de mates …

Por eso he decidido ponerme manos a la obra e inventarme una alarma de noche, para no quedarme nunca a oscuras. Estuve hablando con un reputado luminógrafo y, tras muchas discusiones, llegamos a la conclusión de que mi revolucionaria máquina, que cambiaría la infancia de la humanidad, tendría que ser de la siguiente forma:

  • -       Si la cantidad de luz es menor que 100 -> ¡Ay que está muy negro todo! ->ENCIENDE EL LED
  • -       En cambio, si la cantidad de luz es menor que 200, bueno, da un poco de miedo…->EL LED PARPADEA
  • -       De lo contrario, si brilla el sol no te preocupes… ¡Si yo soy muy valiente! ->APAGA EL LED

¡Manos a la obra! Lo primero será realizar nuestras conexiones en la placa (Eh, no te asustes!! La foto es del primo mayor de nuestra placa Arduino UNO, pero las conexiones son idénticas, así como la manera de programarlo):


Recuerda que el sensor de luz es un componente analógico, por lo que tendrá que ir conectado a los pines analógicos de tu placa.

Ahora que lo tienes todo conectado ¿Por qué no intentas programarlo por ti mismo? Verás cómo pronto llegas a la solución. Cuando la tengas, baja más abajo para comprobarlo.

Si todo fue bien deberías haber hecho algo parecido a esto:


¿Qué te parece? Puede que tengas dudas de cuando usar el bloque. ¡No te preocupes! ¡La práctica hace al maestro! Pronto descubrirás que cuando quieras programar algo, sabrás exactamente cómo hacerlo. Y el bloque “Si… ejecutar” será tu mejor aliado.

Hasta pronto!!






“HOLA MUNDO”. Programando un LED en bitbloq.

¿Qué son los LED?


La palabra LED es el acrónimo de light-emitting diode (en español, diodo emisor de luz). 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.
¿Quieres aprender a programar un LED usando bitbloq?
Vas a necesitar
1 bloque LED
Una placa controladora compatible con Arduino UNO
Un cable USB
Y, por supuesto, un ordenador con acceso a internet
Vamos a poner varios ejemplos para que aprendas a programar un LED, ¡al grano!
Ejemplo 1 – Encender un LED
Es uno de los ejemplos de programación más sencillos. Necesitas conectar la placa controladora al ordenador con el cable USB. A su vez, conecta el LED a la placa controladora. Al conectar cualquier componente es muy importante que te asegures de que los colores de los cables coinciden con los colores del pin al que lo vamos a conectar: el negro con el negro, el rojo con el rojo y el amarillo o blanco con el amarillo.
El LED 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. Los pines digitales se corresponden con la ristra larga de pines de la placa, van del 0 al 13, aunque no se recomienda usar los pines 0 y 1, ya que son los mismos que se usan para la comunicación de la placa con el ordenador, y por ello podría darse un comportamiento inesperado o que nuestros programas no carguen correctamente.
Seguimos los siguientes pasos para resolver el problema.
Conectamos el LED en el PIN digital 8.
Ahora, programamos con bitbloq la placa controladora para que encienda el LED. Para ello, seleccionamos el bloque LED, le asignamos el pin digital 8 y establecemos la acción que deseamos desempeñar: en este caso, ENCENDER.
Tras programar la placa controladora, si todo ha ido bien, el LED conectado en el pin digital número 8 debería estar encendido. 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?” “¿Coinciden los colores de los cables del LED con los del pin al que lo he conectado?” “¿He asignado un pin digital al bloque de LED en bitbloq?” “¿Me he acordado de ENCENDER el LED 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 el LED. 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 bitbloq 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 SEG. – APAGAR – ESPERAR 1 SEG. – ENCENDER – etc.

El programa correcto quedaría 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.

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.








A PROGRAMAR EL KIT DE ROBÓTICA.

Arduino y su constelación de componentes se programan desde un entorno de texto que resulta muy poco atractivo para los que se inician en este mundillo robótico. Pues bien, en la web e bq encuentras esquemas de programación como éstos:

Y es que bq ha construido su propio entorno online de programación gráfica con bloques encajables (al estilo Scratch) pero especialmente diseñados para los componentes del kit de robótica. Se lama bitbloq y por si fuera poco, es capaz de cargar los programas en la placa Freaduino, ahorrándonos tener que lidiar con el IDE de Arduino.
En este curso aprenderás los fundamentos de la programación usando bitbloq y el kit de electrónica de bq. En cualquier caso, bitbloq es compatible con cualquier placa de la familia Arduino, por lo que, si ya tienes una placa controladora ¡ponte a programar!
En las ilustraciones de este curso se han elegido los bloques ZUM o bloques Octopus, pues sólo cambia la forma de los periféricos. Sí tienes “Mi Primer kit de Robótica” debes elegir los bloques Octopus. Sin embargo, si tienes el “ZUM Kit” deberás elegir los ZUM bloqs, por lo demás todo es equivalente y esta introducción vale tanto para un producto como para el otro. Asímismo es válido tanto para la placa ZUM BT 328 como para la Freaduino.
Os deseo las mejores experiencias y que os pique el gusanillo de la ciencia en general y la tecnología y la electrónica en particular. Pasadlo bien!!

BQ Y SU KIT DE ROBÓTICA.

“Mi primer kit de robótica” de bq es la herramienta ideal para que los más pequeños se inicien en el mundo de la robótica. Desarrollarán su imaginación y se divertirán construyendo su primer robot pieza a pieza y programándolo. Está compuesto por las “vitaminas”, un conjunto de componentes electrónicos y herramientas que unidos, montados y programados correctamente, constituyen un robot con una forma y unas funciones determinadas.


Las ideas geniales triunfan y el kit de robótica que han preparado en bq tiene todos los boletos para hacerlo. Es un producto instructivo, didáctico, muy bien presentado y tan abierto que asegura infinidad de posibilidades.


No es nada nuevo, kits de robótica y electrónica basados en Arduino los hay en muchos sitios, pero las diferencias con éste comienzan incluso antes de abrirlo. Como veréis en la imagen, hasta el empaquetado es intuitivo. Descubrir los componentes se convierte en una suerte de cajitas numeradas y coloreadas en las que nos aguardan ordenaditos los sensores, actuadores, motores, placas…

Abiertas unas cuantas cajitas, ya tenemos ganas de empezar a conectar cosas. Encontramos el componente principal, la placa Arduino UNO, pero resulta un tanto extraña. Tiene muchos más conectores de lo normal (que recuerdan a los colores de la bandera alemana), tiene selector de voltaje (3,3 ó 5v) y algunas otras mejoras sutiles que aparecen tras una revisión más tranquila. En realidad es una placa Freaduino UNO, completamente compatible con Arduino, pero que gracias a estas mejoras la convierten en el controlador ideal alrededor del que construir nuestros montajes robóticos. ¿Por qué? Pues por el sencillo sistema de conexionado de componentes. Os pongo el ejemplo más típico que se utiliza en los tutoriales de Arduino: encender un diodo LED cuando pulsamos un botón.
El montaje con un Arduino UNO requiere una placa de prototipaje o breadboard, varios cables, una resistencia (250 Ohm más o menos) para no quemar el LED y otra (10K Ohms) en disposición PULL-UP para detectar eficazmente la pulsación del botón. Como veréis en la foto, esto es de todo menos intuitivo.

Aquí es donde Freaduino y los demás componentes (que por cierto son de la serie Octopus de ElecFreaks) nos simplifican la vida. El montaje de antes luciría así con el kit de bq:

¿No os parece mucho más sencillo?. Los componentes van montados sobre plaquitas individuales con la típica forma de pieza de puzzle, fácilmente encajables y lo mejor de todo es que no hace falta preocuparse de resistencias necesarias (ya van incluidas en las plaquitas de los componentes). Tampoco de la placa de conexiones ya que se conectan directamente al Freaduino con simples conectores de tres cables con clip para evitar errores y simplificar el montaje. Es lo más parecido a un Plug & Play que he visto en electrónica.
El kit incluye los componentes más típicos para el aprendizaje como: pulsador, LEDs, resistencia variable, sensor de luz, infrarrojos, motores servo, pero también un práctico módulo Bluetooth que nos permitirá, por ejemplo, controlar nuestros robots desde el móvil. 



¿Qué es el “Mundo Arduino”?

Arduino es una plataforma de hardware de código abierto, basada en una sencilla placa con entradas y salidas, analógicas y digitales, en un entorno de desarrollo que está basado en el lenguaje de programación “Processing”. Es un dispositivo que conecta el mundo físico con el mundo virtual, o el mundo analógico con el digital. Puede ser usado para poner en funcionamiento desde procesos muy simples hasta sistemas más complejos: por ejemplo, se puede poner en marcha un robot, se pueden construir instrumentos musicales, activar las luces de un teatro, poner en funcionamiento un sistema anti-incendios, diseñar juegos matemáticos, físicos, y muchas cosas más.

Arduino es mucho más que un proyecto tecnológico. Detrás de él, existe una comunidad en movimiento y expansión, que incluye programadores, artistas y educadores, entre otros, y que, inspirada en la filosofía de la cultura libre, comparte sus experiencias, desarrollando proyectos innovadores.


Iniciación a la robótica educativa con Arduino y “Mi Primer Kit de Robótica de bq”.

La robótica educativa

La robótica educativa permite construir nuestras propias representaciones de fenómenos del mundo que nos rodea y esto con la consecuente ventaja de facilitar la adquisición de conocimientos acerca de dichos fenómenos (un mejor entendimiento del mundo real).
• Anima a pensar creativamente, analizar situaciones y aplicar el pensamiento crítico y habilidades para resolver problemas reales.
• Estimula la imaginación y creatividad, desarrolla la concentración y habilidades manuales.
• Permite dotar al estudiante de un espacio controlado en donde puede cometer errores y estos no generen perjuicio en el propio estudiante.
• La robótica educativa nos brinda una forma creativa de utilizar la tecnología para implementar soluciones basadas en nuestro ingenio y destreza y no convertirnos en solamente consumidores de tecnología.
• Refuerza la visión de usar el ordenador como una herramienta para fomentar la investigación y el autoaprendizaje, los cuales son ejes fundamentales para el éxito en una formación.
• El Aprendizaje está íntimamente ligado al hacer. Se trata de una experiencia activa de construcción de conocimiento. Hacer es: escribir, planificar, investigar, probar, intentar, etc.

• La Robótica se está convirtiendo rápidamente en una parte integral del currículo escolar, con su capacidad de integrar en una amplia gama de aéreas como: Física, Tecnología, Matemáticas, etc.