Arduino Uno + Ethernet Shield W5100

Hello World...



Algumas alterações foram feitas em nosso projeto. Trocamos o ESP 32, por não ter conseguido trabalhar muito bem com as conexões e funcionalidades dele, entao iremos usar um Arduino Uno + Ethernet Shield W5100. Os sensores e objetivo continuam o mesmo.



Arduino Uno




O componente principal da placa Arduino UNO é o microcontrolador ATMEL ATMEGA328, um dispositivo de 8 bits da família AVR com arquitetura RISC avançada e com encapsulamento DIP28. Ele conta com 32 KB de Flash (mas 512 Bytes são utilizados pro bootloader), 2 KB de RAM e 1 KB de EEPROM. Pode operar a até 20 MHz, porém na placa Arduino UNO opera em 16 MHz, valor do cristal externo que está conectado aos pinos 9 e 10 do microcontrolador. 
Possui 28 pinos, sendo que 23 desses podem ser utilizados como I/O . A imagem abaixo exibe a sua pinagem:






Especificações Uno:


– Microcontrolador: ATmega328

– Tensão de Operação: 5V
– Tensão de Entrada: 7-12V
– Portas Digitais: 14 (6 podem ser usadas como PWM)
– Portas Analógicas: 6
– Corrente Pinos I/O: 40mA
– Corrente Pinos 3,3V: 50mA
– Memória Flash: 32KB (0,5KB usado no bootloader)
– SRAM: 2KB
– EEPROM: 1KB
– Velocidade do Clock: 16MHz


Alimentacao 


A placa pode ser alimentada pela conexão USB ou por uma fonte de alimentação externa, feita através do conector Jack com positivo no centro,  é recomendado para tensões de fonte externa valores de 7V. a 12V. Conforme exibido na figura abaixo:




Existe na placa um regulador de 3,3V. (U2- LP2985), este componente é responsável por fornecer uma tensão continua de 3,3V para alimentação de circuitos ou shields que necessitem desse valor de tensão. 

Abaixo conseguiguimos visualisar os conectores de alimentação para conexão de shields e módulos na placa Arduino UNO:




IOREF - Fornece uma tensão de referência para que shields possam selecionar o tipo de interface apropriada, dessa forma shields que funcionam com a placas Arduino que são alimentadas com 3,3V. podem se adaptar para ser utilizados em 5V. e vice-versa.
RESET - pino conectado a pino de RESET do microcontrolador. Pode ser utilizado para um reset externo da placa Arduino.
3,3 V.  - Fornece tensão de 3,3V. para alimentação de shield e módulos externos. Corrente máxima de 50 mA.
5 V - Fornece tensão de 5 V para alimentação de shields e circuitos externos.
GND  - pinos de referência, terra.
VIN - pino para alimentar a placa através de shield ou bateria externa. Quando a placa é alimentada através do conector Jack, a tensão da fonte estará nesse pino.


Entradas e saidas 


A placa Arduino UNO possui pinos de entrada e saídas digitais e analogicas, possui 14 pinos que podem ser usados como entrada ou saída digitias. Estes Pinos operam em 5 V, abaixo é exibido a pinagem conhecida como o padrão Arduino:



PWM : 3,5,6,9,10 e 11 podem ser usados como saídas PWM de 8 bits através da função analogWrite();
Comunicação serial: 0 e 1 podem ser utilizados para comunicação serial. Deve-se observar que estes pinos são ligados ao microcontrolador responsável pela comunicação USB com o PC;
Interrupção externa: 2 e 3 . Estes pinos podem ser configurados para gera uma interrupção externa, através da função attachInterrupt().

A figura a seguir exibe a relação entre os pinos do microcontrolador ATMEL ATMEGA328 e a pinagem do Arduino UNO:




Resumo de principais componentes







Ethernet Shield W5100


Ethernet Shield W5100 é uma placa que permite ao Arduino se conectar a uma rede local ou a internet. O mesmo possui o chip Wiznet W5100 e suporta até quatro conexões de socket simultaneamente. O shield possui um slot para cartão de memória (micro SD), onde é possível armazenar arquivos que podem ser enviados pela rede local / internet, e possui também bibliotecas para serem utilizadas pelo Arduino.
Foi desenvolvido para suprir a necessidade de conexão do Arduino à Internet, visto que me muitas vezes é preciso acessar ou controlar de forma remota o Arduino, e ao utilizar o Shield necessidade é resolvida, pois ao acopla-lo em cima do microprocessador, conecta-lo ao roteador/modem através de um cabo de rede RJ45 e inserir o código fonte no Arduino. E mesmo acoplado na parte de cima do Arduino, você ainda pode utilizar a maior parte das portas digitais e analógicas da placa.

 Especificações e características:

– Controlador: W5100
– Tensão de operação: 3,3V 
– 5VDC– Velocidade de conexão: 10 / 100Mb
– Protocolos Suportados: TCP / IP, UDP, ICMP, ARP IPv4, IGMP, PPPoE, Ethernet
– Suporte (Full-duplex e half-duplex)
– Suporte a conexão ADSL (PPPoE com PAP / CHAP no modo de autenticação)
– Suporte a 4 conexões independentes simultaneamente
– Memória Interna: 16Kb para buffers de Tx / Rx
– Conexão com o Arduino através de SPI 



Conexão Arduino e Ethernet Shield W5100


Alguns pinos do Arduino serão de uso exclusivo do Shield. Os pinos digitais utilizados pelo shield são 10, 11, 12 e 13. O pino digital 4 também é utilizado para selecionar o uso do micro cartão de memória.

A biblioteca Ethernet.h é responsável pela comunicação que será estabelecida entre o Arduino UNO e a rede através do Shield ethernet wiznet w5100. Já a biblioteca SPI.h  tem como função coordenar a integração do shield citado com o Arduino UNO por meio do protocolo de comunicação SPI.




As bibliotecas MySQL_Connection MySQL_Cursor têm como função promover a conexão Arduino UNO/servidor MySQL e executar as sentenças de manipulação de informações em um banco de dados.
Para que haja conexão entre o Arduino e o Ethernet Shild não é possível criar um banco de dados local (via LocalHost), neste caso somente usando http (www.bd4free.com). Alem da necessidade de criar um arquivo.sh (na IDE do Arduino).
Apos criar o arquivo.sh, salve na pasta do Aduino ( c://documentos/Arduino). Chame ele no comando principal.






No arquivo.sh deve contar as informações de rede wireless e do bando de dados. No arquivo README.md contem as informações.


Como estamos usando o Ethernet Shield, somente via cabo, não precisa dos dados de rede.  A configuração se da no comando principal via IP da rede.


O código completo usado em nosso projeto você encontra no GitHub do Felipe.




Projeto finalizado

OBS: O suporte de madeira foi feito pelo Felipe, ele conseguiu deixar os sensores, Arduino e "aquário" integrados de forma organizada e clara.


















Nesse projeto conseguimos integram Software com Hardware de forma simples e clara. Encontramos alguns problemas pelo caminho, trocamos de microprocessador, mas no final conseguimos executa-lo  com o objetivo inicial concluído, litura e armazenamento de Temperatura e pH, e desenvolvimento de um site.

World, esse é nosso projeto, espero que tenham gostado e se quiserem nos mandraqueira seu Feedback ficaremos muito felizes. 

Sem comentários:

Enviar um comentário