Pages: [1]   Go Down
Author Topic: Arduino Travando.  (Read 1322 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Boa noite, tenho um arduino mega 2560 e quando vou fazer o upload deste código trava tudo e não consigo concluir o up.

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x49, 0xD6 };
byte ip[]    = {192,168,12,5}; // IP address of WiShield
byte gateway[]  = {192,168,12,1}; // router or gateway IP address
byte subnet[] = {255,255,255,0};

EthernetServer server(80);        //server port
int PinoLed = 5;

void setup()
{
  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();
  pinMode(PinoLed, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
 
  EthernetClient client = server.available();
 
  if (client)
  {
    boolean currentLineIsBlank = true;
    String vars;
    int varOnOff = 0;
    while (client.connected())
    {
       if(client.available())
       {
            char c = client.read();
            Serial.print(c);   
            vars.concat(c);
            if(vars.endsWith("/on"))
                varOnOff = 1;
            else if(vars.endsWith("/off"))
                varOnOff = 2;
             
            if(c == '\n' && currentLineIsBlank)
            {
                client.println("HTPP/1.1 200 OK");
                client.println("Content-Type: text/html");
                client.println();
               
                if(varOnOff == 1)
                {
                  client.println("Ligado");
                }
                else if(varOnOff == 2)
                {
                  client.println("Desligado");
                }
                else
                {
                  client.println("Bem vindo!!!!");
                }
                break;
            }
            if (c == '\n'){
               currentLineIsBlank = true;
            }
            else if(c != '\r'){
               currentLineIsBlank = false;
            }
       }   
    }
    delay(1);
   
    client.stop();
    Serial.println("client disonnected");
  }
   
}

Depois eu tenho que fazer o upload de outro código exemplo o blink para o arduino voltar a funcionar. Alguém sabe o que pode ser?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Fazendo alguns teste observei que o meu problema esta na linha:

 if(c == '\n' && currentLineIsBlank)

Quando utilizo de forma equivoca o '/n' o arquivo fica com o tamanho de 13.972 bytes e consigo fazer o upload.
Mas quando eu concerto e uso o '\n' o arquivo fica om o tamanho de 14.192 bytes e não consigo mais fazer o upload e o led "13" fica aceso direto. Alguém já viu isso?
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3115
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Já experimentaste colocar um blink no meio do código para ver se realmente o led fica bloqueado? Segundo o teu código é isso que ele vai fazer. :S

Experimenta colocar Um Serial.print no fim da setup para tirar isto a limpo. smiley-wink



Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Eu acho que você não entendeu muito bem, o led fica aceso na hora do upload quando esta tudo travado. Ai eu tenho que tirar o arduino da usb e colocar novamente para poder voltar a se comunicar com o pc. Só que deste modo não consigo gravar nada no chip.
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3115
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Eu percebi o que disseste. Mas como sabes que o programa ficou empancado sem serial prints ou digital writes?

O arduino dá indicação de erro ao fazer upload?

Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Não. O arduino nem completa o upload. Fica a mensagem "Uploading" e o led fica aceso direto, o programa trava e não sai disso. Ai tenho que tirar da usb e conectar de novo mas ai o led começa a piscar uma vez rápida e duas lentas.
Logged

Brasil
Offline Offline
Sr. Member
****
Karma: 2
Posts: 310
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Esse problema me acontece com o Arduino UNO, eu tenho que MUDAR de porta USB e ele passa a fazer o upload.
Com meus duemilaenove isso não ocorre.
Logged

4x Duemilanove (clone)
Uno torrado (clone)
Amiga 1200 40MB
Windows XP


Pages: [1]   Go Up
Jump to: