
La Arduino Diecimila es una placa microcontroladora basada en el chip ATmega168 (datasheet). Tiene 14 E/S digitales (6 de las cuales se puedes utilizar como salidas PWM), 6 entradas analógicas, un cristal de 16MHz, conexión USB y botón de reseteo. Contiene todo lo necesario para el soporte del microcontrolador; simplemente conectala a un ordenador con un cable USB o alimentala con un adaptador AC/DC o una batería y comenzará a funcionar.
"Diecimila" significa "diez mil" en italiano y fue un nombrada de este modo para celebrar el hecho de que mas de 10.000 placas Arduino han sido ya fabricadas. La Diecimila es la última de la serie de placas USB; para compararla con versiones anteriores puedes consultar el índice de placas Arduino.
| Microcontrolador | ATmega168 |
| Voltaje de funcionamiento | 5V |
| Voltaje de entrada (recomendado) | 7-12 V |
| Voltaje de entrada (limites) | 6-20 V |
| Pines E/S Digitales | 14 (de ellos 6 son salidas PWM) |
| Pines de entrada Analógica | 6 |
| Intensidad por pin de E/S | 40 mA |
| Intensidad por pin de 3.3V | 50 mA |
| Memoria Flash | 16 KB (2 KB reservados para el gestor de arranque) |
| SRAM | 1 KB |
| EEPROM | 512 bytes |
| Velocidad del reloj | 16 MHz |

Ficheros EAGLE: arduino-diecimila-reference-design.zip
Esquema: Arduino-Diecimila-schematic.pdf
Nótese que R2 no se monta y que R3 a sido reemplazada por un condensador de 100 nano-faradios.
La Arduino Diecimila puede ser alimentada directamente por el cable USB de conexión o por una fuente de alimentación externa. El cambio entre una u otra forma se hace por medio de un jumper: para alimentar la placa desde el cable USB se situa el jumper entre los dos pines mas próximos a dicho conector, para seleccionar al fuente de alimentación externa situar el jumper entre los dos pines mas cercanos al conector de alimentación externa.
La alimentación externa puede proceder indistintamente de un cargador de pared o de una batería. La alimentación también puede ser introducida directamente a los pines GND y Vin en el conector de alimentación. Un regulador de voltaje se encarga de que la placa sea alimentada de forma eficiente.
La placa puede funcionar con una fuente de alimentación externa que le proporcione un voltaje de entre 6v y 20v. Si el voltaje cae por debajo de 7v, el pin de 5v puede dar un voltaje inferior a 5v, por lo que la placa se vuelve inestable. Si usas más de 12v el regulador de voltaje puede sufrir de calentamiento y producir daños en la placa. El rango de voltaje de entrada recomendado es de 7v a 12v.
Los pines de alimentación son los siguientes:
El ATmega168 tiene 16KB de memoria para el almacenamiento de sketches (de los cuales 2KB están reservados para el gestor de arranque). También tiene 1KB de SRAM y 512 bytes de EEPROM en los cuales se puede leer y escribir mediante la librería EEPROM).
Cada uno de los 14 pines de digitales de la Diecimila puede ser configurado tanto como entrada o como salida usando las funciones pinMode(), digitalWrite() y digitalRead(). Estos pines operan a 5v. Cada pin puede suministrar o recibir una corriente máxima de 40mA y tienen resistencias pull-up internas (desconectadas por defecto) de 20 a 50 KOhms. Además algunos de los pines tienen funciones especiales:
La Diecimila tiene 6 entradas analógicas, cada una tiene una resolución de 10 bits (esto son 1024 valores). La medida de los valores analógicos se hace entre VCC y GND, aunque es posible cambiar el límite superior del rango de medición utilizando el pin AREF y algo de código de bajo nivel. Adicionalmente algunos de los pines de entrada analógicos tienen una función especializada:
Hay unos cuantos pines más en la placa:
Puedes ver también la correspondencia de pines entre ATmega168/328 y Arduino.
La Arduino Diecimila puede comunicarse con tu ordenador, con otra Arduino o con otros microcontroladores. El ATmega168 tiene implementada comunicación serie UART TTL en sus pines 0 (RX) y 1 (TX). Un chip FTDI FT232RL integrado en la placa convierte esta comunicación Serie en USB mediante los drivers FTDI (incluidos en el software de Arduino) para proporcionarnos un puerto COM virtual para comunicarnos con el ordenador. El shoftware de Arduino incluye un monitor serie que permite que datos sencillos puedan ser enviados y recibidos desde la placa por medio de la conexión USB. Los LEDs TX y RX de la placa parpaderán mientras los datos están siendo transmitidos a por el chip FTDI y la conexión USB al ordenador (pero no por los pines de comunicación Serie 0 y 1).
La librería SoftwareSerial permite la comunicación Serie en cualquiera de los pines digitales de la Diecimila.
El ATmega168 también soporta comunicación I2C (TWI) y SPI. El programa Arduino incluye la librería Wire para simplificar el uso del bus I2C, vea la referencia para más detalles. Si se desea utilizar la comunicación SPI hay que echar un vistazo a la hoja de características (datasheet) del ATmega168.
La Arduino Diecimila puede ser programada con el software Arduino (descarga). Para más detalles ver la página de referencia y los tutoriales.
El ATmega168 en la Arduino Diecimila viene precargado con un gestor de arranque que nos permite la carga de nuevo código sin el uso de un programador externo. Este se comunica usando el protocolo STK500 original (referencia, archivos de cabecera en C).
También se puede prescindir del gestor de arranque y cargar los sketches en el ATmega168 con un ICSP (programador externo), para ello ver estas instrucciones más detalladas.
En lugar de utilizar el pulsador de reseteo antes de cargar un nuevo sketch la Arduino Diecimila ha sido diseñada de modo que permite el reseteo automático por el software instalado en nuestro ordenador. Una de las lineas de control (DTR) del FT232RL está conectado con la linea de reseteo del ATmega168 mediante un condensador de 100 nanofaradios. Cuando esta línea se pone en estado LOW el chip se reinicia. El software de Arduino (a partir de la versión 0009) tiene la capacidad de cargar código en la placa simplemente presionando el botón de "upload" en el Arduino IDE. Esto significa que el gestor de arranque tarda menos tiempo en ejecutarse, pues la linea de reseteo está perfectamente coordinada con el inicio de la descarga.
Esta configuración tiene otras implicaciones. Cuando una Diecimila se conecta a un ordenador por el que corre un MAC OS X o un Linux, esta se resetea cada vez que se establece la conexión por USB. Durante el siguiente medio segundo el gestor de arranque se ejecuta en la Diecimila, mientras que ha sido programado para ignorar datos nulos (por ejemplo cualquier cosa durante la carga de un nuevo sketch). Este interceptará los primeros bytes de datos enviados a la placa después de que la conexión sea establecida. Si un sketch que se está ejecutando en la placa recibe una configuración de arranque u otros datos cuando se ejecuta por primera vez, asegúrate de que el software con el que se comunica espera un segundo después de abrir la conexión y antes de enviar estos datos.
La Arduino Diecimila tiene un fusible reseteable que protege el puerto USB de tu ordenador en caso de sobre-tensiones y cortocircuitos. Aunque la mayoría de los ordenadores tienen su propia protección interna este fusible nos da una protección extra. Si mas de 500mA llegan al puerto USB dicho fusible, automáticamente, corta la conexión hasta que el cortocircuito o la sobre-tensión terminen.
La longitud y anchura máxima del PCB de la Diecimila son 6.8cm y 5.3cm respectivamente, con el conector USB y el conector de alimentación sobresaliendo ligeramente de los bordes. 3 perforaciones para tornillos permiten la fijación de la placa sobre una superficie o una caja. La distancia entre los pines 7 y 8 es de 4mm, no como los demás pines, que están separados por 2.5mm (separación normalizada entre pines).