ESTUDANDO O MUNDO ARDUINO:E ANTECIPANDO O FUTURO:
SENSOR  INTERNET

acessar com  www.ebanataw.com.br/arduino/expinternet.htm

O Módulo Ethernet ENC28J60, é um sensor que pemite ao Arduino comunicar-se via INTERNET.

CONEXÕES:

A comunicação do módulo sensor Internet com o Arduino é feita através de 10 pinos que têm os seguintes significados:

  MÓDULO INTERNET ARDUINO
1 CLKOUT não usado
2 WOL não usado
3 SI D11
4 CS D10
5 VCC 3V3
6 INT D2
7 SO D12
8 SCK D13
9 RESET RESET
10 GND GND

Como componente de entrada da montagem, vamo empregar um Sensor de Temperatura LM-35. Mais detalhes sobre o funcionamento deste sensor de temperatura em .

PROGRAMA:

Específico para o módulo sensor Ethernet ENC28J60.

Para enviar os dados do sensor e do potenciômetro para o Arduino, vamos utilizar duas bibliotecas, a ETHER_28J60 (download ETHER_28J60) e a etherShield (download ethershield). Descompacte os dois arquivos e coloque as pastas correspondentes dentro da pasta LIBRARIES da IDE do seu Arduino.

Essas bibliotecas são bem práticas pois permitem a criação de páginas html utilizando poucos comandos, como você pode ver no código abaixo.

A linha com o comando static uint8_t ip[4] = {192, 168, 1, 199} é a responsável por determinar o endereço IP da placa na sua rede. Adapte essa linha às especificações da sua rede local e conecte o módulo ao seu roteador ou hub utilizando um cabo de rede com conector padrão RJ45.

//Programa : Modulo ethernet ENC28J60 com LM35 e potenciometro
//Autor : FILIPEFLOP
#include "etherShield.h"
#include "ETHER_28J60.h"
 
//Define o MAC da placa de rede. Nao eh necessario alterar
static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};
//Define o endereco IP da sua placa
static uint8_t ip[4] = {192, 168, 1, 199};
 
static uint16_t port = 80;
 
ETHER_28J60 e;
 
int pin = 1;       // Pino analogico para ligacao do LM35
int tempc = 0;  // Variavel que armazena a temperatura em Celsius

// Variáveis para temperatura máxima e mínima:
int maxtemp = -100,mintemp = 100;
int i;
 
void setup()
    {
      //Inicializa a placa com as configuracoes fornecidas
      e.setup(mac, ip, port);
    }
 
void loop()
{
  //Calcula o valor da temperatura:
  tempc = ( 5.0 * analogRead(pin) * 100.0) / 1024.0;
 
  //Armazena a temperatura máxima na variavel maxtemp:
  if(tempc > maxtemp) {maxtemp = tempc;}
  //Armazena a temperatura máxima na variavel mintemp

  
if(tempc < mintemp) {mintemp = tempc;
}
      if (e.serviceRequest())
      {
        e.print("<H1>FILIPEFLOP - Teste ENC28J60</H1><br/>");
        e.print("<b>Valor potenciometro porta analogica 5 : ");
        e.print(analogRead(A5));
        e.print("<br/><br/>");
        e.print("Valor temperatura : ");
        e.print(tempc);
        e.print("&deg<br/><br/>");
        e.print("Temperatura minima : ");
        e.print(mintemp);
        e.print("&deg<br/>");
        e.print("Temperatura maxima : ");
        e.print(maxtemp);
        e.print("&deg<b/>");
        e.respond();
       }

  
delay(100);
}

Teste o programa abrindo um browser e digitando na barra de endereços o IP que você configurou para a sua placa. Será aberta uma tela parecida com essa:


 

NOTA: Este site é mantido pela equipe do engenheiro Roberto Massaru Watanabe e se destina principalmente para adolecentes e estudantes. Pelo caráter pedagógico do site, seu conteúdo pode ser livremente copiado, impresso e distribuido. Só não pode piratear, isto é, copiar e depois divulgar como se fosse de sua autoria.


ET-18\RMW\arduino\expdisplay1digito.htm em 24/03/2018, atualizado em 03/01/2020 .