Show Posts
Pages: [1]
1  Forum 2005-2010 (read only) / Bugs & Suggestions / Bug with time in code/webserver ? on: July 15, 2010, 03:12:07 pm
Hi,

I have test with 0018 the sketch "arduino.cc/playground/Code/WebServer" and it works properly on 328 and in 1280 but i have try to implement the time library on it and every time that i call for a page on explorer , the time is reset ( time starts on 00:00:00 again). Any idea?

(with the webserver example of the ethernet library works OK)

Part with the clock Code added:
 
/*************************************************************************************************************************************************
*                                                        Shared variable
*************************************************************************************************************************************************/
Server server(80);
 
unsigned long ulWd = 0;  //cicle

//view clock
void digitalClockDisplay(){
  // digital clock display of the time
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.print(" ");
  Serial.print(day());
  Serial.print(" ");
  Serial.print(month());
  Serial.print(" ");
  Serial.print(year());
  Serial.println();
}
 
void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}
 

void wd()
{
  ulWd++;
  if( ulWd == 20000 )
  {
    digitalClockDisplay();        //print clock
 
   ulWd = 0;  
  }
}
 
void setup() {
  Ethernet.begin(mac, ip);
  server.begin();
 
  Serial.begin(9600); // DEBUG
 
}
 
/*************************************************************************************************************************************************
*                                                           Main loop
*************************************************************************************************************************************************/
 
void loop() {

   wd();    // print clock
 
  Client client = server.available();

.........................

Regards

2  Forum 2005-2010 (read only) / Español / Re: Ayuda: Diferencia ICSP y serial port on: November 05, 2010, 07:57:13 am

Mis conclusiones serían las siguientes:

Puerto serie (TTL), es asincrono y hasta 115kb. Muy util y muy sencillo. RS232 ahora sustituido por el USB usando FTI.

ICSP (ISP, SPI) pensado originamente para programacion, es sincrono (CLK) y algunos sistemas también lo utilizan para transmitir datos. Comunicación a muy corta distancia (< 20 cm).  El arduino lo utiliza con spi.h.

Salu2,
Pablo
3  Forum 2005-2010 (read only) / Español / Re: Ayuda: Diferencia ICSP y serial port on: November 04, 2010, 07:41:37 am
Gracias.

Salu2
Pablo
4  Forum 2005-2010 (read only) / Español / Re: Ayuda: Diferencia ICSP y serial port on: November 03, 2010, 07:05:16 am

Entiendo que se puede utilizar el puerto ICSP para comunicaciones SPI con un periferico tipo ethernet wiznet 5100 ¿cierto?

Salu2,
Pablo
5  Forum 2005-2010 (read only) / Español / Re: Ayuda: Diferencia ICSP y serial port on: October 28, 2010, 12:02:16 pm
Gracias complubot. Abusando de tus conocimientos........

¿Diferencia entre SPI e ICSP?


Salu2
Oldman
6  Forum 2005-2010 (read only) / Español / Ayuda: Diferencia ICSP y serial port on: October 28, 2010, 03:45:53 am
Hola a tod@s........

Uso el ICSP para programar el micro y para controlar ciertos perifericos (gracias a las librerias del arduino) y también uso el puerto serie para programar y controlar ciertos perifericos.

¿ Alguien me podría explicar la diferencia entre ambos y las ventajas de cada uno?

Saludos,
Oldman
7  Forum 2005-2010 (read only) / Español / Re: Activar variador de frecuencia on: November 03, 2010, 06:55:02 am
Prueba esto, (no consigo adjuntar dibujo):

Salida arduino (5v) + resistencia serie 1k+ catodo 1N4004+ opto 4N33(1)                              opto 4N33(5) + res 10K+ 12vdc

                                                                                                                                        opto 4N33(5) + entrada variador

Salida comun(0v) + anodo 1N4004+ opto 4N33(2)+ opto 4N33(4)+ comun alimentacion variador(0v)

Al convertidor (variadores son los de continua) le tienes que asignar rampas para que no salte por sobreintensidad. Manteniendo RUN alimentado activa JOG y girará. Con REV cambio sentido.

Salu2.,
Pablo
8  Forum 2005-2010 (read only) / Español / Ayuda: SM5100 en modo GPRS on: November 02, 2010, 08:34:01 am
Hola,

Tengo al Sm5100 trabajando bien en llamadas y en SMS, pero no consigo una conexion GPRS.  La SIM con el movil conecta OK. con el SM5100:

+SIND: 1
+SIND: 10,"SM",1,"FD",1,"LD",1,"MC",1,"RC",1,"
+SIND: 3
+SIND: 4

+CGATT: 1
OK

IP:
OK

wap:
OK

CGACT:
+CME ERROR: 28 (PRS operation failure )

TCP:
+CME ERROR: 33 (???)

Con este codigo:

// Llamar y conectarse a internet
  cell.println("AT+CGATT?");                                          // Activar GPRS 1= si => AT+CGATT = 0 desactiva
  leerdatos("");

  cell.println("AT+CGDCONT=1, \"IP\", \"gprs.eroskimovil.es\"");       // Setup PDP
  leerdatos("IP: ");
  
  cell.println("AT+CGPCO=0, \"wap@wap\", \"wap125\", 1");             // Parametros PDP
  leerdatos("wap: ");
  
  // Llamamos a internet
//  cell.println("ATD*99#");    //LLamada
//  leerdatos("LLamando... ");

  cell.println("AT+CGACT=1,1");                                       // Activar PDP  
  delay(5000);
  leerdatos("CGACT: ");
  
  // Buscar una direccion en internet
  cell.println("AT+SDATACONF=1, \"TCP\", \"www.google.es\", 80");    // Host y puerto
  delay(3000);
  leerdatos("TCP: ");

....................

¿Alguna sugerencia?

Salu2,
Pablo
9  Forum 2005-2010 (read only) / Interfacing / Re: TCP/IP with SM5100B GSM/GPRS module on: November 04, 2010, 07:04:21 am
I think that you can have a timing problem....
Try this with your company data:

//*************
// Inicia conexion GPRS y conecta con la web deseada
//*************
void GPRS_init()
{
      // Llamar y conectarse a internet
      cell.println("AT+CGATT?");                                          // Activar GPRS 1= si => AT+CGATT = 0 desactiva
      EsperamosOK();
    

      cell.println("AT+CGDCONT=1, \"IP\", \"internet \"");                      // Setup PDP amena  
      EsperamosOK("Direccion: ");
      
      cell.println("AT+CGPCO=0, \"CLIENTE \", \"AMENA\", 1");                   // Parametros PDP amena
      EsperamosOK("Clave: ");
      
      // Activamos conexion GPRS
      cell.println("AT+CGACT=1,1");                                       // Activar GPRS
      EsperamosOK("CGACT: ");  
      
      // Buscar una direccion en internet
      cell.println("AT+SDATACONF=1, \"TCP\", \"www.google.es\", 80");    // Host y puerto
      EsperamosOK("TCP: ");
    
      // Iniciar comunicacion
      cell.println("AT+SDATASTART=1,1");                                 // Iniciar comunicacion TCP/UDP
      EsperamosOK("SDATASTART: ");
      
      // Estado comunicaciones
      cell.println("AT+SDATASTATUS=1");                                  // Consulta estado, hacer varias veces esta consulta.
      EsperamosOK("SDATASTATUS: ");    
    //  +SOCKSTATUS:  1,0,0104,0,0,0  (0 means socket not connected, 0104 means socket is connecting)
    //  +SOCKSTATUS:  1,1,0102,0,0,0 (1 means socket connected)

}

//*****************
// Esperar respuesta
//*****************
void EsperamosOK(const char* enviado){
  unsigned long espera= millis();
  Serial.println();
  Serial.print(enviado);
  while(cell.available()<1 && (millis()-espera) < 10000){}    // Esperamos
  
  while(cell.available()>0) {
    incoming_char=cell.read();    //Get the character from the cellular serial port.
    Serial.print(incoming_char);
    delay(2);
  }

}

And you must recive:

+SIND: 1

+SIND: 10,"SM",1,"FD",1,"LD",1,"MC

+SIND: 11

+SIND: 3

+SIND: 4


+CGATT: 1

OK

Direccion:
OK

Clave:
OK

CGACT:
OK

TCP:
OK

SDATASTART:
OK

SDATASTATUS:
+SOCKSTATUS:  1,1,0102,0,0,0        // CONNECTED

OK


bye,
Pablo
Pages: [1]