Вы находитесь на странице: 1из 22

UNIVERSIDAD ANDRS BELLO

FACULTAD DE INGENIERA ESCUELA DE INDUSTRIAS INGENIERIA EN AUTOMATIZACIN Y ROBTICA

ARDUINO CON ETHERNET SHIELD

Alumnos: Gerardo Jerez V. Anbal Rubilar F. Profesor: Nstor Palominos. Fecha de entrega: Noviembre de 2013

Tabla de Contenido
Arduino. .................................................................................................................................. 1 Aplicaciones del Arduino. .................................................................................................. 1 Arduino Uno. .......................................................................................................................... 2 Caractersticas del Arduino Uno. ........................................................................................ 3 Ethernet shield ........................................................................................................................ 3 Router. .................................................................................................................................... 5 Caractersticas del Router. .................................................................................................. 5 Actividad ................................................................................................................................ 6 Conclusin ............................................................................................................................ 16 ANEXOS .............................................................................................................................. 17 Anexo 1: Especificaciones Tcnicas del Router. .............................................................. 17 Anexo 2: Cdigo de Arduino Telnet Server. ................................................................. 18

Arduino.
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseada para facilitar el uso de la electrnica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores ms usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de mltiples diseos. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programacin Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa. Arduino es una plataforma de electrnica abierta para la creacin de prototipos basada en software y hardware flexibles muy fciles de usar, debido a que el IDE con el que trabaja es fcil de aprender a utilizar, y el lenguaje de programacin con el que trabaja es simple.

Aplicaciones del Arduino.


Las aplicaciones que nos ofrece Arduino son mltiples, y depender de nuestra imaginacin. Mediante sensores podemos crear aplicaciones sencillas enfocadas a la docencia para estudiantes de electrnica, proyectos ms elaborados para la industria o incluso sistemas dirigidos simplemente al ocio. Es muy utilizado tambin en los entornos artsticos para crear obras ms elaboradas, dada su facilidad de programacin.

Figura 1. Arduino.

Arduino Uno.
El Arduino Uno R3 utiliza el microcontrolador ATmega328. En adicin a todas las caractersticas de las tarjetas anteriores, el Arduino Uno utiliza el ATmega16U2 para el manejo de USB en lugar del 8U2 (o del FTDI encontrado en generaciones previas). Esto permite ratios de transferencia ms rpidos y ms memoria. No se necesitan drivers para Linux o Mac (el archivo inf para Windows es necesario y est incluido en el IDE de Arduino). La tarjeta Arduino Uno R3 incluso aade pins SDA y SCL cercanos al AREF. Es ms, hay dos nuevos pines cerca del pin RESET. Uno es el IOREF, que permite a los shields adaptarse al voltaje brindado por la tarjeta. El otro pin no se encuentra conectado y est reservado para propsitos futuros. La tarjeta trabaja con todos los shields existentes y podr adaptarse con los nuevos shields utilizando esos pines adicionales. El Arduino es una plataforma computacional fsica open-source basada en una simple tarjeta de I/O y un entorno de desarrollo que implementa el lenguaje Processing/Wiring. El Arduino Uno R3 puede ser utilizado para desarrollar objetos interactivos o puede ser conectado a software de tu computadora (por ejemplo, Flash, Processing, MaxMSP). El IDE open-source puede ser descargado gratuitamente (actualmente para Mac OS X, Windows y Linux).

Figura2. Arduino Uno.

Caractersticas del Arduino Uno.


Microcontrolador ATmega328. Voltaje de entrada 7-12V. 14 pines digitales de I/O (6 salidas PWM). 6 entradas anlogas. 32k de memoria Flash. Reloj de 16MHz de velocidad.

Ethernet shield
Se trata de un mdulo que proporciona conexin de Arduino con internet. En la Figura 3 se muestra el mdulo empleado para realizar la comunicacin.

Figura 3. Mdulo Ethernet.

Este mdulo se conecta por un lado a un router a travs de un cable RJ45; y por el otro se conecta con Arduino a travs del puerto SPI. Viene ya ensamblado con las dimensiones del Arduino, por lo que la conexin con l consiste en acoplarlo sobre la placa Arduino usada. Esta extensin provee de una direccin IP al Arduino y soporta hasta 4 conexiones simultneas.

El controlador Ethernet de ste mdulo es el W5100 y utiliza la librera Ethernet. A ste mdulo le puede ser aadido a su vez un mdulo PoE (Power over Ethernet). Se ha utilizado el modelo sin PoE, dado que para las necesidades es suficiente y adems ms barato.

Figura 5.Esquema comunicacin mdulo Ethernet.

En el mdulo de expansin hay un lector de tarjetas SD integrado que se puede utilizar para almacenar archivos, para utilizarlo se debe usar la librera SD.

Adems ste mdulo contiene varios LEDs de informacin:

ON: Indica que al mdulo le llega energa. LINK: Indica la presencia de una red, parpadea cuando se emiten/reciben datos. RX: Parpadea al recibir datos. TX: Parpadea al enviar datos. 100M: Indica que est conectado a 100Mb/s en lugar de a 10Mb/s.

Router.
El TL-WR740N es un dispositivo de conexin de red de cable / inalmbrico incluye un router para compartir internet y un switch de 4 puertos. El router inalmbrico N es compatible con 802.11b & g basado en la tecnologa 802.11n, y le da rendimiento de 802.11n hasta 150 Mbps a un precio an ms asequible. Al lmite de 11N y superando la velocidad de 11g permite que las aplicaciones con alto consumo de ancho de banda como difusin de videos puede ser ms fluida. Usted puede disfrutar de una experiencia de alta calidad en la difusin de un vdeo, VoIP o juegos en lnea sin cables, con los productos tradicionales g nunca fue muy prctico, desde cualquier lugar de su hogar. Un paso a la era inalmbrica 11n con 150 Mbps TP-LINK!.

Caractersticas del Router.


Velocidad inalmbrica de hasta 150Mbps. CCA mejora el rendimiento inalmbrico, mientras que de forma automtica para evitar los conflictos de canal. Puente WDS inalmbrico ofrece una interconexin de ampliar su red inalmbrica. Encriptacin inalmbrica de seguridad con facilidad en un empuje de QSS botn. Priorizacin de servicios garantiza la calidad de las aplicaciones sensibles, tales como voz y video. Es compatible con firewall SPI y manejo de control de acceso. Es compatible con encriptacin WPA/WPA2. Perfectamente compatible con los dispositivos 802.11b/g/n.

Figura 4. Router TP-LINK.

Actividad
Implementacin fsica del Arduino Uno con Ethernet Shield.

Objetivo
Realizar Experiencias de arduino con Ethernet shield. Utilizando el router TP-LINK mediante una conexin de red Lan (rea local), en donde, se pretende comunicar el arduino con Ethernet shield a travs del router para direccionar la transmisin de datos mediante la direccin IP.

Objetivos Especficos.
Estudiar caractersticas de arduino, Ethernet shield y router. Conocer los diagramas de conexin de los equipos. Lograr la utilizacin bsica de los equipos anteriormente mencionados. Realizar diversas pruebas de comunicacin con los equipos Verificar aplicabilidad de arduino con Ethernet shield y el router.

Materiales
2 notebook. 1 router. 1 Placa de Desarrollo Arduino UNO. Conector USB tipo A/B. Cable de red tipo RJ-45. 1 Protoboard. Resistencias de 220 ohm. Diodos LED.

Procedimiento
Se conectaran dos notebooks y dos placas Arduino Uno con Ethernet Shield, a las salidas que tiene el router a utilizar en la experiencia. Resetear el router para que tome los datos de fbrica y poder determinar nuevas direcciones de ip para su posterior utilizacin.

La topologa que se utilizara para la conexin de red Lan es de tipo Estrella.

Figura 5. Conexin Topologa Tipo Estrella.

La direccin IP que viene configurada por defecto de fbrica que tiene el router es el dominio 192.168.1.1, despus se asignaran diferentes host a los Notebook y el Arduino Uno para poder comunicarse con el router, estas direcciones tienen la misma mascara de subred 255.255.255.0 y Gateway. Para habilitar el mdulo Arduino con Ethernet Shield,se procede a montar el mdulo Ethernet a la placa de Arduino. Bsicamente, el mdulo Ethernet le da al Arduino la capacidad de contar con una direccin IP, una mscara de subred y una puerta de enlace o Gateway, lo cual sirve para que, eventualmente, el Arduino pueda ser activado y controlado dentro de una arquitectura LAN. Este mdulo naturalmente cuenta con su entrada de red para poder enviar y recibir datos, en este caso en particular recibir un bit (1) en una salida digital, por donde se activar un diodo LED como muestra la figura 6.

Figura 5. Mdulo Arduino con Ethernet Shield.

En este procedimiento se conecta fsicamente el PC con el Router y se conecta fsicamente el Arduino con Ethernet Shield con el Router, mediante un cable de red cat.5e con conector tipo RJ45, como aparece en la figura 6.

Figura 6. Conexin fsica de enlace con el Router.

Luego se darn direcciones a los equipos a controlar cada uno con un host diferente, para poder conectarnos a nuestra red Lan.

Figura 7. Tabla de direcciones IP.

Paso 1: Asignacin de direccin al Notebook.


Para configurar una direccin IP al notebook, se debe ir al cono donde se seleccionan las conexiones cableadas e inalmbricas; y pinchar donde dice Abrir centro de redes y recursos

compartidos.

Figura 8. Configuracin de conexin para una red local.

Despus nos dirigimos a las propiedades en donde pinchamos y accedemos a la ventana de propiedades de la red, seleccionamos en protocolo de comunicacin TCP/IPV4 y pinchamos en propiedades como muestra la figura 9.

Figura 9. Configuracin para el protocolo de comunicacin.

Posteriormente nos saldr una ventana como muestra la figura 10, en donde, se debe habilitar la opcin Usar la siguiente direccin IP, ingresar los datos que se utilizarn, para poder conectarnos a la red lan, de acuerdo a lo discutido anteriormente. Luego se presiona Aceptar y los datos quedan configurados en el quipo.

10

Figura 10. Configuracin para el protocolo de comunicacin.

Como resultado a este procedimiento, estaremos conectado a la red de comunicacin Lan de topologa tipo Estrella. Luego se realizaran pruebas de comunicacin para ver si los equipos se conectaron adecuadamente y as asegurar la transmisin de datos. IMPORTANTE: Para este caso se debe apagar el Wi-fi, si se pretende que las direcciones estticas (es decir, las configuradas previamente) sean vlidas.

11

Paso 2: asignar direccin IP y cargar datos al Arduino.


Para asignarle la direccin ip al mdulo Ethernet del Arduino, se realiza un sketck de Arduino como aparece en figura 11.

Figura 11. Asignacin de ip al mdulo Arduino Ethernet.

Finalmente el sketch se compila y carga al Arduino, a travs de la conexin PC-Arduino que consiste en el cable USB tipo A/B, la parte B va conectada hacia la Arduino. 12

Paso 3: Verificacin de conexin de la Red Lan.


Para verificar las conexiones se ejecutara la aplicacin cmd, ingresaremos en la aplicacin el comando ping 162.168.1.1, este comando enva 4 paquetes de datos a las direcciones a ingresar. Si los datos llegan a destino , significa que la conexin esta establecida.

Figura 12. Pruebas de comunicacin con la aplicacin cmd.

Realizando estas pruebas nos aseguramos que la conexin fsica de los equipos no este fallando. Si se logra enviar un ping al arduino del notebook, significa que todo est listo para transmitir datos.

Luego para asegurar la transmisin de datos, se debe realizar una exploracin al router, desde cualquier navegador de internet. En la barra URL se debe ingresar o poner la direccin del router en este cas 192.168.1.1 ,el cual, dar paso a las configuraciones del router.

El router solicitar un nombre de usuario y una contrasea, estos son datos con los que se debe contar. En este caso (y por defecto) el router viene configurado con los siguientes datos: User: admin

13

Pass: admin Al querer ingresar al router desde el navegador, estos datos sern solicitados automticamente a travs de un cuadro de texto, solo hay que ingresarlos. Si todo est correcto, se debe poder visualizar el men de configuracin del router, esto indica que se tiene acceso al router desde el PC, mediante el cable RJ-45.

Paso 4: Telnet/ Habilitar servidor en Arduino.


El protocolo Telnet es un sistema de transmisin de datos que se ejecuta desde la consola cmd. Es un protocolo orientado a la transmisin de datos (tipo TCP), y es uno de los protocolos ms antiguos y utilizados. Su principal ventaja es que es ejecutable directamente desde la consola y no involucra mayor complejidad en cuanto a software. Su desventaja es que la transmisin de datos no est encriptada, por tanto es susceptible a ser espiada y vulnerada mediante un sniffer u otro medio para hackear una red. Es importante recordar que si el notebook tiene Windows 7 de sistema operativo, se debe habilitar dese el Panel de Control la opcin de utilizar telnet dese Windows 7.

Se debe habilitar el Arduino como servidor telnet. Para ello se debe cargar otro sketch en el Arduino, este est en el siguiente enlace: http://forum.arduino.cc/index.php/topic,8533.0.html

Una vez cargado correctamente en el Arduino, se procede a la comunicacin Entre el PC y el Arduino.

14

Paso 7 : Comunicacin Telnet PC-Arduino.

Finalmente, desde la consola cmd se debe acceder al Arduino. Los comandos son los siguientes: Telnet 162.198.1.3: No se especifica el nmero de puerto, ya que el puerto n23 viene configurado por defecto en el sketch que fue cargado al servidor-Arduino. Luego si todo fue cargado correctamente, se ingresa al men, y desde all se ejecuta el comando dw9= hi, lo cual significa que se escribir en la salida digital nmero 9 del Arduino, la seal HIGH; es decir, se le enviarn 5v a la salida n9. En la Arduino se tendr un led conectado a la salida digital n9, armado en el protoboard junto con una resistencia limitadora de 220 ohm. En las siguientes imgenes puede verse el montaje final y su topologa.

Figura 13. Experiencia de prender un led con comunicacin telnet..

15

Conclusin

Al realizar las experiencias planteadas en este informe, nos percatamos de que la nica limitante para el Arduino es la imaginacin. La factibilidad de habilitar al arduino desde una conexin de rea local a un puerto abierto de entrada/salida, la capacidad de evaluacin de transmitir datos para luego decidir una accin y poder controlar los dispositivos externos, hacen que el Arduino sea el cerebro de los equipos. Estas experiencias nos hace ver que esta herramienta de trabajo es totalmente potente para desarrollar proyectos a futuro en cualquier mbito laborar o personal. Algunas reas en donde se puede utilizar su aplicaciones y utilizar su mximo funcionamiento es en la electrnica industrial (automatizaciones), comunicaciones e interfaces con otros equipos (conexin rea local, USB), interfaces con otros microcontroladores, equipos de mediciones y de diagnstico, equipos para la adquisicin de datos, servo mecanismos e interfaces con otros dispositivos de lgica TTL; como por ejemplo, teclados, pantallas LCD, sensores, memorias, potencimetros digitales, entre otros.

16

ANEXOS
Anexo 1: Especificaciones Tcnicas del Router.
CARACTERSTICAS DEL HARDWARE 4 puertos LAN de 10/100Mbps 1 puerto WAN 10/100Mbps Botn de configuracin rpida de seguridad Botn de reinicio 9VDC / 0.6A IEEE 802.11n*, IEEE 802.11g, IEEE 802.11b omnidireccional fijo de 5dBi

Interface

Botn

Suministro de Energa Externa Estndares Inalmbricos Antena Dimensiones (Largo x Ancho x Alto)

6.9 x 4.6 x 1.3 in. (174 x 118 x 33 mm)

CARACTERSTICAS INALMBRICAS Frecuencia 2.4-2.4835GHz 11n: Hasta 150Mbps (dinmico) 11g: hasta 54Mbps (dinmico) 11b: hasta 11Mbps (dinmico) <20dBm(EIRP) 130M: -68dBm@10% PER 108M: -68dBm@10% PER 54M: -68dBm@10% PER 11M: -85dBm@8% PER 6M: -88dBm@10% PER 1M: -90dBm@8% PER

Velocidad de Seal

EIRP

Sensibilidad de Recepcin

17

CARACTERSTICAS INALMBRICAS Activar / Desactivar radio inalmbrica, WDS Bridge, WMM, estadsticas inalmbricas 64/128/152-bit WEP / WPA / WPA2,WPA-PSK / WPA2-PSK

Funciones Inalmbricas

Seguridad Inalmbrica

Anexo 2: Cdigo de Arduino Telnet Server.


void setPinMode() // if we got here, textBuff[0] = 'p' { int pin = -1; int pinModeSetting = -1; if (textBuff[1] == 'm' && textBuff[3] == '=' && textBuff[6] == 0x0d) { //if yes, get the pin number, setting, and set the pin pin = parseDigit(textBuff[2]); pinModeSetting = parseModeSetting(); if(pin > -1 && pinModeSetting == 0) { pinMode(pin, OUTPUT); client.println("OK"); } if(pin > -1 && pinModeSetting == 1) { pinMode(pin, INPUT); client.println("OK"); } if(pin < 0 || pinModeSetting < 0) printErrorMessage(); } else printErrorMessage(); }

int parseModeSetting() //look in the text buffer to find the pin setting //return -1 if not valid { int pinSetting = -1; if(textBuff[4] == 'o' && textBuff[5] == 'u') pinSetting = 0; if(textBuff[4] == 'i' && textBuff[5] == 'n') pinSetting = 1; return pinSetting; }

int parseDigit(char c) { int digit = -1; digit = (int) c - 0x30; // subtracting 0x30 from ASCII code gives value if(digit < 0 || digit > 9) digit = -1; return digit; }

void printErrorMessage() { client.println("Unrecognized command.

? for help.");

18

void checkCloseConnection() // if we got here, textBuff[0] = 'c', check the next two // characters to make sure the command is valid { if (textBuff[1] == 'l' && textBuff[2] == 0x0d) closeConnection(); else printErrorMessage(); }

void closeConnection() { client.println("\nBye.\n"); client.stop(); connectFlag = 0; }

void printHelpMessage() { client.println("\nExamples client.println(" dr 9"); client.println(" dr4 client.println(" ar client.println(" dw0=hi 9"); client.println(" dw0=lo 9"); client.println(" aw3=222 222"); client.println(" client.println(" client.println(" pm0=in 0 to 9"); client.println(" pm0=ou 0 to 9"); client.println(" cl client.println(" ? }

of supported commands:\n"); -digital read: returns state of digital pins 0 to -digital read: -analog read: -digital write: -digital write: -analog write: returns state of pin 4 only"); returns all analog inputs"); turn pin 0 on valid pins are 0 to turn pin 0 off valid pins are 0 to set digital pin 3 to PWM value allowed pins are 3,5,6,9"); allowed PWM range 0 to 255"); set pin 0 to INPUT valid pins are set pin 0 to OUTPUT valid pins are

-pin mode: -pin mode:

-close connection"); -print this help message");

19