Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Qu es Arduino?
Arduino es una herramienta para hacer que los ordenadores puedan sentir y controlar el
mundo fsico a travs de tu ordenador personal. Es una plataforma de desarrollo de
computacin fsica (physical computing) de cdigo 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 fsicos. Los proyectos con Arduino pueden ser autnomos o comunicarse con
un programa (software) que se ejecute en tu ordenador.
Elementos de Arduino:
Microcontroller
ATmega328
Operating Voltage
5V
7-12V
6-20V
40 mA
50 mA
Flash Memory
32 KB (ATmega328)
SRAM
2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
Clock Speed
16 MHz
Especificaciones tcnicas
Pines de alimentation (Power Pin)
la conexin USB
fuente externa (recomendada de 7-12V)
tendremos unas salidas de tensin continua debido a unos reguladores de tensin y
condensadores de estabilizacin. Estos pines son:
Pin 13. LED. Hay un LED conectado al pin digital 13. Cuando el pin es de
alto valor, el LED est encendido, cuando el valor est bajo, es apagado
Digital Inputs/Outputs
Posee 14 pines digitales se puede utilizar como una entrada o salida. Cada pin puede
proporcionar o recibir un mximo de 40 mA y tiene una resistencia de pull-up
(desconectado por defecto) de 20 a 50 kOhm. Adems, algunos pines tienen funciones
especializadas como:
Pin 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y la transmisin (TX)
de datos serie TTL.
Pin 2 y 3. Interrupciones externas. Se trata de pines encargados de
interrumpir el programa secuencial establecido por el usuario.
Pin 3, 5, 6, 9, 10 y 11. PWM (modulacin por ancho de pulso).
Constituyen 8 bits de salida PWM con la funcin analogWrite ().
Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines son de apoyo
a la comunicacin SPI.
Pin 13. LED. Hay un LED conectado al pin digital 13. Cuando el pin es
de alto valor, el LED est encendido, cuando el valor est bajo, es
apagado.
Reset BT: 7. (slo en Arduino BT) Conectado a la lnea de reset del
mdulo bluetooth.
Analog Inputs
El Arduino posee 6 entradas analgicas, etiquetadas desde la A0 a A5, cada una de las
cuales ofrecen 10 bits de resolucin (es decir, 1024 estados). Por defecto, tenemos una
tensin de 5V, pero podemos cambiar este rango utilizando el pin de AREF y utilizando
la funcin analogReference(), donde le introducimos una seal externa de continua que la
utilizara como referencia
Shields
Los shields son placas que se colocan encima de Arduino y que amplan funciones para
que sean controladas desde Arduino, para controlar diferentes aparatos o adquirir datos.
Shield Xbee: Este shield permite conectar inalmbricamente varios Arduino
a distancias de 100 pies en edificios y 300 pies en el exterior usando el mdulo
Maxstream Xbee Zigbee.
Shield Motors: Este shield permite a Arduino controlar motores elctricos
de corriente continua, servos y motores paso a paso y leer encoders.
Shield Ethernet: Este shield permite a una placa Arduino conectarse a una red
Ethernet y tener acceso a Internet.
Entre otros .
Sensores:
Capacitive Sensing - Convertir dos o ms pines en sensores capacitivos. Debounce - Para lectura
de entradas digitales con ruido (por ejemplo botones).
Medicin de Tiempo:
DateTime - Librera para llevar registro de fecha y hora actual en el software.
Metro - til para cronometrar acciones en intervalos regulares.
MsTimer2 - Utiliza timer2interrupt para disparar una accin cada N milisegundos.
Utilidades:
TextString, tambin conocido como String - Maneja strings.
PString - Liviana clase para imprimir en bfer.
Streaming - Mtodo para simplificar declaraciones de impresin.
Software
El software del que dispone Arduino es una serie de libreras que proveen funcionalidad
extra al sketch o programa. Libreras estndar
EEPROM - Librera para leer y escribir en memorias.
Ethernet - Librera para conectar a internet usando el Ethernet Shield.
Firmata - Librera para comunicarse con aplicaciones en la computadora usando
un protocolo estndar Serial.
LiquidCrystal - Librera para controlar displays de cristal lquido (LCD)
Servo - Librera para controlar servomotores.
SoftwareSerial - Librera para la comunicacin serial de cualquier pin digital.
Stepper - Librera para controlar motores paso a paso (stepper motors).
Wire - Interfaz de dos cables, o Two Wire Interface (TWI/I2C), para enviar y
recibir datos a travs de una red de dispositivos y sensores.
Matrix - Librera para manipular displays de matrices de LED bsicas.
Funciones bsicas.
E/S Digitales
pinMode(pin,modo)
digitalWrite(pin,valor)
digitalRead(pin)
E/S Analgicas
analogRead(pin)
Lee el valor de tensin en el pin analgico especificado. La placa Arduino posee 6
canales conectados a un conversor analgico digital de10 bits. Esto significa que
convertir tensiones entre 0 y 5 voltios a un nmero entero entre 0 y 1023. Esto
proporciona una resolucin en la lectura de: 5 voltios / 1024 unidades, es decir, 0.0049
voltios (4.9mV) por unidad. El rango de entrada puede ser cambiado usando la
funcin analogReference().
Ejm:
val = analogRead(Pin3)
analogWrite(pin,valor)
Escribe un valor analgico (PWM) en un pin. Puede ser usado para controlar la
luminosidad de un LED o la velocidad de un motor. Despus de llamar a la funcin
analogWrite(), el pin generar una onda cuadrada estable con el ciclo de trabajo
especificado hasta que se vuelva a llamar a la funcin analogWrite() (o una llamada a
las funciones
de aproximadamente 490 Hz. los valores de analogRead van desde 0 a 1023 y los
val = analogRead(analogPin);
Comunicacin Serie
Serial.println(val,[format])
Imprime los datos al puerto serie como texto ASCII seguido de un retorno de carro
(ASCII 13, o '\r') y un carcter de avance de lnea (ASCII 10, o '\n').
Ejm:Serial.println(analogValue);
decimal
Serial.println(analogValue, HEX);// imprime como ASCII
Hexadecimal
Serial.available()
Devuelve el nmero de bytes (caracteres) disponibles para ser ledos por el puerto serie.
Se refiere a datos ya recibidos y disponibles en el buffer de recepcin del puerto (que
tiene una capacidad de 128 bytes).
if (Serial.available() > 0)
{
//realiza la lectura del puerto serie
}