Diferencia entre revisiones de «Arduino»
Línea 46: | Línea 46: | ||
| Frecuencia de reloj || 16 MHz || 16 MHz || 16 MHz | | Frecuencia de reloj || 16 MHz || 16 MHz || 16 MHz | ||
|} | |} | ||
+ | === Primer contacto: Hola Mundo en Arduino === | ||
+ | |||
+ | El primer paso antes de comprobar que la instalación es correcta y empezar a trabajar con Arduino es abrir algunos ejemplos prácticos que vienen disponibles con el dispositivo. Es recomendable abrir el ejemplo “led_blink” que encontraremos en el menú File, Sketchbook, Examples, led_blink. Este código crea una intermitencia por segundo en un led conectado en el pin 13. Es cuestión de comprobar que el código es correcto, para eso, presionamos el botón que es un triángulo (en forma de "play") y seguidamente haremos un "upload" (que es la flecha hacia la derecha) para cargar el programa a la placa. Si el led empieza a parpadear, todo estará correcto. | ||
+ | |||
+ | Veamos el código necesario para conseguirlo: | ||
+ | |||
+ | <source lang="c"> | ||
+ | # define LED_PIN 13 | ||
+ | void setup () { | ||
+ | // Activamos el pin 13 para salida digital | ||
+ | pinMode (LED_PIN, OUTPUT); | ||
+ | } | ||
+ | // Bucle infinito | ||
+ | void loop () { | ||
+ | // Encendemos el led enviando una señal alta | ||
+ | digitalWrite (LED_PIN, HIGH); | ||
+ | // Esperamos un segundo (1000 ms) | ||
+ | delay (1000); | ||
+ | // Apagamos el led enviando una señal baja | ||
+ | digitalWrite (LED_PIN, LOW); | ||
+ | // Esperamos un segundo (1000 ms) | ||
+ | delay (1000); | ||
+ | } | ||
+ | </source> | ||
+ | El orden de ejecución será: Primero se hace una llamada a la función init() que inicializa el programa, después se ejecuta la función setup() que configura diversos parámetros, y por último se ejecuta un bucle while(1) que llama repetidamente a la función loop. Todo ello se ejecuta dentro de main() y podría haberse indicado explícitamente (en el caso anterior se encarga el IDE de añadir el código que se ha omitido). |
Revisión del 15:25 24 mar 2013
¿Qué es Arduino ?
Arduino es una herramienta para hacer que los ordenadores puedan sentir y controlar el mundo físico a través de tu ordenador personal. Es una plataforma de desarrollo de computación física (physical computing) de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo para crear software (programas) para la placa.
Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores físicos. Los proyecto de Arduino pueden ser autónomos o comunicarse con un programa (software) que se ejecute en tu ordenador (ej. Flash, Processing, MaxMSP). La placa puedes montarla tu mismo o comprarla ya lista para usar, y el software de desarrollo es abierto y lo puedes descargar gratis.
El lenguaje de programación de Arduino es una implementación de Wiring, una plataforma de computación física parecida, que a su vez se basa en Processing, un entorno de programación multimedia.
Ventajas de Usar Arduino Hay muchos otros microcontroladores y plataformas con microcontroladores disponibles para la computación física. Parallax Basic Stamp, BX-24 de Netmedia, Phidgets, Handyboard del MIT, y muchos otros ofrecen funcionalidades similares. Todas estas herramientas organizan el complicado trabajo de programar un microcontrolador en paquetes fáciles de usar. Arduino, además de simplificar el proceso de trabajar con microcontroladores, ofrece algunas ventajas respecto a otros sistemas a profesores, estudiantes y amateurs:
Asequible - Las placas Arduino son más asequibles comparadas con otras plataformas de microcontroladores. La versión más cara de un modulo de Arduino puede ser montada a mano, e incluso ya montada cuesta bastante menos de 60€ Multi-Plataforma - El software de Arduino funciona en los sistemas operativos Windows, Macintosh OSX y Linux. La mayoría de los entornos para microcontroladores están limitados a Windows. Entorno de programación simple y directo - El entorno de programación de Arduino es fácil de usar para principiantes y lo suficientemente flexible para los usuarios avanzados. Pensando en los profesores, Arduino está basado en el entorno de programación de Procesing con lo que el estudiante que aprenda a programar en este entorno se sentirá familiarizado con el entorno de desarrollo Arduino. Software ampliable y de código abierto- El software Arduino esta publicado bajo una licencia libre y preparado para ser ampliado por programadores experimentados. El lenguaje puede ampliarse a través de librerías de C++, y si se está interesado en profundizar en los detalles técnicos, se puede dar el salto a la programación en el lenguaje AVR C en el que está basado. De igual modo se puede añadir directamente código en AVR C en tus programas si así lo deseas. Hardware ampliable y de Código abierto - Arduino está basado en los microcontroladores ATMEGA168, ATMEGA328 y ATMEGA1280. Los planos de los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores de circuitos con experiencia pueden hacer su propia versión del módulo, ampliándolo u optimizándolo. Incluso usuarios relativamente inexpertos pueden construir la versión para placa de desarrollo para entender cómo funciona y ahorrar algo de dinero.
Especificaciones
Los microcontroladores Arduino Diecimila, Arduino Duemilanove y Arduino Mega están basados en Atmega168, Atmega 328 y Atmega1280
Atmega168 | Atmega328 | Atmega1280 | |
---|---|---|---|
Voltaje operativo | 5 V | 5 V | 5 V |
Voltaje de entrada recomendado | 7 - 12 V | 7 - 12 V | 7 - 12 V |
Voltaje de entrada límite | 6 - 20 V | 6 - 20 V | 6 - 20 V |
Pines de entrada y salida digital | 14 (6 proporcionan PWM) | 14 (6 proporcionan PWM) | 54 (14 proporcionan PWM) |
Pines de entrada analógica | 6 | 6 | 16 |
Intensidad de corriente | 40 mA | 40 mA | 40 mA |
Memoria Flash | 16KB (2KB reservados para el bootloader) | 32KB (2KB reservados para el bootloader) | 128KB (4KB reservados para el bootloader) |
SRAM | 1 KB | 2 KB | 8 KB |
EEPROM | 512 bytes | 1 KB | 4 KB |
Frecuencia de reloj | 16 MHz | 16 MHz | 16 MHz |
Primer contacto: Hola Mundo en Arduino
El primer paso antes de comprobar que la instalación es correcta y empezar a trabajar con Arduino es abrir algunos ejemplos prácticos que vienen disponibles con el dispositivo. Es recomendable abrir el ejemplo “led_blink” que encontraremos en el menú File, Sketchbook, Examples, led_blink. Este código crea una intermitencia por segundo en un led conectado en el pin 13. Es cuestión de comprobar que el código es correcto, para eso, presionamos el botón que es un triángulo (en forma de "play") y seguidamente haremos un "upload" (que es la flecha hacia la derecha) para cargar el programa a la placa. Si el led empieza a parpadear, todo estará correcto.
Veamos el código necesario para conseguirlo:
# define LED_PIN 13
void setup () {
// Activamos el pin 13 para salida digital
pinMode (LED_PIN, OUTPUT);
}
// Bucle infinito
void loop () {
// Encendemos el led enviando una señal alta
digitalWrite (LED_PIN, HIGH);
// Esperamos un segundo (1000 ms)
delay (1000);
// Apagamos el led enviando una señal baja
digitalWrite (LED_PIN, LOW);
// Esperamos un segundo (1000 ms)
delay (1000);
}
El orden de ejecución será: Primero se hace una llamada a la función init() que inicializa el programa, después se ejecuta la función setup() que configura diversos parámetros, y por último se ejecuta un bucle while(1) que llama repetidamente a la función loop. Todo ello se ejecuta dentro de main() y podría haberse indicado explícitamente (en el caso anterior se encarga el IDE de añadir el código que se ha omitido).