#eletrônica
Arduino Ethernet Shield Based On Wiznet W5100 Ethernet $35.71
https://www.goodluckbuy.com/arduino-ethernet-shield-based-on-wiznet-w5100-ethernet.html
Comprei 30/04
Recebi 26/05
Eu esqueci de comentar aqui que recebi meu primeiro arduino faz tempo. Esta semana chegou essa placa para conexão do Arduino à rede. Infelizmente vou ter que fazer os posts fora de ordem e falar da dessa placa primeiro.
Eu acho essa placa muito cara (e ficou US$3 mais cara desde que comprei). Quis tê-la para poder comparar sua funcionalidade com a de outras opções, mas não pretendo usá-la em projetos a não ser que seja realmente necessário.
Tirando o fator preço, o brinquedinho entusiasma. Só precisei compilar o projeto que está disponível na página da GLB (eu alterei o IP no código fonte para conferir com minha rede) e fazer o upload para o Arduino. Acessando o endereço por qualquer browser na rede eu tenho acesso às leituras analógicas do Arduino.
E mesmo sem entender lhufas de Arduino, eu consigo entender o que o programa de exemplo faz e modificá-lo. Claro, minha bagagem em Delphi, redes, HTML e protocolo HTTP ajudam.
O programa de exemplo tem uma interface bem tosca, mas acredito que seja possível, usando um HTML mais elaborado e colocando imagens em um cartão SD no conector incluído na placa, exibir uma interface mais bonita. No meu caso, isso não é importante, pois eu posso criar um programa em Delphi que faça a "ponte", coletando os dados e exibindo-os de uma forma visualmente mais rica e agradável.
O único empecilho para eu não usar isso até na máquina de lavar é o danado do preço.
Outras opções são:
https://www.goodluckbuy.com/enc28j60-ethernet-shield-for-arduino-duemilanove.html
ou, quando a distância permite:
https://www.goodluckbuy.com/arduino-serial-bluetooth-rf-transceiver-module-rs232-passive.html
Este shield está significativamente mais barato (parece que é promoção) direto na fonte: US$28
http://www.dfrobot.com/index.php?route=product/product&keyword=ethernet+shield&category_id=0&description=1&model=1&product_id=52
A princípio eu achei que não fosse negócio porque quando você chega no checkout descobre que A DFROBOT cobra US$3.30 de envio e sem seguro. Mas olhando o detalhamento nós vemos que não tem seguro mas tem tracking!
http://www.dfrobot.com/index.php?route=information/information&information_id=6
A página da DFROBOT diz:
"The SD card is not supported in this version"
É pra lá de estranho ver os caras desperdiçarem um conector SD (mesmo sabendo que é muito barato) na placa se ele não serve para nada. A não ser que a intenção seja iludir quem olha apenas as figuras.
Eles tem um outro modelo que supostamente tem o suporte ao SD:
http://www.dfrobot.com/index.php?route=product/product&keyword=ethernet+shield&category_id=0&description=1&model=1&product_id=455
É mais caro, mas ainda assim vale mais a pena comprar lá do que na GLB
Segundo a documentação oficial, apenas um pode ser usado de cada vez. Ou você usa o cartão SD, ou a interface ethernet:
http://arduino.cc/en/Main/ArduinoEthernetShield
Eu não sei ainda se é possível chavear isso rapidamente. Mas para mim fica claro que não é possível fazer uma interface WEB que puxe imagens do cartão, ou criar programas que me permitam ler o conteúdo do cartão pela rede.
Este shield não funciona em conjunto com o shield LCD. Mais informações, incluindo um modo de contornar o problema (não testado), aqui:
http://arduino.cc/forum/index.php?PHPSESSID=8bacc3bb4bcf20e07b4809c88d785381&topic=51272.0
Este shield custa tão caro que em alguns casos o uso deste aparelho pode ser atraente:
https://www.goodluckbuy.com/rs232-to-tcp-ip-ethernet-serial-server-converter-device.html
Por exemplo, se basicamente o que você tem em mente é fazer uma interface com um dispositivo RS232, o custo do arduino + shield já ultrapassa o custo da solução pronta.
Jefferson, segundo o site diz que é possivel "servir arquivos" na rede pelo cartão de memoria:
"The shield contains a micro-SD card slot, which can be used to store files for serving over the network. It is compatible with the Arduino Uno, Mega, and previous models. The SD card can be accessed using the SD library."
No texto diz que são usados cada um por vez, mas dá para acessar o cartão e servir o arquivo em rede.
Eu só não faço idéia de como fazer isso. Os exemplos são bem toscos.
Além disso, o texto oficial pode se referir à versão nova da placa, que se distingue da antiga por usar cartões microSD.
Eu fiz um teste rápido com o exemplo oficial e ele não consegue sequer inicializar o cartão. Fui conferir o hardware e as conexões são completamente diferentes do que a biblioteca oficial espera.
No programa:
MOSI – Pin 11
MISO – Pin 12
CLK – Pin 13
CS – Pin 4
No shield:
MOSI – Pin 8
MISO – Pin 3
CLK – Pin 9
CS – Pin 6
Usando essa informação como base, eu encontrei documentação a respeito do problema:
http://www.arduino.cc/playground/Main/EthernetShieldSDHardwareSPIMod
Quando o fabricante diz "not supported" ele não quer dizer que não funciona, mas que você precisa criar suas próprias rotinas de acesso, porque a pinagem escolhida não é oficialmente suportada.
Eu ainda não tentei fazer as modificações sugeridas.
Mas é bom ter em mente que conectar um cartão SD ao Duemilanove parece ser uma simples questão de soldar seis fios a um conector como este (12 cents a unidade):
https://www.goodluckbuy.com/sd-memory-card-connector-socket-medium-10-pack.html
Os shields comerciais tem mais componentes além do conector SD. Um deles é um conversor 5V->3.3V, mas a placa do duemilanove já tem um. O resto são resistores e um capacitor. Nada que justifique os US$12+ que cobram pelo shield, pois dá para fazer a gambiarra por um dólar.
Descobri o propósito dos resistores. A lógica do arduino opera em 5V enquanto o cartão SD opera em 3.3V. Os resistores formam três divisores de tensão para corrigir isso:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206874649/8
Alguns designs usam um buffer 74LS245 para essa tarefa. O que me parece uma complicação e um desperdício de espaço e dinheiro:
http://www.sparkfun.com/datasheets/DevTools/Arduino/microSD_Shield-v13%20Schematic.pdf
http://www.ladyada.net/make/logshield/lighttemp.html
Um detalhe que requer atenção é que, segundo minha medição, o slot SD do shield Ethernet é conectado diretamente ao bus SPI, sem resistores.
Jefferson,ACHO que o uso do 74LS245 é porque divisor resistivo deve consumir mais que o 74LS…
Essa seria uma boa razão. Mas se eu não estou derrapando na matemática, cada divisor sugerido consome 1mA. Os três consomem 3mA, e apenas quando o nível do sinal estiver alto em cada um. Se for possível colocar o bus SPI em low quando não estiver em uso então só há consumo quando houver acesso ao cartão (desprezando outros dispositivos no bus).
Dificilmente eu colocaria um 74LS245 no projeto só por isso.
Edit: A não ser que seja para um projeto que obrigatoriamente vai operar por baterias. Mas essa é uma exceção e não a regra. Se eu for pagar por um shield SD industrializado, eu espero que venha com um 74LS245. Mas para fazer a minha própria solução em casa é bom saber que ele é dispensável.
De agora em diante eu vou seguir o jargão do Arduino e escrever "sketch" no lugar de "programa".
http://www.arduino.cc/en/Tutorial/Sketch