Ethernet Shield + Live Coding

Tenho um projeto e como ainda sou muito novo na plataforma, tenho uma pergunta simples... Eu consigo alterar diretrizes de um programa dentro do arduino sem necessáriamente carregar um programa novo? Por exemplo usando uma interface grafica local via Ethernet Shield para alterar temporização de uma ação por exemplo? Existe alguma forma de fazer isso? sem incluir uma infinidade de "if"s com todos os parametros que eu preciso e estas partes do código serem validadas "fisicamente"... Alterar parametros basicos numéricos, não funções complexas do programa...

Obrigado!

vc poderia criar um arquivo de configuração num sd card e carregar os parametros a partir dele. poderia criar um array...

explique melhor sua duvida

Vamos supor que eu tenha um trilho com um motor de passo... Em uma determinada situação eu quero que ele mova 1cm a cada 15s...em outra 0,5cm a cada 15s... Por código é simples alterar isso, mas eu quero que alguem sem o conhecimento necessário consiga fazer a configuração que desejar(envolvendo evolução/tempo a principio), por isso de uma interface gráfica, mesmo que MUITO rudimentar...

Cara,

Não sei como funcionar o ethernet shield, mas basicamente voce so precisa criar um programa que receba dados atraves da interface criada, setando uma variável.

Bom no c seria tipo scanf() ou getchar().

Da uma lida atenta aqui http://arduino.cc/en/Tutorial/ChatServer vera que uma variavel e alterada atraves do web service. É isso que você precisa.

att,

Vou estudar aqui... Obrigado

Não percebi exactamente como pretendes fazer a interface gráfica. Se pretendes apresentar uma página web armazenada dentro do Arduino, isso vai ocupar um bom pedaço de memória e pode fazer com que não consigas meter todo o código que precisas lá dentro.

Então, podes fazer uma espécie de interface Telnet com o Ethernet shield e enviar comandos de texto para definir as variáveis que pretendes alterar. A vantagem disto é que grande parte do código que vais criar para o Ethernet shield, pode ser usado com a porta série com muito poucas alterações.

Depois podes guardar essas configurações em EEPROM, ou num cartão SD ou num chip de memória externo se estiveres para aí virado.

Se calhar podes começar por criar o código que lê dum interface (Serial ou Ethernet) e testar tudo com o serial. Depois apenas precisas de alterar para o interface Ethernet.

A única coisa que pode ser mais chata é definir a quantidade de estados que vais ter para a movimentação do motor... mas imagina que vais ter 5 estados, podes criar:

int estadosMotor[5][5];

E assim guardas o tempo que demora a fazer x distância. :)

O mais difícil não é propriamente o interface ethernet, vai mesmo ser receber os dados, guardá-los e depois colocar o motor a fazer o que pretendemos.