¿Qué es la Tecnología?

¿Qué es la tecnología? Es una buena, pero muy buena pregunta. Para muchos, la tecnología es el avance, para otros es la forma y manera de aumentar la calidad de funcionamiento de un objeto. La verad es que incluye tantos campos que es difícil de concretar. Podríamos decir que la tecnología es la ciencia del arte de hacer las cosas, de como construirlas ordenanadamente, aportando soluciones y mejoras.
Mostrando entradas con la etiqueta Tecnoloxía. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tecnoloxía. Mostrar todas las entradas

Extensión para entradas Pull-Up

En Arduino podemos configurar los pines de la placa como entradas, como salidas y como entradas pull up. Son muchos los circuitos en los que necesitamos introducir un pulsador y sabemos que estos deben implementarse sumándole una R que pude estar en configuración Pull-Up o Pull-Down.

Esta resistencia en la configuración de Pull-Up (o Pull-Down) es un elemento que evita un cortocircuito que ocurriría al ser presionado un pulsador o interruptor conectando la parte en la que tenemos tensión directamente a masa. Como la impedancia de un pin de entrada digital de las placas Arduino suele ser de 1MΩ y la norma dice que usemos una resistencia 10 veces menor, usamos una R =10KΩ que nos proporcionará un consumo despreciable y a la vez una corriente suficiente (0,5mA) para que reaccione el chip de la placa (supone una potencia de 2,5mW).

Un pulsador implementado en una configuración Pull-Up, funciona de la siguiente forma: (ver siguiente imagen):

  • Si no pulsamos el pulsador, en el pin de entrada de la placa Arduino tendríamos 5V, es decir, un 1 lógico.
  • Si pulsamos el pulsador, en el pin de entrada de la placa Arduino tendríamos 0V, es decir, un 0 lógico.

Funcionamiento de un pulsador Pull-Up

Pero, lo más importante de todo esto radica en que, el microcontrolador ATmega de las placas Arduino tienen acopladas internamente unas resistencias Pull-Up y estas se pueden usar. Para ello hay que decirle a nuestro microcontrolador a través del software que la entrada en un pin determinado de la placa es una entrada INPUT_PULLUP. En la siguiente imagen se está utilizando una R interna del microcontrolador en configuración Pull-Up.

Conexionado y código arduino. Susana Oubiña Falcón (CC-BY)

Si nos fijamos en mBlock5, el software no disponemos de un comando específico para estas entradas pull-up. Por lo tanto, tenemos dos opciones:

  • Implementar la R pull-up en nuestro circuito (usando una R de 10KΩ) y usar los comandos que dispone mBlock5 para una entrada normal: por ejemplo, el siguiente programa encendería el led 13 de la placa arduino uno cuando presionemos un pulsador conectado a una entrada pin 2.

    Ejemplo con código. Susana Oubiña Falcón (CC-BY)

  • O diseñar nuestra propia extensión para configurar este tipo de entradas. 
Esta extensión presenta un único comando: la verdad es que es más que suficiente

Comando de la extensión Pull_Up. Susana Oubiña Falcón (CC-BY)

Para una placa Arduino Uno, podemos probar el siguiente ejemplo:

Ejemplo de activación de un pulsador Pull-Up en el pin 2. Susana Oubiña Falcón (CC-BY)

Fijaros en el código Arduino de la derecha:
Programa con código arduino. Susana Oubiña Falcón (CC-BY)

 
Lo comprobamos con nuestro circuito. En las siguientes imágenes observamos que funciona correctamente:
Pulsadores en acción. Susana Oubiña Falcón (CC-BY)




El universo scratch con mBlock

Llevo unos meses investigando el robot mBot y su software estrella, mBlock, y estoy encantada.
mBot es un robot de unos 400 gramos basado en Arduino y creado por la casa Makeblock. Utiliza la placa mCore, que no es más que una placa Arduino Uno pero, con diferentes conectores; los RJ25. Al ser una Arduino Uno, se nos abre el abanico en su programación adaptándola a diferentes niveles educativos en los que podemos usar un robot de esta casa.

En cuanto a su programación y control, el robot es muy versátil ya que existen varios caminos u opciones:
  • Se puede programar desde mBlock, un software de programación gráfica muy similar a Scratch 2.0.
  • Podemos controlarlo a través de una tablet o desde un smartphone gracias a su app (para Android o iOS) y la posibilidad de acoplarle un módulo bluetooth. Inclusive, podríamos crear nuestras propias aplicaciones usando APP Inventor.
  • Podemos usar Arduino con mBot, programando el robot con el IDE de Arduino (en este caso, debemos instalar las librerías de Makeblock en el IDE de Arduino).
  • Y podemos programarlo con el software mBlockly.
La idea en este post no es hablar de mBot. Mi intención es destacar el software mBlock. En Tecnología, en nuestro talleres, muchos disponemos de placas Arduino Uno. Estas placas podemos usarlas con mBlock y de este modo, programar una gran cantidad de sensores y actuadores con scratch. Pero, no sólo podemos usar la placa Arduino Uno con mBlock. Este software nos da opción de programar y controlar otras placas como la Leonardo, Nano y Mega, así como la Picoboard que tanto me gusta para 1º y 2º ESO.

Aunque la casa dispone de sus propias librerías arduino para los diferentes módulos que saca al mercado (sensor de gas, sensor de temperatura sumergible, etc), los más osados podrían incluso crear un nuevo comando en mBlock para programar diferentes sensores y actuadores desde mBlock, es decir, con scratch. Por lo tanto, podemos incorporar nuevas librerías para controlar otros dispositivos como, por ejemplo, una pantalla LCD que tengamos en nuestro taller. Esto se consigue modificando el archivo de extensiones del mBlock.

Este curso académico 2015/2016, gracias a la competición de robots de la Universidad de Vigo, muchos nos hemos hecho con robots mBot en nuestro IES. Robots que usaremos el próximo curso académico para enseñar, de forma práctica, contenidos de electrónica, programación y control y robótica en diferentes cursos de la ESO y BAC. Con el afán de aprovechar este material, sin querer, he creado un libro que documenta qué puedo hacer con mBlock y cómo sacarle más partido en mi aula. Todas estas cuestiones y más, se describen en el siguiente libro que tiene licencia CC-BY. Es importante aclarar que, en él, muchas imágenes de sensores y actuadores no son mías, están rescatadas de la casa Makebloc:


Holographic Machine

Este año me ha tocado en suerte un grupo de estudiantes de FP Básica de Automoción. La verdad, toda una experiencia. Es un grupito pequeño que ha diseñado e implementado una máquina simple que, mediante reflexión, proyecta imagenes que simulan hologramas.

La máquina que aquí muestro, es la versión 2.0 de Holographic Machine. La V1.0 es un prototipo creado en 1 sesión lectiva y que nos sirvió para comprobar que la física, bien llevada a la práctica, no se equivoca.

Holographic Machine. Susana Oubiña Falcón (CC-BY)
En esta máquina, con ayuda de un ordenador y de scratch, podemos proyectar nuestros propios proyectos. El software scratch 2.0, con su nueva funcionalidad al poder grabar un pequeño vídeo de un proyecto, es idóneo para crear pequeños hologramas. Trabajaremos en ellos!


Video "Hohographic Machine" V2.0 from Susana Oubiña Falcón on Vimeo.
Primera prueba en el taller con nuestra máquina holográfica.

La idea del grupo es hacer la versión piramidal, que sin duda, es mucho más molona y realista. Unos compañeros de 4ESO pensaron que en lugar de hacer una pirámide, la base podría tener mejor 8 lados. Tras hacer pruebas, se descartó esta opción porque los hologramas serían muy muy pequeños y, por ende, poco funcionales. De 8 lados, pasamos a 6 y nos encontramos con el mismo problema. En fin, que nos tiramos de cabeza a la pirámide. Cuatro lados, nos darán un tamaño interesante del holograma que queremos crear con scratch 2.0.

Imaginemos que con el software scratch 2.0 queremos crear el holograma del robot BB-8. Crearlo es muy sencillo. Fijaros en sl siguiente vídeo:


Holograma BB8 con Scratch from Susana Oubiña Falcón on Vimeo.
Prueba holograma base piramidal (proyección desde abajo)

Ahora, imaginaros que tenemos la pirámide construida. Veríamos algo parecido, con mucha mejor calidad, a lo que podéis visionar en el siguiente vídeo:


Prueba BB-8 Holograma from Susana Oubiña Falcón on Vimeo.
Prueba de creación de un holograma con el tronco de pirámide

También se trabajó en la versión 1.0, versión prototipo, de una máquina holográfica de 3 cristales, de modo que se pudiera simular un pequeño "teatro" con 3 hologramas proyectados a la vez. A ver a donde llegamos con este modelo!

Prototipo 3 reflexiones. Susana Oubiña Falcón (CC-BY)

Seguimos aprendiendo!!!!

Bye bye cable USB (S4A)


La tecnología Bluetooth, Estándar IEEE 802.15.1, utiliza la técnica FHSS (Espectro ensanchado por saltos de frecuencia) permitiendo comunicaciones (voz y datos) sin cables entre varios dispositivos a corta distancia. Se basa en transmisiones de radio de onda corta en la banda de los 2,4 GHz, creando redes de área personal y consumiendo con ello poca energía.

La técnica FHSS consiste en dividir la banda de frecuencia de 2.402 - 2.480 GHz en 79 canales, denominados saltos, de 1 MHz de ancho cada uno y, después, transmitir la señal utilizando una secuencia de canales que sea conocida, tanto para la estación emisora como para la receptora. Por lo tanto, al cambiar de canales con una frecuencia de 1600 veces por segundo, el estándar Bluetooth puede evitar la interferencia con otras señales de radio.

Para trabajar con Bluetooth en S4A, hay que configurar la velocidad de transmisión de datos (BPS) en el módulo bluetooth que deseemos utilizar, fijándola a 38400bps. Enviar y recibir datos del dispositivo bluetooth a arduino es bastante fácil, pero configurarlo es otra cosa, y a eso vamos en este post. Pero antes de ello, hemos de conocer qué módulos bluetooth podríamos utilizar.

Los módulos Bluetooth del mercado HC-06 y el HC-05, gracias a sus puertos TxD y RxD, nos permiten realizar comunicaciones inalámbricamente (hasta 10mts max) resultando muy fáciles de manejar gracias a su SPP (Serial Port Protocol) de bajo consumo, ya que trabajan a 3.3V, aunque pueden conectarse a 5V. 

El módulo bluetooth HC-06 sólo opera de modo Esclavo, a diferencia del HC-05, que ofrece una mejora con respecto a precio y características, ya que es un módulo Maestro-Esclavo. Esto quiere decir que además de recibir conexiones desde un PC o tablet, también es capaz de generar conexiones hacia otros dispositivos Bluetooth. En principio, podremos usar cualquiera de ellos ya que nuestro dispositivo bluetooth será el esclavo y el PC el maestro.

En la siguiente imagen podemos ver los módulos bluetooth HC-05 que podemos encontrarnos. Personalmente, prefiero el HC-05 con botón reset.

Módulos bluetooth HC-05. Fuente:Cecilio Ruiz


La siguiente figura muestra los módulos HC-05 y HC-06:


Módulos HC-05 y HC-06. Fuente: Martyn Currey

Un módulo Bluetooth puede configurarse usando un software que se comunique con él, como es el programa Tera Term. Programa gratuito que puede descargarse del siguiente link:
https://en.osdn.jp/projects/ttssh2/releases/ 
 
Tera Term
Obviamente, necesitamos un módulo bluetooth (mejor el HC-05 con botón reset), y 1 módulo USB a TTL con sus drivers de instalación:
 Yo utilizo el módulo Adaptador USB a TTL RS232 CH340G SERIAL 3.3v 5v. Sus drivers pueden descargarse del siguiente link: http://www.5v.ru/zip/ch341ser.zip

Módulo bluetooth HC-05 con NENO (Arduino Uno). Susana Oubiña Falcón (CC-BY)

La primera prueba, puede verse en el siguiente pequeño vídeo:


S4A funcionando con Bluetooth from Susana Oubiña Falcón on Vimeo.
Prueba de la tarjeta NENO trabajando con S4A por bluetooth

Practicando con S4A II (Práctica 11)

El objetivo de esta práctica es conseguir medir la Temperatura Ambierte de una habitación (ojito, no la exterior) utilizando el sensor de temperatura LM35DZ. En fin, que lo que vamos a crear es un termómetro.

Se petende además, que el sensor nos avise, por medio del encendido de un LED, del intervalo de temperatura en el que nos encontramos, aportándonos una medida exacta de la temperatura del local.

El sensor de temperatura LM35DZ es un sensor digital que posee 3 terminales. Los dos de los extremos irán a la alimentación y tierra y, el central, se conectará a un pin analógico y es el encargado de captar datos, entregándonos una tensión que es proporcional a la temperatura medida por el dispositivo sensor. En la siguiente imagen podemos ver como es físicamente el sensor. Se parece a un transistor porque es un modelo de la serie TO-92.

LM35DZ. Susana Oubiña Falcón (CC-BY)

Este sensor logrará medir temperaturas positivas, de 0ºC a 100ºC, ofreciéndonos 10mV por 1ºC. El circuito protoboard que vamos a implementar es el siguiente:

Circuito protoboard de la práctica 11. Susana Oubiña Falcón (CC-BY)

Como la temperatura es una medida que fluctúa mucho con el tiempo (pensar que una pequeña ráfaga de viento la hará oscilar), he decidido realizar un cálculo de errores. Mi programa, creado bajo el entorno S4A, tomará 5 medidas de la temperatura, espaciadas en 1 segundo. A continuación, me mostrará la medida más precisa y su error absoluto, tal y como puede verse en la siguiente imagen que muestra el escenario de la práctica:

Escenario de la Práctica 11. Susana Oubiña Falcón (CC-BY)
En el siguiente vídeo se describe el funcionamiento de la práctica es:

Práctica 11: Medición de la temperatura ambiente de la habitación con LM35DZ from Susana Oubiña Falcón on Vimeo.
Vídeo que pone en funcionamiento el programa diseñado en la práctica 11. Nos muestra la temperatura ambiente de la habitación, evitando fluctuaciones de la medida con el tiempo mediante un cálculo de errores que estima como medida más fiable la media de 5 valores recogidos en 5 segundos. Además, nos aporta el error estimado.

El desarrollo completo de la práctica puede verse en el siguiente link: