Cómo aprender sobre electrónica

No recuerdo donde lo vi, pero hace un tiempo me encontré con un blog post que era básicamente los slides de una presentación con un poco de texto que contenía lo que la persona dijo durante la presentación en vivo y me encantó el formato.

Le comenté la idea de José Padilla y le dije que como hacemos presentaciones con frecuencia que sería buena idea usar ese formato para compartir las presentaciones. A José le gustó la idea y publicó esta presentación sobre osquery.

A continuación una presentación que ya tiene bastante tiempo pero sigue siendo relevante. Espero que esta sea la primera de varias que publico aquí.

Aunque el título de la presentación es “Electrónica 101” este es un título un poco más preciso.

o para ser más breve, “Cómo estoy aprendiendo sobre electrónica”

Como muchos software developers que conozco, el mundo del hardware siempre me ha llamado la atención.

Este título resume todas mis experiencias pasadas tratando de aprender sobre este tema.

Me compré un kit de Arduino, puse el LED en los pins que dice la guía y lo vi prender y apagar. Luego me di cuenta que hacer algo más complicado que eso requiere bastante esfuerzo, trataba sin éxito y me rendía.

Todo esto cambió una vez me encontré con este libro. Make: Electronics. Es una combinación de teoría y práctica. Empieza bien fácil con los fundamentos y va añadiendo complejidad poco a poco.

Va desde explicar que es y como usar un multímetro…

y que rayo son volts, amps, ohms…

tiene 24 experimentos que sirven para explicar y entender mejor cada concepto. Los experimentos empiezan bien simples y poco a poco se van complicando. Las ilustraciones de este libro son hermosas y fáciles de entender.

Para poder realizar los experimentos es necesario tener varias partes y algo de equipo. Los autores del libro venden estos kits que son el acompañante perfecto.

Es necesario hacer los experimentos y para poder hacerlos hay que comprar el kit.

pero no todo el mundo puede pagar los casi cien dólares o más que puede costar este kit así que…

Gracias a la magia del Internet alguien se sentó y creo una lista detallada de lo que contiene el kit y lo publicó en este web site.

Con esta lista si vas a uno de estos web sites de partes electrónicas puedes conseguir todo por mucho menos de lo que cuesta el kit.

De estos sites recomiendo especialmente a digikey.com. Tienen todo lo que puedas necesitar ahora y en el futuro. Es bien entretenido entrar a mirar el catalogo tan extenso que tienen.

Aquí está mi kit. Tenía esta caja de herramientas que para ser honesto no usaba mucho y no tenía tantas herramientas. La vacié, moviendo las pocas herramientas a otra caja mas pequeña, la limpié y preparé para que fuera mi caja de electrónica.

Aquí pueden ver algunas de las cosas que tengo en mi kit. Por ahí en algún lado está el cautín, multímetro, LEDs, jumper cables y unas cuantas cosas más.

Ya teniendo el libro y un kit para trabajar los experimentos, también es buena idea tener un proyecto en mente. Algo que pienses no es tan complicado pero que quieras lograr de esta forma cuando estés haciendo los experimentos del libro puedes ver como lo que estás aprendiendo se aplica al proyecto que quieres realizar luego.

En el mundo del hardware muchas cosas se aprenden por “trial and error”, pruebas algo que no funciona, tratas de nuevo con otro acercamiento hasta que finalmente funciona. Por eso es necesario siempre tener una actitud de experimentación.

Esto fue lo que yo hice para lograr muchos experimentos en poco tiempo.

Ya tenía un Raspberry Pi 3 y un de intentos anteriores…

un Raspberry Pi Zero que acababa de comprar y…

la pieza de coleccionistas un BLEduino que es básicamente un Arduino UNO con Bluetooth LE fácil de usar. Con estos tres boards ya tenía suficiente así que decidí que lo próximo era aprender a usar sensores. Así que compré algunos en Adafruit y Digikey.

Este es un sensor de infrarrojo, se llama “IR break beam sensor“. Como funciona es que las dos piezas se alinean y una emite luz infrarroja y sirve para detectar cuando algo bloquea ese rayo de luz.

Este es un sensor de “capacitive touch” sirve para detectar cuando una mano toca el sensor. Con este se pueden crear interfaces táctiles simples.

Este es un sensor de presión. Detecta y mide cuanta presión está recibiendo.

Este es un sensor de distancia. Mide cuanta distancia hay entre un objeto y el sensor.

Mi idea era simple. Usar todos estos sensores como pudiera. Gracias a que ya tenía una base que había aprendido del libro de Make, esta etapa fue bastante fácil.

Los traté de usar todos y lo logré. Al final terminé con una idea clara de como funciona cada uno de los sensores y tenía notas de las cosas que aprendí en el camino. Para la próxima vez ya tengo una idea clara de que es necesario para hacer que funcionen.

Obviamente, siendo un principiante esto no fue fácil pero mi mejor amigo YouTube fue la mejor ayuda.

Ahí encontré como hacer todo y para cosa que buscaba habían tres, cuatro o más vídeos con diferentes acercamientos para cada cosa.

Mi recomendación es que antes de empezar a experimentar con algún sensor o proyecto, busca en YouTube y usa eso de referencia para escoger el mejor sensor, el más fácil de usar o el que mas documentación tenga.

Otros sitios que son de mucha ayuda son Instructables

Adafruit, especialmente si estás usando las partes que ellos venden que son muy buenas…

Hackaday es buenísimo para encontrar ideas y ver otros proyecto de gente que son super experimentados y otros de principiantes como yo.

La otra destreza necesaria es saber soldar. Para esto compré un kit de un osciloscopio que viene sin soldar.

Hay mucha gente vendiendo este mismo kit en Amazon y otros sites.

El kit se llama DSO138 y se lo recomiendo. Es bastante económico y si logras soldarlo completo y correctamente terminas con un osciloscopio de poca calidad pero que funciona para cuando vayas a aprender de este tema.

Así llegó el kit. Organicé las piezas en una caja plástica para que fuera más fácil y comencé a soldar.

Hice un desastre en mi escritorio y todavía tiene una quemadura de ese día.

Aquí ya se puede ver el osciloscopio con todas su partes.

Después de varias horas aquí está el producto final funcionando. Fue una experiencia muy divertida y aunque empecé casi dañando las piezas al final ya estaba soldando mucho mejor.

Este es el capitulo más reciente. Leyendo y buscando sobre el tema descubrí el ESP8266 y es algo mágico. Es un SOC “system on a chip” económico y varios features interesantes.

Lo primero es que se puede programar usando Lua, Arduino IDE o MicroPython.

Existen muchas versiones del ESP8266 y todos son económicos.

Tiene pins digitales y análogos lo que permite hacer muchos proyectos diferentes.

y lo más importante es que tienen Wi-Fi…

pero como si fuera poco Adafruit hace una versión que aunque es mas cara que las demás tiene muchas ventajas empezando por que tiene un conector para una batería con su cargador integrado.

Este cuesta entre $16 y $25 dolares y vale la pena.

Dicho esto, si haces una búsqueda rápida vas a poder encontrar versiones mucho más económicas como esta.

Que se consigue desde $8 dólares lo que lo hace mucho más accesible que un Raspberry Pi.

Una de las cosas más interesantes que tiene este ESP8266 es que hay muchas librerias disponibles. Esta es para mi la mejor de todas y creo que es una esencial para cualquier proyecto IOT con este controlador.

WiFiManager. Así funciona:

Una vez instalado en tu ESP8266, lo primero que hace es tratar de conectarse a un hotspot WiFi que fue previamente configurado. Si no logra encontrar un WiFi previo cambia de modo.

Ahora el ESP8266 se convierte en un “access point” por lo que puedes conectarte directamente al dispositivo. Una vez conectado puedes navegar a un “captive portal” que te permite configurar una conexión WiFi.

Aquí se puedes ver el “captive portal” en acción.

En este screenshot escogí “configure WiFi” que hace un “scan” de todos los access points cercanos.

Una vez queda configurada la conexión se guardan los datos en la memoria del controlador y la próxima vez que se enciende se conecta automáticamente.

Pues todo este proceso de aprender, practicar y hacer pequeños proyecto me llevó hasta este proyecto un poco más grande. Esta vez fue para un cliente.

El proyecto se llamó “Adopt a Post”. La meta del proyecto era hacer un plato de comida para perros que pudiera colgar mensajes en Facebook.

El plan era tener varios platos de comida y cada plato tenía un televisor asignado. En ese televisor se estaban proyectando palabras que cambiaban cada segundo. Una vez el perro comenzara a comer la pantalla se detendría en la última palabra y esa sería la palabra que seleccionó ese perro. Si hacemos esto con varios platos, varias pantallas y varios perros podemos armar una frase que sería el mensaje que se publicaría. en Facebook.

Esta es la primera versión del sensor del plato de comida. Como pueden ver decidí usar los sensores IR y mi Raspberry Pi. Decidí usar el RPi para facilitar el desarrollo en esta etapa inicial. Hice el código en Python que conozco muy bien así que todo fue bastante fácil.

Básicamente detectaba cuando se interrumpía el sensor IR y eso mandaba una señal que detenía la animación de las pantallas.

Aquí está el primer prototipo usando un plato que compré en una tienda descuento en la Calle Loiza. Le hice dos rotos y por ahí puse los sensores.

Luego de tener todo funcionado correctamente me decidí a migrar el prototipo al ESP8266 que me permitiría reducir el tamaño, tener WiFi integrado y usar una batería para que fuera 100% inalámbrico.

Aquí se puede ver la versión con ESP8266 en un breadboard usando la versión que vende Adafruit. Luego de este punto y como era un proyecto de cliente decidimos convertir el pequeño circuito en un PCB para que se viera profesional.

Para esto recluté a una de las personas que conozco que mas sabe de electrónica, mi amigo Angel Viera quien me ayudó a diseñar y fabricar los PCB de este proyecto.

Aquí pueden ver a Angel soldando las partes microscópicas sobre uno de los primeros PCB.

Así quedó el producto final.

Terminamos creando cinco platos de estos para lograr el efecto final.

En esta foto malísima se puede ver el montaje final con las pantallas con su software y los platos finales que diseño y fabricó Vicente Gascó usando 3D printing.

Este vídeo muestra un pequeño demo y algunos de los prototipos.

Para finalizar estos son mis tips.

Diferente a como se puede hacer en software development, en el mundo del hardware es importante entender los fundamentos. Pero es importante por lo menos para mi aprender de forma práctica para que sea divertido y mantenerse motivado. El libro de Make y los experimentos son lo mejor que he visto.

Luego de tener algunos de los fundamentos el próximo paso es comprar algunos sensores y hacer que funcionen. Hacer algunos proyectos pequeños y aprender de esas experiencias.

Debes practicar, combinar lo que has aprendido en los proyectos pequeños y hacer cosas un poco más grande.

Siempre estar pendiente a nuevas ideas. Uso un app de notas en mi teléfono en el que tengo una lista de ideas para proyectos que quiero hacer en algún momento.

Finalmente y lo más difícil es reservar el tiempo para hacer los proyectos.

Espero que este post les sea de ayuda, si se me quedó algo o tienes otros tips los puedes compartir conmigo en Twitter.