Manual de desarrollo en MicroPython para la placa BBC micro:bit

El autor de este humilde blog se complace en presentarles su libro ‘Manual de desarrollo en MicroPython para la placa BBC micro:bit‘, una obra de consulta y aprendizaje ideal para todos aquellos que se quieran iniciar o deseen profundizar en la programación de tarjetas micro:bit en lenguaje MicroPython.
La placa o tarjeta micro:bit es un sistema de hardware integrado, de código abierto, basado en la arquitectura informática ARM y diseñado por la BBC británica con un objetivo eminentemente educacional. Es una computadora de bolsillo que te introducirá en el mundo del desarrollo informático, interactuando de manera conjunta con el software y el hardware.
Python es un lenguaje de programación interpretado simple, de propósito general y orientado a objetos. Además, es también de código abierto. Por su lado, MicroPython es una implementación ágil y eficiente de Python 3.0 —su última versión mayor, por el momento— que incluye un pequeño subconjunto de las bibliotecas estándar del lenguaje padre, la sintaxis y funcionalidad completa, y que, además, está optimizado para ejecutarse en microcontroladores y en entornos restringidos, como en el interior de micro:bit, entre otros.
Con este ‘Manual de desarrollo en MicroPython para la placa BBC micro:bit’ aprenderás de una forma sencilla e intuitiva cómo programar una tarjeta micro:bit para que haga lo que tú quieras. Las posibilidades son infinitas, desde un sensor de humedad para tus plantas hasta un detector de CO2 para controlar el aire que respiras, pasando por un timbre inalámbrico, un medidor de pasos, un generador de voz, mover un motor o encender luces led. ¡Y mil cosas más!

Estás ante el manual de programación en MicroPython para micro:bit en español más completo del mercado. Cuenta con 284 páginas, fotografías, esquemas gráficos, ejemplos de código fuente y aplicaciones prácticas:
- Explicaciones detalladas, amenas y muy completas de todas y cada una de las características de la tarjeta micro:bit y de sus componentes, así como del lenguaje MicroPython.
- Infinidad de ejemplos prácticos de código fuente en MicroPython que sirven de explicación a cada uno de los capítulos, epígrafes y apéndices de información contenida en el libro.
- Rigurosos esquemas de conexión que explican los pormenores de la interacción de micro:bit con elementos externos, cables, pinzas, placas protboard, placas de pruebas, etcétera.
- Descripción minuciosa de proyectos completos de aplicación con fotografías, código fuente, explicaciones, conexiones y hojas de especificaciones de componentes.
Disponible, en Amazon, en tres formatos, a saber: Tabla blanda, tapa dura y versión Kindle.
CONTENIDO GENERAL DE CAPÍTULO PRINCIPALES.
CAPÍTULO 1. La placa BBC micro:bit
CAPÍTULO 2. Programando la placa micro:bit
CAPÍTULO 3. Lenguaje Python para principiantes
CAPÍTULO 4. ¡Hola, mundo!
CAPÍTULO 5. El objeto display
CAPÍTULO 6. El objeto accelerometer y la gravedad
CAPÍTULO 7. Orientación: el objeto compass
CAPÍTULO 8. Los botones de micro:bit, la clase Button y sus dos instancias
CAPÍTULO 9. Generando sonido (los módulos audio y music) y captándolo
CAPÍTULO 10. El módulo speech, porque micro:bit habla y canta.
CAPÍTULO 11. Manejando el tiempo: el módulo utime
CAPÍTULO 12. El sistema de archivos local de micro:bit
CAPÍTULO 13. Administración del sistema de archivos local: el módulo os
CAPÍTULO 14. Los pines de entrada y salida: analógicos, digitales, I2C, SPI y UART
CAPÍTULO 15. Temperatura y otros asuntos internos de micro:bit
CAPÍTULO 16. Comunicación entre dispositivos: redes cableadas y redes inalámbricas
CAPÍTULO 17. Entorno de programación REPL
APÉNDICE A. Referencia del lenguaje Python
APÉNDICE B. Secuencias de escape
APÉNDICE C. Conectividad Bluetooth
APÉNDICE D. El runtime de micro:bit
APÉNDICE E. Actualizar el firmware de micro:bit y compilar MicroPython
APÉNDICE F. WebUSB en micro:bit
APÉNDICE G. Especificaciones técnicas de micro:bit V2 (frente a V1)
APÉNDICE H. Economizar memoria a la hora de programa
BIBLIOGRAFÍA
¡Disfrútalo, y a desarrollar para micro:bit!
De cuando, en 1987, nos trolearon con un programa en BASIC para ZX Spectrum

Corría el mes de abril de 1987 cuando la revista ZX Computing, a la sazón la mayor y más afamada publicación británica para los usuarios de Sinclair, publicaba entre sus páginas un programa en BASIC para el microordenador ZX Spectrum, en sus versiones 16K y 48K. El código fuente lo firmaba un tal Toni Baker —asiduo publicador de artículos similares en revistas de la época— y lo titulaba ‘Memory Expansion Program‘.
En sólo treinta líneas de código BASIC, Toni aseguraba que este pedazo de software era capaz de aumentar la memoria de los ordenadores de Sinclair ZX Spectrum de 16 y de 48 kB hasta llevarlos hasta los 128 kB que tenían sus hermanos mayores de Amstrad, como el ZX Spectrum +2 o el ZX Spectrum +3. La base científica consistía en que todos estos equipos, realmente, compartían hardware, pero el Spectrum de teclas de goma había sido «capado» o recortado para llegar sólo hasta 16 o 48 kilobytes y poder venderlo a menor precio. Según Baker, las funciones avanzadas de los Spectrum de 128 kB, como la memoria adicional, el editor de pantalla completa, etcétera, siempre habían estado disponibles en los Spectrum antiguos y sólo había que saber encontrarlas.
Toni Baker incluía, además, datos técnicos (totalmente inventados) como que los ordenadores de 128 kilobytes enviaban un byte al puerto 7FfD
para paginar la memoria adicional, y eso era lo único que deberíamos hacer en el resto de equipos para conseguir dicha memoria y, de hecho, todas las funcionalidades de un Spectrum «grande».
Y de ello se encargaba el programita adjunto, un simple cargador mediante sentencias POKE
de código máquina almacenado en declaraciones DATA
que se ejecutaba, finalmente, con una instrucción RANDOMIZE USR
. Una vez tecleado el programa, al correrlo notaríamos un breve retraso mientras el código máquina se carga en memoria y, como por arte de magia, nuestro equipo reducido se convertiría en un Spectrum 128K hasta el momento en que interrumpiéramos su alimentación eléctrica. ¡Increíble!
Evidentemente, esto no era más que producto del April Fools’ Day, el día dedicado a las bromas en muchos países anglosajones. Lo que ocurría al ejecutar el programa no era otra cosa que la aparición de una pantalla, centelleante hasta el ataque epiléptico, con el texto ‘APRIL FOOL’ escrito multitud de veces.

El caso es que, aunque ZX Computing admitió la broma con posterioridad, el imaginario de la época nos parece rememorar que, probablemente, se la colaron de lleno a ellos también. Pues parece que un redactor, apurado por el tiempo, incluyó el programa sin comprobarlo, pues venía de la mano de un asiduo y reputado colaborador.
Sea como fuere, los que sí nos tragamos aquel troleo fuimos los usuarios que, ávidos de aumentar la capacidad de nuestra exigua máquina, tecleamos impacientes las treinta líneas del engaño más simpático del mundo retroinformático.
El teléfono Domo de Telefónica

Alberto Corazón, uno de los diseñadores españoles más simbólicos y representativos del siglo XX, fue el ganador —de entre seis reputados profesionales internacionales del diseño— del concurso que organizó Telefónica, a mediados de los noventa, para proyectar el nuevo y revolucionario teléfono de la compañía, el que sería bautizado como Domo y lanzado en 1999. No en vano, Corazón era un diseñador, fotógrafo, escultor y pintor que tenía en su haber diseños tan icónicos como los logotipos de la ONCE, de Renfe Cercanía, de la SGAE o el de Paradores de Turismo de España.
El teléfono en cuestión, llamado a revolucionar la telefonía doméstica, emanaba modernidad en la España pos-Barcelona 92 y venía a sustituir al anterior modelo de Telefónica, el Forma. De color blanco, mayoritariamente, aunque los había negros y azules, recordaba a un tablero sobre el que reposaba, más o menos hacia la mitad de la base, su auricular curvado. La tecnología interior era de Siemens, y llegó en el momento en el que el papel del teléfono fijo de mesa en los domicilios estaba en declive debido al auge de los artilugios inalámbricos, pretendiendo que este nuevo dispositivo asumiera protagonismo dentro de los hogares como un objeto funcional, decorativo y barato.

Su nombre y la parte posterior del nuevo teléfono se inspiraron en una auténtica domus romana, algo que parece un poco disparatado y absurdo, pero así fue cómo nos lo vendieron. Ambicionaba a ser un teléfono tan intuitivo y sencillo que, aun con las nuevas funciones que incluía, sus creadores decían que no necesitaba manual de instrucciones (aunque sí venía en la caja). Es por ello que, incluso, se evitó en su diseño el uso de pictogramas, utilizando texto descriptivo en las teclas de funciones.

Para verificar la facilidad de su uso se hicieron distintas pruebas con personas de todas las edades. Los ensayos ergonómicos fueron exhaustivos, se buscaba funcionalidad total y la posibilidad en el manejo de zurdos, personas con dificultades en la firmeza del pulso y niños pequeños. Su diseñador pretendía, además, que el dispositivo se fabricara en múltiples posibilidades de color para que, de ese modo, el usuario pudiera elegir la gama que más le gustase, pero al final se descartó la idea porque aumentaba mucho los costes de producción y se eligió fabricarlo sólo en los tres colores antes mencionados.
El modelo Domo supuso la introducción de una serie de nuevos e innovadores servicios para el abonado, como la identificación de la llamada, la llamada en espera, la llamada a tres, el servicio de contestador o el desvío de llamadas, además de la agenda de cincuenta memorias, la opción de manos libres, la rellamada, el acceso al servicio de mensajes de texto o el acceso directo al número de emergencia europeo.

Hoy en día se pueden encontrar aparatos de segunda mano en internet, así como manuales de usuario, instrucciones para su reinicio y hasta para su desmontaje. Una joya retro, nostálgica y noventera que, al menos en España, casi todo el mundo tuvo en su casa.
El día en que a alguien se le ocurrió que era buena idea lanzar un videojuego de la serie ‘Médico de familia’

En septiembre de 1995, la productora audiovisual española Globomedia —fundada por Emilio Aragón, Daniel Écija, José María Irisarri y Luis Fernández-Vega— desarrolló para Mediaset España una de las series de televisión más carismáticas que se han visto en la pequeña pantalla: ‘Médico de familia‘. La serie, que narra los problemas familiares, personales y profesionales de un joven médico, el doctor Nacho Martín, viudo y con tres hijos, un sobrino adolescente a su cargo y una divertida asistenta, se mantuvo en antena durante cuatro años y nueve temporadas, con una media del 43,9 % de share, siendo la serie más vista de la historia de España (en número de espectadores).
Globomedia alumbra, unos años después, una subdivisión para la generación de material audiovisual infantil llamada Crea Anima2. Esta empresa fue la responsable de productos de animación de escaso calado como ‘Esquimales en el caribe’ (1998), ‘¡Qué bello es sobrevivir!’ (2001) o ‘Defensor 5, la última patrulla’ (2001). Además de ello, Anima2 tuvo la osadía, en el año 2001, de desarrollar una aventura gráfica en 3D, del tipo point & click, llamada ‘La Caja de los Sueños‘, un título dirigido principalmente a los más pequeños de la casa y que copiaba descaradamente el sistema de juego de grandes aventuras de LucasArts como ‘The Secret of Monkey Island’ (1990) o ‘Grim Fandango’ (1998). Este videojuego para PC estaba basado en los personajes de la exitosa serie televisiva y fue distribuido por Zeta Games.

El argumento no puede ser más peregrino: el médico Nacho castiga a sus hijos obligándolos a limpiar el garaje. En dicha tesitura, los niños encuentran un mapa de un tesoro enterrado en su propio barrio y, para localizarlo, habrán de recabar pistas hasta llegar a la propia caja de los sueños, una suerte de artilugio que permite viajar en el tiempo. A partir de este momento la trama se disparata: alienígenas, pirámides aztecas, serpientes marinas, carreras de naves espaciales, brujas y hasta ninjas se pasan por un guion sin pies ni cabeza.
Con una manufactura pobre y de aire poco profesional, no se salva gran cosa, ni los fondos renderizados, ni los modelos 3D, ni el control del juego, ni siquiera el sonido de los efectos especiales y de la música. Lo único que podemos agradecer es que los actores de doblaje son profesionales y, gracias a dios, no enlataron las propias voces de los actores originales de la serie, porque habría sido un producto de todo punto insufrible. MeriStation lo puntúa con un 5,5.

Con gráficos de interfaz Direct3D, ‘La Caja de los Sueños’ requería, como mínimo, un Pentium II a 233 MHz, 32 MB de memoria RAM, tarjeta gráfica aceleradora 3D con (8 MB al menos), tarjeta de sonido Sound Blaster o 100 % compatible, unidad lectora de CD-ROM, 15 MB de espacio libre mínimo en disco duro (o 350 MB para la instalación completa) y sistema operativo Windows 98, ME, 2000 o XP.

En fin, un título bastante prescindible que llamaba a continuar la saga de ‘Médico de familia’ es una especie de producto crossmedia cuando, en aquel momento, no creemos que fuera necesario hacer algo así y, mucho menos, de una calidad tan escasa.
The Clapper: encendiendo luces con palmadas desde 1985

El clásico popular de encender y apagar luces o aparatos eléctricos con dos palmadas es algo muy arraigado en nuestro imaginario peliculero pero que, en parte, se generó gracias a un dispositivo ochentero que en Estados Unidos tuvo una repercusión enorme: The Clapper.
Este precursor de la actual domótica fue un mecanismo electrónico diseñado y desarrollado por Joseph Pedott, de Joseph Enterprises, una compañía de dispositivos y novedades propiedad de NECA (National Entertainment Collectibles Association o Asociación Nacional de Coleccionables de Entretenimiento), ubicada en San Francisco (California). Tecnológicamente era un interruptor eléctrico activado por sonido. En su interior montaba un pequeño micrófono, una serie de luces led indicadoras y un chip que controlaba el paso de corriente o no por los conectores de salida.

The Clapper sólo había de ser enchufado a una toma de corriente y, a su vez, se enchufaban a él uno o dos aparatos que fueran los que quisiéramos controlar con palmadas. Era posible, además, configurar el número de palmadas que activaba o desactivaba cada dispositivo. Así pues, con dos palmadas podíamos, por ejemplo, controlar una lámpara y, con tres, el televisor. El sonido que escuchaba el micrófono se transformaba en una señal eléctrica y se pasaba por un filtro, el cual determinaba qué fragmentos del ruido eran palmadas. Este filtro operaba únicamente en un rango de frecuencia entre 2200 y 2800 Hz, que es el intervalo donde típicamente se pueden encuadrar los sonidos de palmadas. También es verdad que otros sonidos similares podían hacer disparar el aparato; no hilaba muy fino.
El producto salió a la venta en Estados Unidos a un precio de 20 dólares. Tuvo un predecesor canadiense que no llegó a comercializarse pero que atrajo la atención de Joseph Pedott que, por aquel entonces, ya había lanzado al mercado el popular Chia Pet, una colección de muñecos de arcilla que guardaban en su interior tierra y semillas de hierba que crecía en forma de pelo de la propia mascota. La simpleza del dispositivo y la posibilidad de patentarlo fueron dos factores que influyeron, en gran medida, en la decisión de Pedott para lanzar este producto a la venta.

The Clapper sigue siendo un objeto de culto ochentero, hasta tal punto que se continúa comercializando hoy día y, por ejemplo, se puede adquirir en la web Amazon. Los anuncios publicitarios fueron, en Estados Unidos, casi tan famosos como el propio instrumento, con sus eslóganes y sus cancioncillas pegadizas (Clap On! Clap Off! The Clapper!). Para muestra, un botón.