ARDUINO NANO

La Arduino Nano, es una placa pequeña, completa y amigable adaptada para trabajar con placas prototipos. Esta basada en el microcontrolador ATmega328 (Arduino Nano 3.x) o el Atmega168 (Arduino Nano 2.x).

Tiene la misma funcionalidad que el Arduino Duemilanove, pero es más pequeño en tamaño. Sólo difiere en la ausencia de un conector de alimentación. Funciona a través de un USB mini-B en lugar de uno standar. El Arduino Nano está diseñado y fabricado por Gravitech.

La Arduino Nano, es una placa compacta similar a la Arduino Uno.

Una placa Arduino Nano.

ESPECIFICACIONES DE LA ARDUINO NANO

Microcontrolador ATmega168 o ATmega328
Voltaje de funcionamiento (nivel lógico) 5V
Voltaje de entrada (recomendado) 7-12V
Voltaje de entrada (límite) 6-20V
Pines de E/S digitales  22(de las cuales 6 son PWM)
Pines de entrada analógica 8
Corriente continua a través de los terminales de entrada/salida 40 mA en pines Entrada/salida
Memoria flash 16 KB (ATmega168) o 32 KB (ATmega328), de los cuales 2 KB son usados por el cargador de arranque
SRAM RAM 1 KB (ATmega168) o 2 KB (ATmega328)
EEPROM no volátil 512 b (ATmega168) o 1 KB (ATmega328)
Frecuencia de reloj 16 MHz
Longitud 45 mm
Anchura 18 mm
Peso 5 g

Memoria de la Arduino Nano

El ATmega168 de la Arduino Nano, posee 16 kilobytes de memoria flash para almacenar código de programas (de los cuales 2 kilobytes son usados por el cargador).

El ATmega328, también tiene 32 kilobytes (de los cuales 2 kilobytes también son usados por el cargador).

La placa Arduino Nano, basada en los microcontroladores ATmega168 y ATmega328

También vemos que  la memoria ATmega168, tiene 1 KB de SRAM y 512 bytes de EEPROM, que pueden ser leídos y escritos utilizando la biblioteca de EEPROM.

Alimentación de la Arduino Nano

La Arduino Nano, puede ser alimentada a través de una conexión USB mini-B, desde una fuente de alimentación externa no estabilizada de 6-20V (pin 30) o de una fuente de voltaje estabilizada de 5V (pin 27). La fuente de alimentación de mayor voltaje es seleccionada automáticamente.

Te puede interesar  ARDUINO ESPLORA

Entradas/salidas de la Arduino Nano

Cada una de las 14 salidas digitales de la Arduino Nano, puede ser usada como entrada y salida, usando las funciones pinMode(), digitalWrite() y digitalRead. Funcionan a 5 voltios. Cada salida puede llevar una corriente máxima de 40 mA y tiene una resistencia interna de pull-down (desactivada por defecto) de 20-50 kOhm.

Además, algunos pines tienen funciones especiales:

  • Serial: Pines (RX) y 1 (TX). Las salidas se utilizan para recibir (RX) y transmitir (TX) datos en serie con niveles TTL. Estas clavijas se conectan a las correspondientes salidas FTDI de la interfaz USB/Serie con niveles TTL.
  • Interrupciones externas: 2 y 3. Estos pines pueden ser configurados para disparar una interrupción en el frente o en la parte posterior de un pulso o para cambiar el nivel en la salida. Vea el manejo de interrupciones en el Arduino para más información.
  • PWM: salidas 3, 5, 6, 9, 10 y 11. Proporcione una salida PWM de 8 bits utilizando la función analogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estas salidas soportan la comunicación a través de SPI.
  • LED: 13. El LED incorporado está conectado a la salida digital 13. El LED se enciende cuando la salida es alta; cuando es baja, el LED se apaga.
  • I2C: A4 (SDA) y A5 (SCL). Soporta la comunicación a través de I2C (TWI) usando la biblioteca de cables.

La Arduino Nano posee 8 entradas analógicas, cada una de las cuales proporciona una resolución de 10 bits (es decir, 1024 valores diferentes). Por defecto miden de 0 a 5 voltios, aunque se puede cambiar el límite superior de su rango usando la función analogReference(). Las salidas analógicas 6 y 7 no pueden ser utilizadas como digitales.

Por último, tenemos dos pines adicionales:

Te puede interesar  ARDUINO LILYPAD

AREF: Voltaje de referencia para las entradas analógicas. Se utiliza junto con analogReference();
Reset: Un nivel bajo en este pin lleva a un reset del microcontrolador. Normalmente se usa para añadir un botón de reinicio a una tarjeta de expansión que cierra el acceso al botón de reinicio en la propia tarjeta Arduino.

Comunicaciones en la Arduino Nano

La placa Arduino Nano puede comunicarse de distintas formas con una ordenador, con otras placas Arduino o con otros microcontroladores. Los ATmega168 y ATmega328 proporcionan un puerto UART de hardware para la comunicación en serie con niveles TTL (5 voltios).

Estos se encuentran disponibles en las salidas digitales 0 (RX) y 1 (TX). El FTDI FT232RL de la placa conecta el puerto UART al USB y proporciona un puerto COM virtual utilizando los controladores FTDI (incluidos en el IDE de Arduino) para comunicarse con el software de su ordenador.

El IDE de Arduino incluye un monitor de puerto serie que permite el envío y la recepción de datos de texto simple desde la placa. Los LEDs RX y TX de la placa se encienden cuando se transmiten datos a través de la conexión FTDI y USB (pero no cuando se transmiten datos a través de los pines 0 y 1 del puerto serie).

La biblioteca SoftwareSerial permite la comunicación en serie a través de cualquier pin digital de Arduino Uno.

Los ATmega168 y ATmega328 también soportan la comunicación vía I2C (TWI) y SPI. El IDE de Arduino incluye una biblioteca Wire para simplificar el uso del bus I2C. La biblioteca SPI se utiliza para la comunicación a través de SPI.

Programando en la Arduino Nano

La Arduino Nano se puede programar con el entorno de desarrollo Arduino IDE. 

Sigue estos pasos: Selecciona «Arduino/Genuino Nano» de la placa de Herramientas → (según el microcontrolador de tu placa).

El ATmega168 y ATmega328 en la Arduino Nano vienen con un cargador de arranque ya flasheado, lo que le permite cargar un nuevo código en el controlador sin necesidad de usar programadores adicionales. El cargador de arranque funciona con el protocolo STK500.

Te puede interesar  Control remoto IR con Arduino

También puedes puentear el cargador y hacer fluir el microcontrolador a través del conector ICSP usando un ICSP de Arduino o equivalente.

Reinicio automático en la Arduino Nano

Como todas las demás placas Arduino, la Arduino Nano, en lugar de requerir que se presione un botón de reinicio físico antes de parpadear el nuevo código de programa, Arduino Nano está diseñado para permitir el reinicio utilizando un software que se ejecuta en el ordenador conectado.

Una de las líneas de control de flujo (DTR) del FT232RL está conectada a una línea de reinicio ATmega168 o ATmega328 a través de un condensador de 100nF. Cuando aparece un nivel bajo en esta línea durante un tiempo suficientemente largo, el chip se reinicia.

El IDE de Arduino utiliza esta característica para permitirle descargar el código con sólo pulsar el botón de descarga en el IDE de Arduino. Esta arquitectura le permite reducir el tiempo de espera del cargador, ya que el proceso del firmware siempre está sincronizado con la señal de caída en la línea DTR.

Sin embargo, este sistema puede llevar a otras consecuencias. Cuando Arduino Nano se conecta a ordenadores que funcionan con Mac OS X o Linux, el microcontrolador se reinicia cada vez que el software se conecta a la placa (a través de USB). Durante el siguiente medio segundo después del reinicio, el Arduino Nano activará el cargador.

Aunque el cargador está programado para ignorar los datos externos (es decir, todos los datos no relacionados con el proceso de firmware del nuevo programa), puede interceptar los primeros bytes de datos del paquete enviado a la placa inmediatamente después de que se establezca la conexión.

Por consiguiente, si el programa que se ejecuta en el Nano de Arduino prevé la recepción de cualquier configuración u otros datos de la computadora en el primer inicio, debes asegurarte que el software con el que se comunica el Nano de Arduino se envíe un segundo después de que se establezca la conexión.

Iniciarse y entender el funcionamiento de la Arduino Nano no es tan dificil.