https://www.rjconcepcion.com/wp-content/uploads/2020/02/El-Laboratorio-del-Toro-Ep-11.mp3 Escuchalo en: Ivoox, Spotify, Spreaker o Apple Podcast.
Seguimos con nuestra serie de análisis de tarjetas de desarrollo. En esta oportunidad vamos a hablar de las tarjetas de desarrollo ESP8266 y ESP32. Hablaremos de las dos ya que son dos tarjetas basadas en microcontroladores fabricados por la compañía Espressif y tienen características similares.
Fuente: pngocean.com
Vamos a comentar sobre las principales características.
Microcontrolador
Las tarjetas de desarrollo basadas en el ESP8266 están compuestas por un microcontrolador ESP8266EX que tiene un procesador Tensilica L106 de 32-bit basado en la arquitectura RISC. Mientras el ESP32 usa un procesador Tensilica Xtensa Dual-Core 32-bit LX6.
Vemos que el ESP32 tiene doble núcleo. Esto es algo que se debe destacar, ya que es posible ejecutar tareas en paralelo en cada núcleo independiente, o que cada núcleo realice unas determinadas tareas.
Ambos procesadores son de 32 bits y como se habrán dado cuenta las características del micro usado para los ESP32 son más avanzadas, incluso se considera que es el sucesor del ESP8266.
Entradas/Salidas
En cuanto a las entradas y salidas disponibles, estas tarjetas de desarrollo están bien equipadas. El ESP8266 tiene 17 entradas/salidas, mientras que el ESP32 tiene 36.
Esta cantidad de entradas y salidas nos permite desarrollar casi cualquier tipo de proyectos.
En esta característica es donde se nota la superioridad del ESP32. Vamos a listar las diferencias por tipo de entrada/salida:
El ESP32 tiene 18 entradas con convertidor analógico-digital de 12 bits cada uno, mientras que el ESP8266 solo tiene un pin con convertidor analógico-digital y es de 10 bits. Antes de usar el ESP32, usé un ESP2866 y la verdad que esa única entrada con ADC me limitaba mucho en cuanto a la complejidad de los proyectos que podía realizar.
Si hablamos de PWM ambos controladores tienen un número aceptable. El ESP8266 tiene 8 pines, mientras que el ESP32 tiene 16. Estas cantidades son aceptables para realizar gran variedad de proyectos.
Entradas/Salidas especiales
El ESP32 tiene dos tipos de entradas y un tipo de salida que no vimos en el artículo anterior de tarjetas de desarrollo en detalle. Vamos a comentar sobre ambos:
Entrada de sensor de contacto
El ESP32 tiene un tipo de entrada que puede ser usado como un sensor touch, es decir, podemos realizar proyectos donde toquemos esos pines con los dedos o con algún objeto y el micro detecta esa acción. El ESP32 posee 10 pines que pueden ser usados para ese propósito. Este tipo de entradas no las tiene el ESP8266, ni la tarjeta Arduino Uno.
Entradas de efecto Hall
El ESP32 tiene una entrada que se encuentra instalada internamente en la carcasa que permite medir el efecto Hall. Este efecto Hall se usa para detectar campos magnéticos y determinar el sentido de movimiento de las cargas eléctricas entre otras aplicaciones.
Salida DAC (Digital-Analog Converter) o convertidor digital - análogo
Este tipo de salida permite hacer el efecto contrario al convertidor analógico-digital, es decir, este pasa del mundo digital al mundo análogo. Para ello el ESP32 cuenta con dos salidas de este tipo y tienen una resolución de 8 bits.
Energía
Este es un punto a tener en cuenta con las tarjetas de la familia ESP. Estas tarjetas trabajan con voltaje de 3.3 V. Digo que hay que tener en cuenta porque si estás acostumbrado a trabajar con la tarjeta Arduino Uno, esta trabaja con 5 V. Colocar 5 V a una entrada de la tarjeta ESP puede causar daños en la misma.
Estas tarjetas tiene una entrada llamada Vin a la cual se le puede conectar una fuente externa DC de máximo 10 V. Lo recomendable es usar 5 V. Luego se pueden usar los pines marcados con 3V3 para obtener 3.3 V de la tarjeta. Esto puede ser usado para alimentar actuadores que no tengan un consumo grande de corriente.
Estas tarjetas al igual que la tarjeta Arduino Uno encienden cuando se conectan a la PC por el puerto USB.
Comunicación
Al igual que la tarjeta Arduino Uno, la mayoría de las tarjetas de la familia ESP pueden conectarse a la PC usando un cable USB. Para ello tienen un conector micro-USB. Dije la mayoría porqué, por ejemplo, hay un modelo de tarjeta con el ESP8266 que se llama ESP-01 que no posee conector micro-USB, por lo cual tenemos que usar un convertidor de USB a serial TTL para programarlo. También hay una versión de tarjeta basada en el ESP32 que tiene una cámara incorporada y no posee comunicación por USB.
Aparte de la comunicación entre la PC y la tarjeta que es necesaria para la programación de la misma. Las tarjetas de desarrollo basadas en los micros ESP cuentan al igual que la tarjetas Arduino con los estándares de comunicación UART, SPI e I2C. Adicional a estos, esta familia puede trabajar con un protocolo llamado I2S, el que se usa en la comunicación de circuito de audio.
Por último el ESP32 tiene un protocolo de comunicación adicional que no poseen las tarjetas Arduino Uno, ni las tarjetas basadas en el ESP8266, que es el CAN que es usado para la transmisión de mensajes en entornos distribuidos.
Memoria
En cuanto a la memoria vimos en el artículo sobre tarjetas de desarrollo en detalle que existen varios tipos de memoria. En el caso de la memoria flash que es donde se guardan los programas, la familia de micro ESP no tiene la memoria flash interna, sino que se le agrega como un integrado aparte. Esta puede ser de hasta 16 MB, pero las tarjetas de desarrollo comúnmente tiene 4 MB. En cuanto a la memoria SRAM el ESP8266 tiene menos de 50 KB, mientras que el ESP32 tiene 520 KB. Por último el ESP32 tiene 448 KB de memoria ROM, mientras que el ESP8266 no cuenta con este tipo de memoria.
Conectividad
La característica principal de los micros de la familia ESP es la conectividad. Estos micros iniciaron una revolución en el mundo maker, permitieron agregar comunicación inalámbrica por red wifi a los proyectos de electrónica a un bajo costo.
Ambos módulos ofrecen conectividad a redes wifi. Puede funcionar como punto de acceso, esto es generando la señal wifi o como cliente, es decir, que se conecta a una red wifi existente como por ejemplo la que usamos en nuestros hogares.
Hay que destacar que el ESP32 tiene además la posibilidad de conectarse a través de Bluetooth. Estos vienen con Bluetooth BLE que es un tipo de Bluetooth de bajo consumo de energía para el desarrollo de proyectos portables.
Programación
La programación de los módulos ESP se puede realizar en IDE de Arduino usando el lenguaje C y el mismo conjunto de instrucciones que usamos para programar los micros de la familia Arduino.
Recientemente es posible programar estos controladores usando una versión de Python llamada microPython. También se pueden programar usando circuitPython, la cual es una variante de Python desarrollada y mantenida por la compañía Adafruit.
Conclusion.
Como pudieron apreciar por las características descritas, las tarjetas de desarrollo de la familia ESP son muy versátiles para realizar un número considerable de proyectos. La posibilidad de conectarse a redes wifi las han hecho unas de las preferidas a la hora de crear proyectos de internet de las cosas. A eso también debemos agregar que su precio es inferior a una tarjeta de Arduino Uno lo cual le agrega un atractivo adicional. Una consideración importante es que se puede programar usando el mismo IDE de Arduino y el mismo lenguaje de programación lo cual hace que su aprendizaje para una persona que ha trabajado con Arduino sea muy sencillo, simplemente debe aprender sobre el uso de las nuevas librerías.
Por último les dejo dos links de Amazon si desean adquirir unos módulos de la familia ESP.
ESP32:
https://amzn.to/31CIl6U
ESP8266:
https://amzn.to/2UDlXcm
Proyecto
En este artículo les quiero hablar sobre un evento que estamos organizando. Se llama Raspberry Jam SD. Este es un evento que se organiza con la Raspberry Pi Foundation y se realiza en muchos países a nivel mundial. La idea de estos eventos es que las personas entusiasta de la Raspberry Pi puedan asistir y compartir sus ideas. También se orienta a personas que no conocen o que están iniciando su andanza con la tarjeta Raspberry.
Este evento será realizado en la ciudad de Santo Domingo el sábado 28 de Marzo.
Acá les dejo el link donde podrán registrarse, el evento es gratuito. Y es para sólo 30 personas.
Raspberry Jam SD
Espero contar con su presencia.
El recurso
El recurso que quiero compartir con ustedes en esta oportunidad es un índice sobre lenguajes de programación. Este es el índice TIOBE que se basa en la búsquedas realizadas en los 25 primeros buscadores que aparecen en el índice Alexa y cumplen ciertos criterios. Este Alexa es un índice de sitios web, no el conocido servicio de reconocimiento de voz de Amazon.
Fuente: tiobe.com
En este índice indica los lenguajes de programación más usados en el momento. En la lista de este mes de Febrero tenemos en primer lugar Java, en segundo lugar C y en tercer lugar Python. Lo curioso del caso es conseguir a C en la segunda posición y esto se ha debido a todo el desarrollo y proyectos de dispositivos de Internet de las Cosas, de hecho fue considerado como el lenguaje de programación del año 2019.
Este índice muestra también la evolución de los lenguajes de programación a lo largo de tiempo. Recomiendo que de vez en cuando se revise este índice, ya que nos muestra los lenguajes que más se estan usando. Por último les dejo el enlace para que realicen la consulta.
https://www.tiobe.com/tiobe-index/
No olviden que pueden escribir sus comentarios al correo info@rjconcepcion.com y recuerden:
Siempre parece imposible hasta que se hace.
Nos vemos en un próximo artículo.
The post Tarjetas de desarrollo familia ESP (Episodio #11) appeared first on rjconcepcion.
Comentarios