Está en la página 1de 7

COMO MOSTRAR PINES ANALÓGICA POR LA WEB CON SHILD

ETHERNET DE ARDUINO

La placa Shield Arduino Ethernet W5100 permite al Arduino conectarse a


Internet. Está basada en el chip Ethernet Wiznet W5100 que provee una pila de
red IP capaz de manejar TCP y UDP. Esta placa soporta hasta cuatro sockets
de conexión simultáneos. Se puede usar la librería Ethernet de Arduino para
escribir programas que se conectan a Internet usando esta placa.

El shield contiene un número de LEDs para información:


 PWR: indica que la placa y la shield están alimentadas
 LINK: indica la presencia de un enlace de red y parpadea cuando la
shield envía o recibe datos
 FULLD: indica que la conexión de red es full duplex
 100M: indica la presencia de una conexión de red de 100 Mb/s (de forma
opuesta a una de 10Mb/s)
 RX: parpadea cuando la shield recibe datos
 TX: parpadea cuando la shield envía datos
 COLL: parpadea cuando se detectan colisiones en la red

- Video Demostrativo
- Contenido del video
- Diagrama del circuito

- Descargas
- Características principales del Shield Ethernet
El shield actual tiene un módulo de alimentación a través de Ethernet ( PoE), diseñado para
extraer energía de un cable Ethernet convencional de par trenzado :
-
- compatible con IEEE802.3af
- ondulación baja producción y el ruido ( 100mVpp )
- Entrada rango de voltaje de 36V a 57V
- Sobrecargas y corto circuito de protección
- salida 9V
- Alta eficiencia del convertidor DC / DC : tip @ 75 % de carga de 50 %
- aislamiento 1500V ( entrada a la salida )

- La placa contiene también una ranura para conexión de tarjetas Micro


SD que pueden ser usadas para almacenar archivos para servirlos sobre
la red. Es compatible con Arduino Uno y Mega.

- Soporta tarjeta Micro SD hasta 16GB.


- El botón de reset en la shield resetea ambos, el W5100 y la placa
Arduino

Descripción del Hardware

necesitaremos:

- Shiel Ethernet
- Arduino uno
- Cabla de red
- Router

Tenemos que cargar el código a la placa arduino, montar el shiel Ethernet


y conectar el cable de red a la conexión JP45 del shiel Ethernet y el otro
extremo del cable al router.

- Funcionamiento del Shield Ethernet


El arduino se comunica tanto con el W5100 y una tarjeta SD usando el bus SPI (a
través de la cabecera ICSP ) . Esto es en los pines digitales 10, 11, 12 , y 13 en el
Uno y los pines 50 , 51 , y 52 en los Mega . En ambas tablas , el pin 10 se utiliza
para seleccionar el W5100 y el pin 4 para la tarjeta SD . Estos pines no se pueden
utilizar por lo general. En los Mega , el pin de hardware SS 53, no se utiliza para
seleccionar el W5100 o la tarjeta SD , pero debe mantenerse como una salida o la
interfaz SPI no va a funcionar .

Al conectarse el cable Ethernet de un extremo al JP45 y el otro extremo


al Router. El shield Ethernet manda los mensajes de los puertos analógicos
que mostramos en este proyecto.

- Listado del Programa (código detalladamente comentado)

Un servidor web simple que muestra el valor de los pines de entrada analógica.
Utilizando un Arduino shield Ethernet Wiznet.  

Circuito:
 * El shield Ethernet conectado a los pines 10 , 11, 12 , 13  

* Las entradas analógicas conectadas a los pines A0 a A5 (opcional )

#include <SPI.h>

#include <Ethernet.h>

// Introduzca una dirección MAC y la dirección IP para el dispositivo de abajo.


// La dirección IP será dependiente de la red local :

byte mac[] = {

0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED

};

IPAddress ip(192, 168, 1, 177);

// Inicializar la libreria de servidor Ethernet


// con la dirección IP y el puerto que desea utilizar

// (El Puerto 80 es el valor predeterminado para HTTP):

EthernetServer server(80);

void setup() {

// Abre el puerto serial de comunicación y espera:

Serial.begin(9600);

while (!Serial) {

; //poner un delay para que se conecte el puerto.

// solo necesario para Leonardo.

// Inicia la conexión y el servidor:


Ethernet.begin(mac, ip);

server.begin();

Serial.print("server is at ");

Serial.println(Ethernet.localIP());

void loop() {

// detectar los clients entrantes

EthernetClient client = server.available();

if (client) {

Serial.println("new client");

// una petición HTTP termina con una línea en blanco

boolean currentLineIsBlank = true;

while (client.connected()) {

if (client.available()) {

char c = client.read();

Serial.write(c);
/*Si se ha llegado al final de la línea (recibió un carácter de nueva línea ) y
la línea está en blanco , la petición HTTP ha terminado, por lo que puede enviar
una respuesta */

if (c == '\n' && currentLineIsBlank) {


//enviar un encabezado de respuesta HTTP estándar
client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html");

client.println("Connection: close");

// la conexión se cierra después de la compilación de la respuesta.

client.println("Refresh: 5");
// actualizar la página cada 5 segundos.

client.println();

client.println("<!DOCTYPE HTML>");

client.println("<html>");

client.print("<h1>TecBolivia!</h1>");

// salida del valor de cada pin de entrada analogía

for (int analogChannel = 0; analogChannel < 6; analogChannel++)


{

int sensorReading = analogRead(analogChannel);

client.print("analog input ");

client.print(analogChannel);

client.print(" is ");

client.print(sensorReading);

client.println("<br />");

client.println("</html>");

break;

if (c == '\n') {

// se inicia una nueva línea.

currentLineIsBlank = true;

else if (c != '\r') {

// ha llegado a un carácter en la línea actual


currentLineIsBlank = false;

// dar tiempo a la web para recibir los datos

delay(1);

// cierre la conexión:

client.stop();

Serial.println("client disconnected");

Conclusión

También podría gustarte