buenas tardes, yo tengo un problema al enviar datos con mi arduino nano y mi etehrent shield, al enviar datos a determinado tiempo 5 mins para ser mas preciso no me envia los datos, verificando solo me permite enviar datos a los 1:35 segundos como maximo si los envia hasta este tiempo, , necesito enviar los datos a los 5 minutos o mas, como me pueden colaborar, gracias....
no uso en delay por el tiempo por obvias razones no funciona delay, lo realizo con un ciclo, todo se cumple menos el envio de los datos anexo el codigo, gracias
#include <OneWire.h>
#include <SPI.h>
#include <UIPEthernet.h>
#include <DallasTemperature.h>
#include <UIPServer.h>
#include <UIPClient.h>
#define ONE_WIRE_BUS 3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire); //Ethernet
EthernetClient client;
float b1;
float b2;
float celsius;
char server[] = "mi servidor.net";
int port = 80;
int dn = 210; // numero de identificacion sensor
void setup(void) {
Serial.begin(9600); //Abrir puerto serial
uint8_t mac[6] = {0x00,0x11,0x12,0x02,0x00,0x00}; // MAC ID NIC
delay(1000); // tiempo ESPERA INICIO NIC
while (!Serial) {
; //Espera por un puerto serial disponible
}
Ethernet.begin(mac);
Serial.print("IP Address : ");
Serial.println(Ethernet.localIP());
Serial.print("Subnet Mask : ");
Serial.println(Ethernet.subnetMask());
Serial.print("Default Gateway IP: ");
Serial.println(Ethernet.gatewayIP());
Serial.print("DNS Server IP : ");
Serial.println(Ethernet.dnsServerIP());
}
void loop(void) {
unsigned int cont = 0;
while (cont < 280 ){ // pongo este tiempo por el delay de la luces
delay (1000);
sensors.requestTemperatures(); // OBTENEMOS DATOS TEMPERATURA
celsius = sensors.getTempCByIndex(0);
Serial.println( );
Serial.println(celsius);
Serial.println( );
Serial.println(250-cont);
//
if ((celsius < 6 ) && (celsius > -3)) //C1CL0 DE COMPARACION DE TEMP3R4TUR4 ALARMA
{
b1 = 0;
b2 = 0;
digitalWrite(13,LOW);
delay(200);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(200);
}
else if ( celsius > 6 )
{
b2 = 1;
b1 = 0;
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
}
else if (celsius < -3)
{
b1 = 1;
b2 = 0;
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
}
cont++;
}
if (client.connect(server, port))
{
Serial.println("Enviando Datos...");
Serial.println(celsius);
Serial.println(b1);
Serial.println(b2);
client.print( "GET a mi tabla y db");
client.print(celsius);
client.println( " HTTP/1.1");
client.print( "Host: " );
client.println(server);
client.println( "Connection: close" );
client.println();
client.stop();
client.println();
client.stop();
;
}
else
{
Serial.println("Fallo al intentar conectar con el servidor");
}
if (client.available())
{
char c = client.read();
Serial.print(c);
}
}
mi correo es: charlie.net@gmail.com, gracias de nuevo