Galera, boa noite

Antes de me apresentar, gostaria de informar a todos que já todos os tópicos possíveis e imposíveis referentes ao assunto acima citado.

Meu nome é Pablo, sou de Guarulhos / SP e sou novato no Arduíno. Conheci o produto através de um amigo que é garagista, me interessei pelo conceito e hoje estou aqui seguindo o forum a cada 10 minutos.

Fiquei desesperado por uma placa Arduino 2009 e fui logo ao ML, onde comprei uma com o tal shield Ethernet. Tudo lindo e maravilhoso até que resolvi testar os exemplos que acompanham a versão 1.0 da IDE. Nenhuma delas funcionou...

Persistente, passei o final de semana todo do Natal lendo, buscando apostilas, lendo tópícos dos desenvolvedores e comecei a avançar no assunto. Notei que existem zilhôes de bibliotecas para este chipset ENC28J60 e que os nomes dos exemplos que acompanham (#include XXX) varia de maiúsculo, variam de nome e quando vc encontra uma que parece bacana, ela dá erro ao compilar.

 

Já instalei a tal biblioteca do Turicas no diretório Libraries/Ethernet do Arduino removendoos exemplos originais mais o diretorio utility. Quando tentei compilar um dos exemplos dele, dá erro... Notei que a Sintaxe de alguns começa com #include "EthernetShield.c", já mudei pra #include <EthernetShield.c> (de acordo com a bilioteca que estou testando) mas nada funciona.

Notei também que o MAC ADDRESS do chip muda de versão de bilbioteca pra versão...Consegui modificar um exemplo de WebServer e funcionou, sem a opção de botôes para acionar saídas.

Será que fiz uma péssima opção adquirindo esta placa ENC28J60? É utopia fazer esta placa funcionar de uma forma "justa e perfeita" ? rs

Ultimo comentário: Quando eu resolvo os problemas de compilação, sempre falta um comando dentro do arquivo EtherShield.C que não deixa compilar... é de doer o coração.

 

Alguém sofreu assim tb? Pensei até em pegar minhas tralhas, passar sabadão lá na Sede do LAB e pedir ajuda pros Universitários....

 

OBS: Já falei com o Alvaro pedindo uma data para o curso aqui em SP.... rs

 

Abraços,

 

.´. Pablo / Guarulhos/ SP .´.

Exibições: 1821

As respostas para este tópico estão encerradas.

Respostas a este tópico

Bom cara, vamos por partes...

primeiro, era bom se vc dissesse quais os erros que o compilador mostra, fica facil concentrar no problema...

Algumas considerações preliminares:

Da versao 0022 do sdk do arduino pra versao 1.0 mudou pouquissimo. Mas mudou o suficiente pra ferrar muita gente...

Mas, na maioria dos casos, o que mudou foi o nome de referencia das bibliotecas...

WProgram.h, por exemplo, nao existe mais, foi substituida pela Arduino.h

entao onde tem

#include <WProgram.h> 

voce tem que trocar por

#include <Arduino.h>

OU, caso vc nao queira alterar todas as bibliotecas antigas, no diretorio pastadoarduino/cores/arduino vc pode criar  um WProgram.h com o seguinte conteudo

#include <Arduino.h>

a sintaxe. pelo que percebi, #include <Arduino.h> com <>  quer dizer que o arquivo referido esta na pasta  "cores"... e entre "" quer dizer que esta "no caminho" da propria biblioteca... pelo que percebi, nao li documentaçao a respeito, MAS, se a biblioteca foi feita de um jeito e funcionava na versao 0022, vai funcionar do mesmo jeito na versao 1.0 desde que vc faça referencia aos arquivos que mudaram de nome certo...

Mac Address: de todos os shields ethernet que usei, vc muda o mac address pelo codigo, ele nao "pre-gravado", vc define ele via código.

Bom, eu tive poucos problemas na migraçao da 0022 pra 1.0, e olha que meu projeto foi compilado na 1.0 no ultimo dia( http://labdegaragem.com/profiles/blogs/robo-controlado-pela-interne... ) !! Ou seja, eu instalei o sdk novo, feliz, fui compilar e puff, um monte de erro... mas lendo o erro do compilador eu logo saquei o lance do wprogram, e do novo jeito de chamar as chasses do ehernet shield...

Bom, espero que isso ajude a "começar" a entender o problema... eu sei que eu tambem vou ter uma bucha danada com outra coisa que tem bibliotecas bizarras: o Black Widow(um arduino com wi-fi imbutido, a biblioteca nao segue o emsmo padrao do ethernet shield que usei)

Grande Wagner, obrigado pelos esclarecimentos, mas surgiu um outro ponto duvidoso: Vc citou que as bibliotecas deveriam estar na pasta do arduino/cores/arduino. Na versão 1.0 (a minha) não tem este path, seria então o tal "pastadoarduino/libraries/ethernet(no meu caso)/" ?

Outro ponto: As minha bibliotecas estão salvas apenas dentro do caminho acima, e notei que cada diretorio dentro do libraries tem suas proprias bibliotecas. Existe uma forma de deixar tudo num lugar só para acesso "universal" ?

 

Pra finalizar: no meu diretorio arduino (baixei do site arduino.cc) não tem nenhuma biblioteca com o nome Arduino.h ou WProgram.

 

Mais uma vez, muito obrigado a todos pelo apoio.

 

"Sozinhos somos fortes, juntos somos imbatíveis!"

 

Pablo

C:\arduino-1.0\hardware\arduino\cores

esqueci o "hardware"

enfim, essa é a pasta que ficam os "includes" core do arduino, e as bibliotecas "externas" que vc coloca no "libraries" podem fazer includes de arquivos que existiam nas versoes antigas do sdk do arduino, mas nao na moderna... Nesse caso é so achar o que corresponde. No meu caso, foi só o WProgram, mas sabendo disso fica bem mais facil "achar" o problema.

Eu já usei esse shield com o chip ENC28J60 http://www.filipeflop.com/ethernet-shield-arduino-enc28j60_iZ62XvZi...

Comprei no Mercado Livre por R$35,00 mais ou menos.

Não tinha encontrado uma biblioteca que funcionava corretamente, então fui ajustando-a. Os problemas encontrados eram simples, e não tive muito trabalho. Infelizmente, numa bobeira minha num backup, perdi muitos dos meus arquivos e isso foi embora junto.

Já ta na minha listinha pra refazer. Aproveito e posto no www.efeitonerd.com.br

O MAC muda mesmo, é o endereço físico.

Você não fez uma péssima opção. :) Funciona sim!

Abraços! Bons projetos!

Olá Felipe, muito obrigado. Estou seguindo o efeito NERD e já fiz meu LCD 16x2 funcionar igual ao seu projeto....

Obrigado pela resposta.

 

Abraço,

 

Pablo

Cara.

Conseguiu fazer o bixo funcionar ? atualmente estou usando o shield original (wiz5100) mas estou pensando em migrar para o enc28j60 quando o projeto que estou desenvolvendo estiver pronto. o enc28j60 é mais fácil de achar !! e mais barato tb !

Também estou em guarulhos, se quiser trocar umas figurinhas estamos aí !!

Olá Gino, bom dia

Obrigado pelo retorno, mas ainda não conseguir dominar o "danado"...rs anote meu email: pablo@sidel.com.

Moro na região do Bosque Maia, sou Engenheiro mas não atuo na áera.

 

Abraço

 

Pablo

Poxa cara, moro próximo a padaria escorpião, na timóteo penteado, tamo perto heim... rsss

Mande um email, minha rua é uma travessa da Timoteo.

Não diria que é uma péssima opção, mas você precisa estar ciente das limitações do ENC28J60. Este chip tem os níveis PHY e MAC do Ethernet, portanto as camadas superiores (IP, UDP, TCP, etc) precisam ser implementadas no Arduino. Um exemplo que vi continua uma implementação bem limitada.

Uma outra opção mais cara são os shields baseados no Wiznet W5100, neste caso os protocolos IP, UDP e TCP estão no próprio chip, simplificando o uso.

Obrigado Daniel...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço