Show Posts
Pages: [1] 2 3 4
1  International / Español / Re: Presentación y ayuda con código GPS+SD on: April 09, 2014, 02:20:50 am
Hola badel.

cierto perrociego, cuando utilices la macro F() en Serial.println() se verá incrementada la memoria flash.
BAdel si tu proyecto no va mas lejos de lo que tienes echo, para que una eeprom externa?

Aun no as utilizado la eeprom de arduino, y aparte tienes una sd(supongo con mucha capacidad) de la cual podrías recuperar los texto que luego mandarías por el serial o a la sd otra vez con los textos y variables que te interesen así no consumirías tanta memoria flash si la tienes a tope también.



Saludos
2  International / Español / Re: Presentación y ayuda con código GPS+SD on: April 07, 2014, 05:44:11 pm
Hola badel.


Se me ocurre que puede ser que no te quede memoria RAM, y se te queda bloqueado. Si  es  un arduino uno puede ser eso.

mira la memoria SRAM que te queda con esta función que la colocarás antes del inicio del setup junto con tu código

Code:
..........
 int freeRam () {
  extern int __heap_start, *__brkval;
  int v;
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}
Void setup(){
............


llama a la función antes de iniciar el loop para que te muestre la memoria SRAM libre en bytes

Code:
................
Serial,print(F("Memoria libre en SRAM  ---> "));Serial.print(freeRam ());Serial.println(F(" bytes"));
} //fin del setup
void loop(){
...........................

Arduino uno ------>2000 bytes SRAM
Arduino mega----->8000 bytes SRAM

Si fuese eso el problema, sustituye todos los Serial.print("__TEXTO__") que tienes por Serial.print(F("__TEXTO__")) y no consumirás tanta memoria.
Hazlo también en myFile.println(F("__TEXTO__"))

Espero que te sea de ayuda.

Saludos.
3  International / Software / Re: Forma de poner la siguiente expresión on: April 03, 2014, 10:55:35 am
Hola cromo24
Si se es algo lioso el código, prueba a utilizar String:

cliente.println("GET /ardu/insertar.php?temperatura="+String(t)+"&humedad="+String(h));



Saludos
4  International / Software / Re: Forma de poner la siguiente expresión on: April 02, 2014, 02:23:26 pm
Hola Cromo24.

dale vuelta a este código que seguro te saca del aprieto, y no consumirás tanta memoria

 
Quote
// Creamos lineas
PROGMEM char   lineadatos0[]="GET /ardu/insertar.php?temperatura=%d&humedad=%d";
PROGMEM char   lineadatos1[]="Antonio tenia %d perros y %d gallinas";
PROGMEM char   lineadatos2[]="";

PROGMEM char *_gdatos[] = { lineadatos0,lineadatos1,lineadatos2};

char *gdatos(byte linea){// retorna la linea que se le pide de _gdatos
     char evento[200];char *_evento=evento;char c;
  char *even=(char*)pgm_read_word(&(_gdatos[linea])) ;
 while (c = pgm_read_byte(even++)){
 *_evento++=c;}
 *_evento = '\0';
 return evento;
  }


char *crea_linea_t_h(unsigned int t,unsigned int h){
  char datos[300]="";char *_datos=datos;
 sprintf(_datos,gdatos(0),t,h);// cambia en esta linea gdatos(1)
 strcat(_datos,"\0");// eliminar si interesa
 
   // Serial.println(datos);
     
  return datos;
}
  //////////////////////////////////////////////////////// 
     unsigned int t=24;
 unsigned int h=65;


void setup(){
 
  Serial.begin(9600);
  Serial.println(  crea_linea_t_h(t,h));

 //return;

}


void loop(){
 
}
5  International / Software / Re: Duda sobre 1 Pulsador 2 Led´s on: September 21, 2012, 11:44:31 am
Hola nataly!!!
 
prueba este código, compila bien pero no lo he probado, animo...

Code:
enum _estadoBoton  // Creamos un tipo nuevo
{
  noPulsado=0,
  pulsado=1,
};
enum _opcionesBoton
{
  ledsApagados=0,
  led1Encendido=1,
  led2Encendido=2,
 };


struct teclado{// creamos una estructura para recoger datos de la variables
               // y sus funciones
 
  int pinBoton;
  int pinLed1;
  int pinLed2;
  _estadoBoton estadoBoton;  // cremos una variable de tipo _estadoBoton
  _opcionesBoton opcionBoton;// cremos una variable de tipo _opcionesBoton

  void compruevaEstadoBoton(){
    if (digitalRead(pinBoton)==HIGH && estadoBoton==noPulsado){
      estadoBoton=pulsado;
      sumaOpcion();
      actuaOpcion(opcionBoton);

    }
    else
      if (digitalRead(pinBoton)==LOW){
      estadoBoton=noPulsado;

    }
  }

  void sumaOpcion(){
    if (opcionBoton==ledsApagados){
      opcionBoton=led1Encendido;
    }
    if (opcionBoton==led1Encendido){
      opcionBoton=led2Encendido;
    }
    if (opcionBoton==led2Encendido){
      opcionBoton=ledsApagados;
    }


  }

  void actuaOpcion(_opcionesBoton opcion){
    if (opcion==ledsApagados){
      digitalWrite(pinLed2,LOW);
    }
    if (opcion==led1Encendido){
      digitalWrite(pinLed1,HIGH);
    }
    if (opcion==led2Encendido){
      digitalWrite(pinLed1,LOW);
      digitalWrite(pinLed2,LOW);
    }

  }
}
botones[1];// incrementando el valor obtendremos mas botones


void setup(){
  botones[1].pinBoton=5;// definimos los valores dentro de la estructura de datos
  botones[1].pinLed1=10;// del boton 1
  botones[1].pinLed2=11;
// si quisieramos mas botones:
/*
botones[0].pinBoton=4;
botones[0].pinLed1=9;
botones[0].pinLed2=8;
*/
// definimos los pines
  pinMode(botones[1].pinBoton,INPUT);
  pinMode(botones[1].pinLed1,OUTPUT);
  pinMode(botones[1].pinLed2,OUTPUT);

/*pinMode(botones[0].pinBoton,INPUT);
  pinMode(botones[0].pinLed1,OUTPUT);
  pinMode(botones[0].pinLed2,OUTPUT);*/

}


void loop(){
  // llamo a la función para controlar el estado del boton 1
  botones[1].compruevaEstadoBoton();
   // llamo a la funcion para controlar el estado del boton 0
//botones[0].compruevaEstadoBoton();

}


 
6  International / Español / Re: En construcción: Automatización de persiana on: May 13, 2012, 10:53:39 am
hola a todos!!!

yo soy partidario de centralizar el control (pulsadores, sensores, detectores,...)y las maniobras( luces, persianas, bombas,...), en el mismo sitio( conjunto de contactores, mega,...)y si hay que controlar otro arduino( más sensores, pulsadores, maniobras)conectado mediante canbus.


En un principio el tema de las persianas las controlo mediante un solo pulsador ,ubicado al lado de ella.Los motores de las persianas de por si tienen finales de carrera, que se han de graduar, que nos valdrán como de seguridad. aun así siempre se ha de calcular el recorrido de la persiana para guardar el tiempomaximo y arduino lo controle
el pulsador recoge 2 tipos de pulsaciones: corta y larga.
y el estado de las persianas en un principio son 5:abajo, subiendo, medio, bajando y arriba.

las persianas tiene variables que cuentan el tiempo en los estados de subiendo y bajando para controlar el paro automático a la llegada del tiempomáximo o tiempo0 en el recorrido de la persiana
cada persiana contara con otra variable tempomáximo independiente al resto pues no todas las persianas, son igual de largas, o toldos o proyectores.... tienen el mismo recorrido

y el comportamiento de la persiana según el tipo de pulsación, y el estado de la persiana es el siguiente;
ESTADO       PULSACIÓN 
abajo-------->corta------->la persiana sube( empieza a contar tiempo asta tiempomaximo) estado=subiendo
subiendo----->corta-------> la persiana se para(memoriza tiempo)estado =medio
medio-------->corta-------> la persiana sube(empieza a contar tiempo + tiempo memorizado) estado=subiendo
        \___--->larga--------> la persiana baja(empieza a contar tiempo + tiempo memorizado ) estado=bajando
bajando------>corta-------> la persiana se para(memoriza tiempo) estado=medio
arriba--------->larga-------> la persiana baja(empieza a contar tiempo)estado=bajando

espero que te sea de ayuda.


saludos



7  International / Español / Re: Actualizar hora DS1307 leyendola desde una WEB on: April 05, 2012, 08:07:44 am
hola compañeros!!!
hace unos días estuve indagando sobre rtc y para poderlo actualizar con la hora de la web, y encontré, este hilo en inglés  smiley-roll-blue





http://arduino.cc/forum/index.php/topic,92632.0.html

saludos
8  International / Español / Re: Arduino 1.0, errores on: December 07, 2011, 12:38:25 pm
Los ejemplos de string en el 0.22 funcionan bien pero en la versión nueva dan error

http://arduino.cc/en/Tutorial/StringCharacters

9  International / Español / Re: ayuda con cadenas de datos on: December 06, 2011, 03:11:08 pm
uy!! perdón...

es curioso los ejemplos me funcionan bien en la ide 0.22, pero en la versión 1.0 me salen errores,
10  International / Español / Re: ayuda con cadenas de datos on: December 06, 2011, 03:08:30 pm
Arduino 1.0 incluye un par de funciones nuevas para hacer estas cosas,si no recuerdo mal

Sergegsx, te refieres ha "Strings" ? http://arduino.cc/en/Tutorial/StringCharacters

lo estoy probando estos días, y esta muy bien, para recuperar caracteres de una String, identificar partes de testo, cambiar...

pero es curioso

11  International / Español / Re: Máquina de estados: Librería FSM on: December 06, 2011, 03:02:01 pm
lo tengo Igor R!!! gracias por la pista...  me ha costado encontrarlo, pero google al final me lo soluciono,  cambiar Wprogram.h por Arduino.h

Salu2
12  International / Español / Re: Máquina de estados: Librería FSM on: December 04, 2011, 12:18:30 pm
hola Igor R,

haber si te he entendido: supongo que debo de ir a tu librería y cambiar el #include <avr/pgmspace.h> en el fichero FSM.h o el #include "WProgram.h" en el fichero FSM.cpp pero por cual??

gracias Igor R nuevamente.
13  International / Español / Re: Máquina de estados: Librería FSM on: December 03, 2011, 10:32:56 am
buenas tardes a todos!!

he estado instalando el nuevo ide de arduino 1.0 y las libreeias con las que trasteo y cuando intento cargar un ejemplo (FSM_V5) me sale un error.
a que puede ser devido??

os dejo el error que os comento
14  International / Español / Re: ethernet y metodo get on: November 17, 2011, 02:50:52 pm
gracias chiva!!!

estoy muy liado con pruebas, y esprimiendo la GRAN LIBRERÍA DE IGOR   "FSM" que la voy a utilizar para casi todo. adaptando mi código a esta librería y si obtengo más información sobre ethernet mejor que mejor, ya haré pruebas con ethernet más adelante.

gracias karagos me lo guardo y lo estudio
15  International / Español / Re: ethernet y metodo get on: November 17, 2011, 02:53:02 am
Karagos a mi me interesa, ese código. Aún estoy con otra cosa, y como dices hay poca información en español al respecto. Y cualquier código funcional es bueno para el estudio.

Gracias de antemano.
Pages: [1] 2 3 4