Sunteți pe pagina 1din 28

Arduino

Sistemas mecnico
ACTUADORES
Solenoides, rels, piezoelctricos Motores de con@nua Motores paso a paso Servomotores Disposi@vos hidrulicos y neum@cos.

SENSORES
Interruptores Pulsadores Potencimetros LDRs Fotoclulas Encoders Galgas extensom Termopares Acelermetros MEMs

ACONDICIONADORES DE SEALES DE ENTRADA E INTERFACES


C. discretos Filtros Amplicadores A/D

VISUALIZADORES
LEDs Displays LCD CRT TFT

ACONDICIONADORES DE SEALES DE SALIDA E INTERFACES


D/A Transistores Amplicadores PWM

SISTEMAS DE CONTROL DIGITAL


Combinacionales Memorias Secuenciales SoC P Comunicaciones C Soaware

Electrnica Industrial

78

Arduino

Conceptos generales

Arduino
Arduino es una plataforma de diseo de objetos interac@vos (Physycal Compu@ng o Phisical Interac@on Design) que integra una tarjeta microcontroladora open-source, un entorno de desarrollo de soaware basado en el lenguaje de programacin Processing y una amplia comunidad de usuarios. En resumen, Arduino se u@liza para desarrollar objetos y entornos interac@vos (internet de las cosas) que @enen que ver con la creacin de obras de arte, diseo de mecatrnica (para consumo e industrial) y proyectos DIY (Do It Yourself) para acionados. Los objetos pueden ser autnomos (stand-alone) o pueden comunicarse con cualquier soaware a travs de puerto serie (p.e. Flash, Processing, MaxMSP,.), bien por cable o por Xbee, ZigBit, etc. Las tarjetas microcontroladoras pueden ser construidas por el usuario nal o pueden comprarse ya fabricadas. El entorno de desarrollo (IDE, Integrated Development Environment) puede ser descargado libremente desde www.arduino.com.

Electrnica Industrial

79

Arduino

Conceptos generales

Phisical Compu@ng ( Solo para leer por los alumnos).


El Phisical Compu@ng, en el sen@do ms amplio, persigue construir objetos interac@vos mediante el uso de soaware y hardware. Estos objetos se caracterizan por poder percibir seales de un mundo analgico y poder responder a las mismas. Aunque esta denicin incluira mul@tud de campos tecnolgicos, tales como los sistemas de control de trco de automviles inteligentes, automa@zacin de procesos industriales, etc., el Phisical Compu@ng no hace referencia a estos campos tecnolgicos. Este trmino @ene ms que ver con la creacin de obras de arte, diseo de mecatrnica (para consumo e industrial) y proyectos DIY (Do It Yourself) para acionados. En el pasado, u@lizar electrnica signicaba tener que tratar con ingenieros todo el @empo, y a la vez construir un circuito en un pequeo componente. Esto impeda que la gente crea@va no poda u@lizar estas tecnologas fcilmente. La mayor parte de las herramientas estaban pensadas para ingenieros y requeran conocimientos muy profundos. En la actualidad los microcontroladores son mucho ms baratos y fciles de usar. Con Arduino, un diseador o ar@sta puede conocer las bases de la electrnica y los sensores muy rpidamente y puede comenzar a construir proto@pos con muy poca inversin.

Electrnica Industrial

80

Arduino

Conceptos generales

Qu lo diferencia de otros entornos?


Es un entorno mul@plataforma. Puede correr sobre Windows, Macintosh y Linux. El IDE de Arduino est basado en Processing, un entorno de desarrollo fcil de u@lizar por ar@stas y diseadores. Las tarjetas C Arduino se pueden programar va un cable USB, no un puerto serie. Tanto el hardware como el soaware es open-source. El usuario puede descargar los diagramas de los circuitos, comprar todos los componentes y fabricrselo el mismo, sin tener que pagar nada a los fabricantes de Arduino. El hardware es barato. Una tarjeta Arduino UNO cuesta unos 20 . Y reemplazar un chip daado en la tarjeta es fcil y barato (no cuesta ms de 5). Hay una comunidad de usuarios muy ac@va con la que poder colaborar y recibir ayuda.

Electrnica Industrial

81

Arduino

Placas Arduino (I)


Arduino Mega 2560 (XXXX) Arduino Uno (XXXX) Arduino Mega (XXXX)

Placas ociales de Arduino


Arduino Leonardo (2012)

Arduino Duemilanove (XXXX)

Arduino Diecimila(XXXX)

Arduino Bluetooth (XXXX)

Arduino NG Rev.C (XXXX)

Arduino NG (XXXX)

Lily PAD Arduino (XXXX)

Arduino Nano (XXXX)

Arduino Mini (XXXX)

Electrnica Industrial

Consultar para una lista completa hyp://en.wikipedia.org/wiki/List_of_Arduino_compa@bles

82

Arduino

Placas Arduino (II)

Shields: Arquitectura modular inteligente Las Shields son placas que a modo de accesorio se pueden conectar a una placa Arduino o compa@ble. Para ello los pines de sus puertos guardan una disposicin de compa@bilidad. Existe una gran variedad de shields con diversa funcionalidad: control de motores, comunicaciones, proto@pado rpido, etc. Ethernet Shield. GSM Shield. Arduino.

Electrnica Industrial

Una lista completa Shields se puede encontrar en: hyp://shieldlist.org/

83

Arduino

Placa Arduino Uno (I)

Caracters@cas principales del Arduino Uno Rev. 3


ATmega 328P-PU 32 Kbyte de memoria de programa FLASH 2 Kbyte de RAM 16 MHz de velocidad de reloj Entradas / Salidas
14 pines de entradas/salidas 6 pines de entradas analgicas (tambin salidas) Total: 20 entradas/salidas

Completamente autnomo (stand-alone) una vez programado.

Electrnica Industrial

Fuente: hyp://arduino.cc/en/Main/ArduinoBoardUno

84

Arduino

Placa Arduino Uno (II)

Alimentacin y POWER Puerto USB


Alimentacin 5 V

Jack 3.3V 5V

Alimentacin externa 5-15 V

3,3 vol@os 5 vol@os

GND Vin

0 vol@os Alimentacin externa de entrada sin regular

Electrnica Industrial

Fuente: hyp://arduino.cc/en/Main/ArduinoBoardUno

85

Arduino

Placa Arduino Uno (III)


AREF
Voltaje de referencia para entradas analgicas

Entradas / Salidas

14 pines de E/S digitales.

2,4,7,8,12,13 = puertos digitales convencionales 3,5,6,9,10,11 = puertos PWM

Puertos analgicos.

A4, A5 = son u@lizadas para conexiones I2C/TWI A0-A5 = pueden funcionar como puertos digitales (14-19)

Electrnica Industrial

Fuente: hyp://arduino.cc/en/Main/ArduinoBoardUno

86

Arduino

Placa Arduino Uno (IV)

Comunicaciones

Puerto serie RX/TX. ICSP.


Para cargar el gestor de arranque (bootloader) o programas/rmware.

Puerto USB y FTDI chipset

Electrnica Industrial

Fuente: hyp://arduino.cc/en/Main/ArduinoBoardUno

87

Arduino

Placa Arduino Uno (V)


Botn de RESET. LEDs de test, TX y RX. LED de encendido Reloj a 16/20 Mhz. Microcontrolador
Atmega328

Otras caracters@cas

Electrnica Industrial

Fuente: hyp://arduino.cc/en/Main/ArduinoBoardUno

88

Arduino

Entradas/salidas de Arduino (I)

Mapeado entre ATmega168/328 y Arduino

Electrnica Industrial

Fuente: hyp://arduino.cc/en/Hacking/PinMapping168

89

Arduino

Entradas/salidas de Arduino (II)

Puertos de entrada/salida digitales


Trabajan con niveles de tensin TTL: 0 - 0,8 V = 0 2- 5 V = 1 No se pueden conectar directamente a disposi@vos que consuman potencia.

Electrnica Industrial

90

Arduino

Entradas/salidas de Arduino (III)

Puertos analgicos
Conver@dor A/D de 10 bits: 0 a 1023. La tensin de referencia es 5 V. 0 V = 0 2,5 V = 215 5 V = 1023 No se pueden conectar directamente a disposi@vos que consuman potencia.

Electrnica Industrial

91

Arduino

Entradas/salidas de Arduino (IV)

Puertos PWM
Es un puerto hbrido, ya que es un puerto digital que mediante la modulacin de 0 y 1 consigue expresar una idea de potencia.

Electrnica Industrial

92

Arduino

Entradas/salidas de Arduino (V)

Cmo se trabaja en la prc@ca?


Asignamos componentes a los puertos disponibles (digitales, analgicos y PWM). Realizamos lecturas y escrituras con el objeto de obtener un dato de un sensor o contralar un determinado actuador. Procesamos los datos en el C.

Veamos algunos ejemplos de componentes que podemos u@lizar

Electrnica Industrial

93

Arduino

Entradas/salidas de Arduino (VI)

Algunos ejemplos de sensores y actuadores para Arduino


Brjula Sensor de temperatura Medidor ultrasnico Sensor de presin

Unidad GSM/GPRS GPS Pantalla tc@l Controlador de motor

Electrnica Industrial

94

Arduino

Entradas/salidas de Arduino (VII)

Tiendas
Espaolas " www.cooking-hacks.com www.ardumania.es www.bricogeek.com Extranjeras " " www.parallax.com www.sparkfun.com www.liquidware.com www.ladyada.net www.adafruit.com

www.makershed.com

Se agradece cualquier informacin para tener actualizada esta lista

Electrnica Industrial

95

Arduino

El entorno de desarrollo Arduino (I)

Cmo podemos empezar?


Descargar la l@ma versin del IDE (1.0.1). hyp://arduino.cc/en/Main/Soaware Sigue las instrucciones de hyp://arduino.cc/es/Guide/HomePage para la instalacin en Windows, Mac o Linux. Conecta la placa Arduino a tu ordenador usando el cable USB. el LED verde indicador de la alimentacin (nombrado como PWR en la placa) debera quedar encendido a par@r de ese momento. Haz doble click sobre la aplicacin Arduino. Abre el programa de ejemplo para hacer parpadear un LED ("LED blink"): Abrir > Basics > Blink Compilamos el programa de ejemplo: Vericar Cargamos el cdigo compilado en Arduino: Cargar
Si todo funciona correctamente el LED de TEST debera parpadear Prueba a cambiar los @empos de retardo y comprueba que la frecuencia de parpadeo vara

Electrnica Industrial

96

Arduino

El entorno de desarrollo Arduino (II)


Men

Versin 1.0.1

rea de Programacin

Electrnica Industrial

rea de DEBUG 97

Arduino

El entorno de desarrollo Arduino (III)

Versin 1.0.1

Vericar
Chequea errores

Cargar

Compila y carga

Nuevo

Crea nuevos sketches

Abrir

Abre sketches existentes

Guardar
Graba Sketches

Monitor Serial

Abre el monitor serie

El soaware desarrollado con Arduino se conoce como sketches. Los sketches se escriben con un editor de texto y son guardados con la extensin .ino

Electrnica Industrial

98

Arduino

El lenguaje de programacin (I)

Conceptos generales
Se basa en C estndar. Para el control de los puertos del microcontrolador se u@lizan las funciones predenidas: pinMode(<puerto>,<modo>) digitalWrite(<puerto>,0 o 1) digitalRead(<puerto>) analogRead(<puerto>) // congura un puerto digital para leer o escribir datos // enva un 0 o 1 al puerto digital // devuelve un 0 o 1 del puerto // devuelve un valor (0-1023) del puerto analgico //escribe en un puerto PWM un valor de 0 a 255

analogWrite(<puerto>,<valor>)

Electrnica Industrial

99

Arduino

El lenguaje de programacin (II)

Estructura de un programa
Se @enen que programar obligatoriamente dos funciones: void setup() // se ejecuta una sola vez, cuando se inicia el sketch { } void loop() // se ejecuta de modo con@nuo indenidamente { }

Electrnica Industrial

100

Arduino

El lenguaje de programacin (III)

Primer ejemplo. LED parpadeante. Esquem@co

Electrnica Industrial

101

Arduino

El lenguaje de programacin (IV)

Primer ejemplo. LED parpadeante. Programa


/* Blink Turns on an LED on for one second, then o for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup rou@ne runs once when you press reset: void setup() { // ini@alize the digital pin as an output. pinMode(led, OUTPUT); } // the loop rou@ne runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1500); // wait for a second digitalWrite(led, LOW); // turn the LED o by making the voltage LOW delay(1500); // wait for a second }

Electrnica Industrial

102

Arduino

El lenguaje de programacin (V)

Primer ejemplo. LED parpadeante. Montaje en protoboard.

Electrnica Industrial

103

Arduino

El lenguaje de programacin (VI)


/* Fade This example shows how to fade an LED on pin 9 using the analogWrite() func@on. This example code is in the public domain. */ int led = 9; // the pin that the LED is ayached to int brightness = 0; // how bright the LED is int fadeAmount = 5; // how many points to fade the LED by // the setup rou@ne runs once when you press reset: void setup() { // declare pin 9 to be an output: pinMode(led, OUTPUT); } // the loop rou@ne runs over and over again forever: void loop() { // set the brightness of pin 9: analogWrite(led, brightness); // change the brightness for next @me through the loop: brightness = brightness + fadeAmount; // reverse the direc@on of the fading at the ends of the fade: if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } // wait for 30 milliseconds to see the dimming eect delay(30); }

Segundo ejemplo. Fade. Esquem@co

Tarjeta Arduino Pin 9 Gnd

Habr que u@lizar: una salida PWM (3,5,6,9,20 o 11) analogWrite(<pin>,<valor>)

Electrnica Industrial

104

Dr. Andrs Iborra Universidad Politcnica de Cartagena Campus Muralla del Mar, s/n 30202 Cartagena Tel. Fax. E-mail Twiyer Lista de correo Www +34 968 32 56 54 +34 968 32 53 45 andres.iborra@upct.es @CincubatorHUB @aiborra cloud-incubator@upct.es www.cincubator.com

S-ar putea să vă placă și