Show Posts
Pages: [1] 2 3 ... 6
1  International / Portugues / Re: Informações Ethernet on: May 27, 2013, 09:51:07 am
Bom dia pessoal,

Estou rodando a mais de um mês o sistema com um arduino uno e ethernet. O controle do aquário funciona 100%, liga e desliga as luzes, repõe a água doce, liga o aquecedor etc... porém o ethernet funciona por um determinado tempo e para de enviar sinal. O arduino e suas funções continuam a funcionar normalmente, quando eu busco no browser o ip do servidor criado com o arduino ele não acha, no meu caso 192.168.0.43
Para voltar a funcionar o ethernet só resetando o arduino....
2  International / Portugues / Re: Informações Ethernet on: March 26, 2013, 09:40:39 am
não há como recupera-lo?
3  International / Portugues / Re: Informações Ethernet on: March 25, 2013, 05:09:00 pm
infelizmente fiz algo de errado ao ligar um driver e superaqueceu o arduino e saiu um cheiro, agora não funciona mais o USB apenas a luz de TX e RX ligadas e o led do On vermelho ligado..... mas ligo o USB e nada, morreu?
4  International / Portugues / Re: Informações Ethernet on: March 25, 2013, 07:05:42 am
Comprei este com SDcard.....
Esse final de semana montei a pagina em html, porém na hora que coloco no arduino ele da problema com as " ". ainda n sei como tirar esse problema da tabela que inseri, tentei subsituir os " por ' e o sketch trava na hora da verificação....
5  International / Portugues / Re: Informações Ethernet on: March 22, 2013, 02:24:00 pm
coloquei este código aqui na integra:
Code:
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = { 192, 168, 0, 43 };                  // ip in lan
                 //subnet mask
EthernetServer server(80);                                      //server port
byte sampledata=50;            //some sample data - outputs 2 (ascii = 50 DEC)             
int ledPin1 = 2;  // LED pin 1
 
String readString = String(30); //string for fetching data from address
boolean LEDON1 = false; //LED status flag


void setup(){
//start Ethernet
Ethernet.begin(mac, ip);
//Set pin 4 to output
  pinMode(ledPin1, OUTPUT); 

//enable serial datada print 
  Serial.begin(9600);
}
void loop(){
// Create a client connection
 EthernetClient client = server.available();
  if (client) {
    while (client.connected()) {
   if (client.available()) {
    char c = client.read();
    //read char by char HTTP request
    if (readString.length() < 30)
      {
        //store characters to string
        //-----readString.append(c);
          readString.concat(c);
      } 
        //output chars to serial port
        Serial.print(c);
        //if HTTP request has ended
        if (c == '\n') {
          //lets check if LED should be lighted
 //------------LED 1
           if (readString.substring(6,11) == "L1=ON")
           {
             digitalWrite(ledPin1, HIGH);    // set the LED on
             LEDON1 = true;
           }
             else if (readString.substring(6,12) == "L1=OFF")
            {
             digitalWrite(ledPin1, LOW);    // set the LED OFF
             LEDON1 = false;             
            } 
 
          // now output HTML data starting with standart header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          //set background to yellow
          client.print("<body style=background-color:yellow>");
          client.println("<h1>LED control</h1>");
          client.println("<font color='black'>");
          client.println("<br />");

//--------LED 1 CONTROLL--------
          client.println("<form method=get name=LED><input type=submit name=L1 value=ON>  LED 1<form>");     
          client.println("<form method=get name=  LED><input type=submit name=L1 value=OFF  ><form>");
            if (LEDON1)
            {
             client.print("<font color='green' size='3'> ON");
            }
            else
            {
             client.print("<font color='red' size = '3'> OFF");
            }
            client.println("<font color='black' <br />");
           
          client.println("</body></html>");
          //clearing string for next read
          readString="";
          //stopping client
          client.stop();
            }
          }
        }
      }
    } 


Funcionou perfeitamente, pagina em amarelo com boão liga e desliga.... porém quando eu copio a parte:
Code:
client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          //set background to yellow
          client.print("<body style=background-color:yellow>");
          client.println("<h1>LED control</h1>");
          client.println("<font color='black'>");
          client.println("<br />");

ele sai tudo escrito na página
6  International / Portugues / Re: Informações Ethernet on: March 22, 2013, 01:48:07 pm
simplesmente colocar o código da este problema:
expected primary-expression before "<" token
7  International / Portugues / Re: Informações Ethernet on: March 22, 2013, 10:45:00 am
Se eu tiver um tempinho testo ainda hoje, este break creio que deixei perdido pelo meio, não serve para nada
8  International / Portugues / Re: Informações Ethernet on: March 22, 2013, 07:21:01 am
Final de semana agora vou testar, porém onde coloco o código? creio que se abrir uma página em HTML e editar colocando o código ficaria lá bonitinho, mas como o arduino manda este código para abrir no browser?
9  International / Portugues / Re: Informações Ethernet on: March 21, 2013, 02:12:10 pm
no inicio está assim:
IPAddress ip(192,168,0,43);
EthernetServer server(80);
não fiz nenhuma página em html, apenas o host no arduino
no caso o que eu quero mudar é a variavel que esta como pbranco e pazul no final
logo eu abro o browse (IE) e digito 192.168.0.43 e me aparece as informações como abaixo:
Code:
if (client) {
    Serial.println("new client");
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
       if (c == '\n' && currentLineIsBlank) {
               client.print("Temperatura        ");
               client.println(celsius);

                client.print("Aquecedor          ");
               client.println(estados[statusHeater]);
                client.print("Refrigerador       ");
               client.println(estados[statusFan]);
               client.print("Relogio            ");
               if (agora.hora <10) client.print("0");
                     client.print(agora.hora);
                     client.print(":");
                     if (agora.minuto <10) client.print("0");
                     client.println(agora.minuto);
               client.print("Temperatura Max    ");     
               client.println(tempMax);
               client.print("Temperatura Min    ");
               client.println(tempMin);
               client.print("Potencia Branco    ");
               client.print(pbranco);
               client.println("%");
               client.print("Potencia Azul      ");
               client.print(pazul);
               client.println("%");
               break;
        }

eu utilizo ele aqui
Code:
           if (agora.hora >= led_A_on && agora.hora < led_A_off)
                     analogWrite(ledazul, Pazul);
                     else {
                     analogWrite(ledazul, 0);
                     } 
                     if (agora.hora >= led_B_on && agora.hora < led_B_off)
                     analogWrite(ledbranco, Pbranco);
                     else {
                     analogWrite(ledbranco, 0);
                     }
ou seja se estiver na hora certa ele liga a luz com a potencia programada que é a Pazul e a Pbranco que estão definidas em
int pbranco = 60;
int pazul = 30;

obs: pbranco e Pbranco são diferentes porque colocando 60 ele transforma em um numero que corresponde a 60% de 0 a 255 para o PWM
no caso eu quero pelo HTTP uma caixa de testo onde eu posso escrever e modificar esse 60 e 30, exemplo quero que o o azul fique em 20 e nao 60, então digito 20 e clico no enviar
10  International / Portugues / Re: Informações Ethernet on: March 21, 2013, 10:25:20 am
Morits, ja havia lido este tópico para ver se pescava algo, mas não é isto não... é exatamente o que o bubulindo relatou.
Bubulindo, sim ja esta rodando e servindo uma página, os valores ja me aparecem lá.... pode ser assim como você falou aparecendo uma caixa de texto e digitando o novo valor
mas pode ser tambem com botões com valores ja definidos, tipo variável teste
se clicar no botão 1 a variavel teste é igual a 10, se clicar no botão dois teste = 20 e por ai vai...
não sei nada de HTTP, mas a muito tempo atras utilizava editores do pacote office por exemplo e ficava editando os códigos com o que eu ia vendo
não vou conseguir fazer então?


estou fuçando o pachube paralelamente a isto também.
11  International / Portugues / Informações Ethernet on: March 21, 2013, 07:35:51 am
Bom dia a todos,

Estou com um arduino + ethernet shield + sensor + RTC, com isto jogo informações para a LAN e acesso via navegador com o ip local. Por enquanto apenas me aparecem o valor do relógio, do sensor e algumas variáveis, tudo funcionando corretamente.
Estou querendo controlar a saída PWM, escolhendo valores entre 0 e 255 enviando a informação do navegador para o arduino, procurei exemplos, achei algumas coisas parecidas como ligar e desligar um led, mas com problemas no script não consegui rodar.
É possível? se não for possível e fácil, poderia ser com valores fixos como 3 opções para o pwm tipo 10% 50% e 100%, ai vc clica em 10% e o led fica 10% em intensidade, clica em 100% e então ele fica em total intensidade.
Próximo passo é tentar colocar todo isto na rede externa.
12  International / Portugues / Re: Controlar aquario on: February 18, 2013, 08:19:32 am
Que eu me lembro tem pinagem trocada na internet entre o vcc e o ground no lm35....
mas a lógica é isto ai mesmo
13  International / Portugues / Re: Problemas com relé on: February 18, 2013, 08:15:06 am
coloquei mas não adiantou....
toda a madrugada o problema acontece.... durante todo o dia até denoite ele funciona corretamente, e durante a madrugada da algum problema.... mas o sistema continua funcionando perfeitamente, apenas o lcd entra em colapso e não retorna....
14  International / Portugues / Re: Controlar aquario on: February 17, 2013, 09:35:04 am
procura por ds18b20 como sensor de temperatura, assim posso ajudar mais também.....
pelo que pesquisei é o mais utilizado... tentei utilizar o LM35 mas só dá problema, ainda mais por não ser digital.....
15  International / Portugues / Re: Problemas com relé on: February 17, 2013, 09:31:24 am
funcionou para vc? onde colocar isto?
Pages: [1] 2 3 ... 6