arduino - creatividad codificada

¿Como funciona el hardware de Arduino?

Arduino

Entender como funciona el Hardware de Arduino en algunos casos en útil para implantar mejores proyectos atractivos.

¿Qué son los sistemas electrónicos?

Es un grupo de sensores, circuitería para el procesamiento y control de datos, actuadores y fuente de alimentación.

  • Sensores.- Son aquellos que tienen la capacidad de recolectar información de mundo físico externo y la transforman en una señal eléctrica, existen una gran cantidad de sensores como por ejemplo los sensores de temperatura, humedad, de movimiento, de sonido, etc.
  • Procesamiento y control.- Generalmente están conformadas por circuitería electrónica encargadas de procesar las señales eléctricas enviadas por los sensores.
  • Actuadores.- Después de ser procesadas las señales eléctricas en la circuitería interna se debe ejecutar alguna acción, y ahí es donde entra en funcionamiento los actuadores como ser: una bombilla (energía lumínica), un motor (energía mecánica), una bocina (energía acústica), etc.
  • Fuente de alimentación.- Encargada de proporcionar toda la energía necesaria a los sensores, circuitos de procesamiento y control y los actuadores.
Diagrama interno de una circuito electrónico.

¿Qué es un microcontrolador?

Un microcontrolador es un circuito integrado que tiene la característica de ser programable capaz de almacenar instrucciones en sus memorias e interactuar con dispositivos de entrada y salida, muchas personas la consideran como un computador pero con muchas limitaciones, tienen tres elementos básicos en su interior que se detallan a continuación.

  • CPU (Unidad Central de Proceso).- Es la encargada de procesar todas las instrucciones recibidas por los datos de entrada y ponerlos disponibles en otros datos de salida para ser utilizados posteriormente si es necesario.
  • Memorias.- Son las que almacenan todas las instrucciones y datos, de esta manera la CPU puede acceder a toda la información para trabajar en cualquier momento, generalmente trabajan con dos tipos de memorias:
    • Memorias persistentes.- Estas son capaces de mantener su contenido de forma permanente incluso si existe un corte de energía.
    • Memorias volátiles.- Al igual que las anteriores estas pueden almacenar instrucciones y datos en su interior pero cuando recibe un corte de energía toda la información se pierde.
  • Pines de entrada y salida.- Comunican el microcontrolador con el exterior, en los pines de entrada se pueden conectar sensores y el los de salida podemos conectar actuadores dependiendo de nuestros requerimientos, muchos de los pines de un microcontrolador no son exclusivamente de entrada o salida, sino que se puede configurar para que funcione según nuestras necesidades.

¿Hardware libre?

EL hardware libre es open-source, esto quiere decir que es de fuente abierta, las personas que así lo quieran pueden estudiarlo y saber cómo está conformado, que componentes que usa y como están interconectados y así poder entender su funcionamiento para modificarlo y mejorarlo si fuera necesario.

Se dice que Arduino es hardware libre porque tiene una licencia Creative Commons Attribution, por lo cual pueden ser utilizados para propósitos personales o comerciales pero siempre se debe dar una mención a la empresa de Arduino para su correcta distribución.

Por ende el objetivo del hardware libre es facilitar y acercar a las personas la electrónica, robótica o cualquier tecnología que esté relacionado con el hardware, involucrando así al usuario para que entiendan como están construidas las cosas tecnológicas y que sepan lo fácil o complejo que es construirlo.

Características de la placa de Arduino Uno

El más vendida y conocida es Arduino Uno por lo cual se intentara explicar cómo está conformando esta magnífica placa, porque un gran porcentaje de las personas que inician con estas placas electrónicas su primera opción es justamente este modelo.

¿Que microcontrolador usa Arduino Uno?

Arduino Uno usa el microcontrolador ATmega328P con arquitectura AVR, anteriormente de la marca Atmel hoy de propiedad de Microchip Technology desde el 2016, en la siguiente figura se puede mostrará la disposición de los pines.

Arquitectura del microcontrolador ATmega328P

Como podemos observar en la imagen los pines 7,8 y 22 son de alimentación y tierra, los pines marcados con PBx, PCx, PDx son los pines de E/S, el pin 20 es el AVCC utilizado para recibir alimentación suplementaria para el convertidor A/D (analógico-digital) interno, el pin 21 es el AREF utilizado para recibir la referencia analógica del convertidor A/D, como podemos observar existen muchos pines con varias funciones como el “reset” del microcontrolador, comunicación serie, SPI o I2C, uso de interrupciones, salidas PWM, etc.

¿Qué memorias tiene microcontrolador ATmega328P?

Al momento de elegir un microcontrolador para nuestros proyectos una de las cosas que hacemos primero es ver las características de las memorias, en nuestro caso veremos que tipos de memoria y características tiene el chip ATmega328P utilizado en el Arduino Uno.

Memoria Flash.- Es una memoria persistente es decir que el programa almacenado en su interior no se borrara ante un corte de energía, pero puede ser reescrita en caso que lo queramos, el chip ATmega328P posee una capacidad de 32 KB salida de fábrica pero si hablamos de la placa de Arduino Uno que viene ya integrado este chip debemos restarle 512 bytes utilizado en un código preprogramado de fábrica llamado “bootloader” o  gestor de arranque  de Arduino el cual permite usar las placas sin muchas dificultades.

Nota: si compran un integrado ATmega328P y lo ponen a su placa de Arduino Uno, no funcionara correctamente porque le faltará el “bootloader” y para que funcione correctamente tendrán que grabar el código necesario en su interior.

Memoria SRAM.- Es una memoria volátil, utilizada para ejecutar instrucciones en ese mismo instante, como ya dijimos ante un corte de energía su información se pierde, esos tipos de memoria salen alojar contenido variable a lo largo del tiempo de ejecución del programa, el chip ATmega238P posee una capacidad de 2 KB.

Memoria EEPROM.- Memoria persistente pero debemos ser cuidadosos porque si bien puede se leída de manera ilimitada la reprogramación tiene una cierta cantidad de veces permitida, esto dependerá del Chip utilizado. El nuestro caso hablando del chip ATmega328P tiene un ciclo de vida de 100000 reescrituras, ya hablando del tamaño este chip tiene 1 KB de espacio.

Registros del microcontrolador

Son espacios de memoria existentes en la CPU de un microcontrolador utilizados para albergar datos previamente cargados de las memorias SRAM o EEPROM y utilizadas posteriormente, también pueden almacenar temporalmente resultados de las instrucciones recientemente ejecutadas.

Su tamaño suele tener unos pocos bits, este es un punto importante al momento de elegir un microcontrolador pues mientras mayor cantidad de bits mayor será su capacidad, tanto de cómputo como de velocidad de ejecución, la elección depende de los requerimientos de nuestros proyectos.

Ya hablando concretamente de nuestro chip ATmega328P es de 8 bits, utilizada en el Arduino Uno, suficiente para la mayoría de aplicaciones hechas por la comunidad de Arduino.

Protocolos de comunicación

Muchas veces necesitamos transmitir un conjunto de datos desde un componente electrónico a otro componente, para esto podemos utilizar una comunicación en serie enviando bit a bit por un canal o mediante una comunicación paralela enviando varios bits simultáneamente en varios canales separados.

Normalmente el  ATmega328P utiliza una comunicación en serie para transmitir y recibir órdenes y datos, no obstante existen muchos protocolos y estándares usados para la transferencia de información en serie, las más usadas son I2C y el SPI que explican a continuación:

I2C(Inter-Integrated Circuit).- Utilizado comúnmente para la comunicación entre circuitos integrados mediante dos líneas una llamada “SDA” para transmitir los datos y “SCL” es usada para transmitir la señal de reloj.

SPI(Serial Peripheral Interface).- Utilizado para controlar dispositivos electrónicos digitales que acepte flujo de bits en serie sincronizado, para la transmisión de datos utiliza cuatro líneas, el “SCK” envía la señal de reloj a todos los dispositivos, la “SS” utilizada por el dispositivo maestro para elegir con que dispositivo esclavo quiere comunicarse, el “MOSI” envía datos del maestro al esclavo y por último el “MISO” que sirve para enviar datos pero esta vez desde el esclavo al maestro.

Bootloader

El bootloader se encarga de recibir nuestro programa del IDE de Arduino hacia la memoria Flash de nuestro microcontrolador ATmega328P del Arduino Uno, en el primer segundo de cada reinicio de la placa de Arduino se ejecuta el bootloader realizando la carga del programa en caso de que exista.

Partes comunes de la placa de Arduino Uno

Partes comunes de la placa de Arduino Uno
  1. Conector USB para cable AB
  2. Pulsador de Reset
  3. Pines para entradas y salidas digitales y PWM
  4. LED verde (Encendido)
  5. LED naranja (Ejecutando instrucciones)
  6. ATmega 16U2 para lacomunicación con la computadora
  7. LED TX y RX
  8. Puerto ICSP para realizar programación serial
  9. Microcontrolador ATmega328P
  10. Cristal de cuarzo de 16Mhz
  11. Regulador de voltaje
  12. Conector hembra 2.1mm
  13. Pines de voltaje y tierra
  14. Entradas análogas

¿Qué te pareció el artículo?

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  * He leído y acepto la política de privacidad

¿Qué hacemos con tus datos?

Creatividad Codificada como responsable tratará tus datos con la finalidad de gestionar tu participación en nuestro blog informativo. Puedes acceder, rectificar y suprimir tus datos, así como ejercer otros derechos consultando la información adicional y detallada sobre protección de datos en nuestra Política de Privacidad