Los Arduino y en general los microcontroladores tienen puertos de entrada y salida y de comunicación. En Arduino podemos acceder a esos puertos a través de los pines.
- Pines digitales: http://www.arduino.cc/en/Tutorial/DigitalPins, pueden configurarse como entrada (para leer, sensores) o como salida (para escribir, actuadores)
- Pines analógicos de entrada: https://www.arduino.cc/en/Tutorial/AnalogInputPins, usan un conversor analógico/digital y sirven para leer sensores analógicos como sondas de temperatura.
- Pines analógicos de salida (PWM): https://www.arduino.cc/en/Tutorial/PWM, la mayoría de Arduino no tienen conversor digital/analógico y para tener salidas analógicas se usa la técnica PWM. No todos los pines digitales soportan PWM.
- Puertos de comunicación: USB, serie, I2C y SPI
Otro aspecto importante es la memoria, Arduino tiene tres tipos de memoria:
- SRAM: donde Arduino crea y manipula las variables cuando se ejecuta. Es un recurso limitado y debemos supervisar su uso para evitar agotarlo.
- EEPROM: memoria no volátil para mantener datos después de un reset o apagado. Las EEPROMs tienen un número limitado de lecturas/escrituras, tener en cuenta a la hora de usarla.
- Flash: Memoria de programa. Usualmente desde 1 Kb a 4 Mb (controladores de familias grandes). Donde se guarda el sketch.
Más información en: http://arduino.cc/en/Tutorial/Memory y https://aprendiendoarduino.wordpress.com/2015/03/29/memoria-flash-sram-y-eeprom/
Veamos a fondo la placa Arduino Uno:
Especificaciones detalladas de Arduino UNO: http://arduino.cc/en/Main/ArduinoBoardUno
Microcontroller & USB-to-serial converter | ATmega328P & Atmega16U2 |
Operating Voltage | 5V |
Input Voltage (recommended) | 7-12V |
Input Voltage (limits) | 6-20V |
Digital I/O Pins | 14 (of which 6 provide PWM output) |
Analog Input Pins | 6 |
DC Current per I/O Pin | 40 mA |
DC Current for 3.3V Pin | 50 mA |
Flash Memory | 32 KB (ATmega328) of which 0.5 KB used by bootloader |
SRAM | 2 KB (ATmega328) |
EEPROM | 1 KB (ATmega328) |
Clock Speed | 16 MHz |
Aspectos más destacados de Arduino UNO.
- No necesita de un cable FTDI para conectarse al MCU, en su lugar uso un MCU especialmente programado para trabajar como conversor de USB a serie.
- En la revisión 3 de HW nuevo pineado
- Alimentación: vía USB, batería o adaptador AC/DC a 5V, seleccionado automáticamente. Arduino puede trabajar entre 6 y 20V, pero es recomendado trabajar entre 7 y 12V por las características del regulador de tensión.
- Puerto Serie en los pines 0 y 1.
- Interrupciones externas en los pines 2 y 3.
- Built-in LED en el pin 13.
- Bus TWI o I2C en los pines A4 y A5 etiquetados como SDA y SCL
- El MCU ATmega328P tiene un bootloader precargado que permite cargar en la memoria flash el nuevo programa o sketch sin necesidad de un HW externo.
- Arduino Uno dispone de un fusible autoreseteable que protege el puerto USB de nuestro ordenador de cortocircuitos y sobrecorrientes. Si se detectan más de 500mA salta la protección.
También es importante conocer cómo están distribuidos los pines del MCU en Arduino:
- Pin Mapping: http://arduino.cc/en/Hacking/PinMapping168
- http://www.umsats.ca/wp-content/uploads/2013/02/Arduino_uno_Pinout.pdf
- http://pighixxx.com/atmega328v3_0.pdf
- http://pighixxx.com/unov3pdf.pdf
Antes de empezar a trabajar con el Arduino UNO, veamos 10 formas de destruir un Arduino, para saber que NO debemos hacer.
¡¡¡IMPORTANTE!!!: http://www.ruggedcircuits.com/10-ways-to-destroy-an-arduino/
La traducción: http://www.trastejant.es/blog/?p=192
También es posible conseguir un “Arduino” gratis: https://aprendiendoarduino.wordpress.com/2015/02/25/como-conseguir-un-arduino-gratis/
Pingback: Hardware Arduino a fondo - Microcontroladores y Electrónica