Concurso de fotografía AM

Temática: «Una panorámica de tu acuario».
Ya esta abierto el plazo para presentar fotografías.

Más info
image01

¿Aún no conoces AMA?

Hazte socio de Acuariofilia Madrid Asociación.
CERRADO EL PLAZO DE INSCRIPCIÓN

Más info
image01

Atlas de peces de AM

¡Hemos alcanzado las 800 fichas! Visita nuestro atlas de peces actualizado.

Más info
image01

Cardúmenes y sociabilidad

Nueva actualización de la tabla con una extensa relación de peces, donde podrás conocer qué entorno necesita cada especie, su sociabilidad y si convive o no en cardumen. ¡Pasa a descubrirla!

Mas info
image01
Aula Arduino para principiantes.
Respuestas: 1783    Visitas: 466726
#1,591
Estoy mirando en los primeros errores. En uno de los errores aparece lo siguiente:

C:\Users\sacramento\Documents\Arduino\libraries\CAO_1.2.1\CAO_1.2.1.ino

¿No habíamos quedado en que tenías que instalar el programa dentro de tu Sketchbook?


No solo te lo hemos dicho aquí varias veces. En CAO1 viene un pequeño documento.
LeameCAO_1.2.1.odt Donde lo explica todo con bastante detalle.

Lo que hagas en otras partes distintas de sketchbook, puede traer problemas que te obliguen a reinstalar Arduino. Ignoro si es eso lo que continua mal o es otra cosa.

Un error de compilación puede provocar más tarde algunos más, así que el primer error que aparece al compilar es siempre el más importante. Si no eres capaz de corregir el primer error que aparece, puede que no puedas corregir los demás.

Cao1_LinealSensor.cpp:219: error: expected initializer before 'uint16_t'
uint16_t Val[20], Precision;
^


Señala error en una parte del código donde no hay ningún error. Puede que no esté reconociendo el identificador 'uint16_t'. Se trata de un tipo definido en el propio Arduino.

Código:
// *************************************************************************************
// Obtiene estadisticas indicativas de la calidad del sensor.
// *************************************************************************************
void Cao1_LinealSensor::Diagnostic(){
    uint16_t Val[20],  Precision;
    uint32_t AvVal, Desv, DesvSt;
#1,592
(07-02-2016, 10:54 AM)Antonio Castro escribió: Estoy mirando en los primeros errores. En uno de los errores aparece lo siguiente:

C:\Users\sacramento\Documents\Arduino\libraries\CAO_1.2.1\CAO_1.2.1.ino

¿No habíamos quedado en que tenías que instalar el programa dentro de tu Sketchbook?


No solo te lo hemos dicho aquí varias veces. En CAO1 viene un pequeño documento.
LeameCAO_1.2.1.odt Donde lo explica todo con bastante detalle.

Lo que hagas en otras partes distintas de sketchbook, puede traer problemas que te obliguen a reinstalar Arduino. Ignoro si es eso lo que continua mal o es otra cosa.

Un error de compilación puede provocar más tarde algunos más, así que el primer error que aparece al compilar es siempre el más importante. Si no eres capaz de corregir el primer error que aparece, puede que no puedas corregir los demás.

Cao1_LinealSensor.cpp:219: error: expected initializer before 'uint16_t'
uint16_t Val[20], Precision;
^


Señala error en una parte del código donde no hay ningún error. Puede que no esté reconociendo el identificador 'uint16_t'. Se trata de un tipo definido en el propio Arduino.

Código:
// *************************************************************************************
// Obtiene estadisticas indicativas de la calidad del sensor.
// *************************************************************************************
void Cao1_LinealSensor::Diagnostic(){
    uint16_t Val[20],  Precision;
    uint32_t AvVal, Desv, DesvSt;


Por fin pude!! Big Grin Muchas gracias! ahora solo tendré que instalar algunos trastos y listo! Solo tengo una duda, se podría aplicar en un LCD 16x2? Me imagino que si, pienso que implica una organización en cuanto a los espacio en donde manda para imprimir al LCD
#1,593
(07-02-2016, 08:50 PM)edzvlogs escribió: Por fin pude!! Big Grin Muchas gracias! ahora solo tendré que instalar algunos trastos y listo! Solo tengo una duda, se podría aplicar en un LCD 16x2? Me imagino que si, pienso que implica una organización en cuanto a los espacio en donde manda para imprimir al LCD

CAO1 viene para LCD 20x4 y usar un LCD de 16x2 implicaría una cantidad de trabajo tremendo y ademas el resultado sería bastante malo. En resumen no se puede.

En SimpleDimmer quizás se podría poner algo. Yo ahora no me voy a dedicar a nada de eso, para mi no tiene mucho sentido.
#1,594
(07-02-2016, 10:58 PM)Antonio Castro escribió:
(07-02-2016, 08:50 PM)edzvlogs escribió: Por fin pude!! Big Grin Muchas gracias! ahora solo tendré que instalar algunos trastos y listo! Solo tengo una duda, se podría aplicar en un LCD 16x2? Me imagino que si, pienso que implica una organización en cuanto a los espacio en donde manda para imprimir al LCD

CAO1 viene para LCD 20x4 y usar un LCD de 16x2 implicaría una cantidad de trabajo tremendo y ademas el resultado sería bastante malo. En resumen no se puede.

En SimpleDimmer quizás se podría poner algo. Yo ahora no me voy a dedicar a nada de eso, para mi no tiene mucho sentido.


Si veo que es gran relajo con respecto a hacer las modificaciones, de hecho porbe el DIMMER y me lanzó errores, y eso que metí el archivo como lo señala el reedme.txt
#1,595
(08-02-2016, 01:16 AM)edzvlogs escribió:
(07-02-2016, 10:58 PM)Antonio Castro escribió:
(07-02-2016, 08:50 PM)edzvlogs escribió: Por fin pude!! Big Grin Muchas gracias! ahora solo tendré que instalar algunos trastos y listo! Solo tengo una duda, se podría aplicar en un LCD 16x2? Me imagino que si, pienso que implica una organización en cuanto a los espacio en donde manda para imprimir al LCD

CAO1 viene para LCD 20x4 y usar un LCD de 16x2 implicaría una cantidad de trabajo tremendo y ademas el resultado sería bastante malo. En resumen no se puede.

En SimpleDimmer quizás se podría poner algo. Yo ahora no me voy a dedicar a nada de eso, para mi no tiene mucho sentido.


Si veo que es gran relajo con respecto a hacer las modificaciones, de hecho porbe el DIMMER y me lanzó errores, y eso que metí el archivo como lo señala el reedme.txt

¿Gran relajo? ¿Te he estado ayudando y me hablas como si fuera tu secretario?

1) Estoy trabajando en la segunda versión de mi libro CAO1.
2) Estoy trabajando en un nuevo libro y pretendo publicar ambos a la vez.
3) Estoy trabajando en varios proyectos de programación de forma simultánea y uno de ellos fue a petición del foro.
4) Por falta de tiempo mis acuarios están peor que nunca.
5) Hoy por fin he publicado un vídeo en mi canal pero siempre hasta ahora había publicado como minimo un vídeo al mes y ahora he tardado dos meses en publicar este y con ello perjudico a mis 7.140 suscriptores a los cuales les debo una enorme fidelidad. Me han generado más de un millón de reproducciones en Youtube y en lugar de atenderles a ellos estoy volcándome en estos temas de Arduino porque creo que tienen el potencial de ser de mucha ayuda para mucha gente.

Me estoy retrasando con muchas cosas, pero no es relajo, es lo que hay.

Lo que quiero que entiendas es que yo aporto a la comunidad todo lo que puedo, pero en temas de ayudas personales, estoy muy limitado y tengo que medir mis esfuerzos y el que decide en eso soy yo. En lugar de agradecerme mi esfuerzo de esa forma, podrías haberme preguntado que si sé de otros proyectos parecidos al mío que que puedan ser de utilidad y con mucho gusto te los habría indicado.

Te estoy tratando con la máxima educación y espero que todo el mundo aquí haga lo mismo, pero espero que ahora tengas claro cuales son tus derechos sobre mi trabajo totalmente altruista y licencia Creative Commons.

Insisto, espero que todo el mundo te dedique el mismo respeto que yo. A eso sí tienes derecho.
#1,596
(08-02-2016, 02:21 PM)Antonio Castro escribió:
(08-02-2016, 01:16 AM)edzvlogs escribió:
(07-02-2016, 10:58 PM)Antonio Castro escribió:
(07-02-2016, 08:50 PM)edzvlogs escribió: Por fin pude!! Big Grin Muchas gracias! ahora solo tendré que instalar algunos trastos y listo! Solo tengo una duda, se podría aplicar en un LCD 16x2? Me imagino que si, pienso que implica una organización en cuanto a los espacio en donde manda para imprimir al LCD

CAO1 viene para LCD 20x4 y usar un LCD de 16x2 implicaría una cantidad de trabajo tremendo y ademas el resultado sería bastante malo. En resumen no se puede.

En SimpleDimmer quizás se podría poner algo. Yo ahora no me voy a dedicar a nada de eso, para mi no tiene mucho sentido.


Si veo que es gran relajo con respecto a hacer las modificaciones, de hecho porbe el DIMMER y me lanzó errores, y eso que metí el archivo como lo señala el reedme.txt

¿Gran relajo? ¿Te he estado ayudando y me hablas como si fuera tu secretario?

1) Estoy trabajando en la segunda versión de mi libro CAO1.
2) Estoy trabajando en un nuevo libro y pretendo publicar ambos a la vez.
3) Estoy trabajando en varios proyectos de programación de forma simultánea y uno de ellos fue a petición del foro.
4) Por falta de tiempo mis acuarios están peor que nunca.
5) Hoy por fin he publicado un vídeo en mi canal pero siempre hasta ahora había publicado como minimo un vídeo al mes y ahora he tardado dos meses en publicar este y con ello perjudico a mis 7.140 suscriptores a los cuales les debo una enorme fidelidad. Me han generado más de un millón de reproducciones en Youtube y en lugar de atenderles a ellos estoy volcándome en estos temas de Arduino porque creo que tienen el potencial de ser de mucha ayuda para mucha gente.

Me estoy retrasando con muchas cosas, pero no es relajo, es lo que hay.

Lo que quiero que entiendas es que yo aporto a la comunidad todo lo que puedo, pero en temas de ayudas personales, estoy muy limitado y tengo que medir mis esfuerzos y el que decide en eso soy yo. En lugar de agradecerme mi esfuerzo de esa forma, podrías haberme preguntado que si sé de otros proyectos parecidos al mío que que puedan ser de utilidad y con mucho gusto te los habría indicado.

Te estoy tratando con la máxima educación y espero que todo el mundo aquí haga lo mismo, pero espero que ahora tengas claro cuales son tus derechos sobre mi trabajo totalmente altruista y licencia Creative Commons.

Insisto, espero que todo el mundo te dedique el mismo respeto que yo. A eso sí tienes derecho.



Don Antonio, creo que mal interpreto mis comentarios, en ningún momento ni uno de ellos fue en el sentido de ofender a usted o a su trabajo. Cuando expresé que era un gran relajo me referí al hecho de la programación como tal, ya que yo soy nuevo en programación, me angustia un tanto que usted piense que lo miro como un secretario o parecido, cosa que en ningún momento quise hacerlo sentir. En todo caso le ofrezco una disculpa si las cosas se reflejaron como tal y aclarar que si he agradecido en comentarios anteriores (cuando logré compilar) y lo sigo estando.

Un saludo
#1,597
hola Sr. Antonio Castro
unas preguntas;
Tengo un arduino mega 2560, una pantalla 20x4 LCD con modulo I2C, me estoy fabricando el teclado, tengo instalado el Modulo RTC I2C todo ello en una placa prototype shield V3.0, me falta las sondas Ds18B20 y PH, el modulo Arduino PH Shield de Dormant Labs no lo tiene ya en fabricación y hay que apuntarse en una lista de espera creo entender en la paguina web de la tienda, pero en eBay existe uno a un precio asequible pero hay un inconveniente que no es I2C. Habria que modificar o añadir otro modulo de PH ? y otro modulo de calibracion?...se puede añadir una función para que el display no este siempre encendido? añadiendo una tecla extra para encenderlo por ejemplo. De momento todo funciona bien menos la temperatura que estoy a la espera de que llegen las sondas y con la sonda de Ph no sé que hacer...
#1,598
(08-02-2016, 11:18 PM)edzvlogs escribió:
(08-02-2016, 02:21 PM)Antonio Castro escribió:
(08-02-2016, 01:16 AM)edzvlogs escribió:
(07-02-2016, 10:58 PM)Antonio Castro escribió:
(07-02-2016, 08:50 PM)edzvlogs escribió: Por fin pude!! Big Grin Muchas gracias! ahora solo tendré que instalar algunos trastos y listo! Solo tengo una duda, se podría aplicar en un LCD 16x2? Me imagino que si, pienso que implica una organización en cuanto a los espacio en donde manda para imprimir al LCD

CAO1 viene para LCD 20x4 y usar un LCD de 16x2 implicaría una cantidad de trabajo tremendo y ademas el resultado sería bastante malo. En resumen no se puede.

En SimpleDimmer quizás se podría poner algo. Yo ahora no me voy a dedicar a nada de eso, para mi no tiene mucho sentido.


Si veo que es gran relajo con respecto a hacer las modificaciones, de hecho porbe el DIMMER y me lanzó errores, y eso que metí el archivo como lo señala el reedme.txt

¿Gran relajo? ¿Te he estado ayudando y me hablas como si fuera tu secretario?

1) Estoy trabajando en la segunda versión de mi libro CAO1.
2) Estoy trabajando en un nuevo libro y pretendo publicar ambos a la vez.
3) Estoy trabajando en varios proyectos de programación de forma simultánea y uno de ellos fue a petición del foro.
4) Por falta de tiempo mis acuarios están peor que nunca.
5) Hoy por fin he publicado un vídeo en mi canal pero siempre hasta ahora había publicado como minimo un vídeo al mes y ahora he tardado dos meses en publicar este y con ello perjudico a mis 7.140 suscriptores a los cuales les debo una enorme fidelidad. Me han generado más de un millón de reproducciones en Youtube y en lugar de atenderles a ellos estoy volcándome en estos temas de Arduino porque creo que tienen el potencial de ser de mucha ayuda para mucha gente.

Me estoy retrasando con muchas cosas, pero no es relajo, es lo que hay.

Lo que quiero que entiendas es que yo aporto a la comunidad todo lo que puedo, pero en temas de ayudas personales, estoy muy limitado y tengo que medir mis esfuerzos y el que decide en eso soy yo. En lugar de agradecerme mi esfuerzo de esa forma, podrías haberme preguntado que si sé de otros proyectos parecidos al mío que que puedan ser de utilidad y con mucho gusto te los habría indicado.

Te estoy tratando con la máxima educación y espero que todo el mundo aquí haga lo mismo, pero espero que ahora tengas claro cuales son tus derechos sobre mi trabajo totalmente altruista y licencia Creative Commons.

Insisto, espero que todo el mundo te dedique el mismo respeto que yo. A eso sí tienes derecho.



Don Antonio, creo que mal interpreto mis comentarios, en ningún momento ni uno de ellos fue en el sentido de ofender a usted o a su trabajo. Cuando expresé que era un gran relajo me referí al hecho de la programación como tal, ya que yo soy nuevo en programación, me angustia un tanto que usted piense que lo miro como un secretario o parecido, cosa que en ningún momento quise hacerlo sentir. En todo caso le ofrezco una disculpa si las cosas se reflejaron como tal y aclarar que si he agradecido en comentarios anteriores (cuando logré compilar) y lo sigo estando.

Un saludo

Ok, no hay problema, pero también debes procurar poner de tu parte leyendo las instrucciones y siguiéndolas al pie de la letra. Son bastante claras, pero si no entiendes algo es mejor preguntar antes de empezar a hacer cosas.

Yo siempre recomiendo empezar a practicar con ejemplitos muy sencillos. De esa forma te familiarizas con el entorno. Los atajos no solo te harán perder el tiempo a ti, también a los que intentan ayudarte.

Estoy en un momento con especial carga de trabajo. Atiendo a mis proyectos como el chino que hace girar los platillos en la punta de las varilla y si no fuera así no me importaría ayudarte en añadir el LCD a SimpleDimmer.

Haz pruebas con el LCD. Haz pruebas con el reloj. Haz un programita que valla mostrando la hora. Inspirate en otros programas. Copia, pega, juega, se paciente, aprende...
#1,599
(09-02-2016, 01:06 AM)miguelangel escribió: hola Sr. Antonio Castro
unas preguntas;
Tengo un arduino mega 2560, una pantalla 20x4 LCD con modulo I2C, me estoy fabricando el teclado, tengo instalado el Modulo RTC I2C todo ello en una placa prototype shield V3.0, me falta las sondas Ds18B20 y PH, el modulo Arduino PH Shield de Dormant Labs no lo tiene ya en fabricación y hay que apuntarse en una lista de espera creo entender en la paguina web de la tienda, pero en eBay existe uno a un precio asequible pero hay un inconveniente que no es I2C. Habria que modificar o añadir otro modulo de PH ? y otro modulo de calibracion?...se puede añadir una función para que el display no este siempre encendido? añadiendo una tecla extra para encenderlo por ejemplo. De momento todo funciona bien menos la temperatura que estoy a la espera de que llegen las sondas y con la sonda de Ph no sé que hacer...


En la version 1.2.1 hay un nuevo parámetro EP_AUTO_SLEEP que cuando vale true hace que el LCD se apague por la noche cuando la botonera lleva más de minuto y medio sin usarse. Actua como una forma de ahorro de energía nocturno.

A partir de la línea 90 del código del programa principal (CAO_1.2.1.ino) , puedes ver lo siguiente:

Código:
// **** Refrescar el LCD para monitorizar el sistema salvo que sea de noche y esté activo
    // **** el modo AUTO_SLEEP  
    Noche= (Dimmer.GetZn()==0); // si estamos en periodo nocturno  
    if (Noche){
        // Si la botonera no registra cambios desde hace minuto y medio esta activo el modo AutoSleep
        if ( (Pulsad.DcSegDsdCambBotonera()>900) && Parm.EEP_Read(EP_AUTO_SLEEP)){
            LCD.Cls();
        }
        else{
            LCD.Refresh();
        }
    }

Si no te basta con eso y quieres que haga el AUTO_SLEEP tambien por el día puedes parchear el código cambiando la condicion Noche por true (siempre cierto) para que sea incondicional. Eso lo puedes hacer comentando la línea y poniendo la linea modificada, de la siguiente forma.

Código:
// **** Refrescar el LCD para monitorizar el sistema salvo que sea de noche y esté activo
    // **** el modo AUTO_SLEEP  
    Noche= (Dimmer.GetZn()==0); // si estamos en periodo nocturno  
    //  if (Noche){  // PARCHE MIGUELANGEL
     if (true) {       // PARCHE MIGUEANGEL
        // Si la botonera no registra cambios desde hace minuto y medio esta activo el modo AutoSleep
        if ( (Pulsad.DcSegDsdCambBotonera()>900) && Parm.EEP_Read(EP_AUTO_SLEEP)){
            LCD.Cls();
        }
        else{
            LCD.Refresh();
        }
    }

Cuando parcheo un programa de otra persona suelo añadir algo como comentario para que me ayude a localizar mis parches en caso necesario.

Respecto a los sensores de pH
El software de CAO1 actualmente es compatible tanto con sensores analógicos para Arduino, como con sensores digitales I2C. Yo no he probado nada más que el de Dormant Labs pero hay varias marcas y modelos que han resultado ser compatibles con el software CAO1. El hilo de estos interesantes comentarios empieza en http://acuariofiliamadrid.org/Thread-Aul...#pid158718
Los modelos de los sensores que fueron debatidos fueron.

Mini pH Interface I2C de Tindie.
https://www.tindie.com/products/SparkysWidgets/miniph-i2c-ph-interface/

pH to I2C, sensor for Arduino with Grove connector.
https://www.tindie.com/products/CyberPla...od_search

Dormant Labs PH Module V2
https://www.tindie.com/products/rezahuss...module-v2/
Este es el segundo modelo de medidor de pH de Reza Hussain que ya no está disponible. El primero era analógico. Quizás se publique más adelante un tercer modelo, pero de momento no se sabe nada.
#1,600
hola
Muchas gracias Sr. Antonio Castro por la contestacion tan precisa y rapida, de momento he comprado esto hoy, esta al 50% durante 12 horas.. y en 7h se acava...

http://es.aliexpress.com/item/2015-The-B...39246.html

estoy en espera para ver si vaja de precio tambien su complemento en analogico de 0 a 5v

http://es.aliexpress.com/item/Liquid-PH-...96246.html

la verdad no sé lo que tardara en llegar...
estoy montando la placa con los 5 pulsadores y resistencias... luego mirare la placa de los reles para el arduino... todo esto con tranquilidad y paciencia, me queda por ver la caja donde ira todo dentro.
gracias por todo
Saludos Cordiales Miguel Angel
#1,601
(10-02-2016, 03:34 AM)miguelangel escribió: hola
Muchas gracias Sr. Antonio Castro por la contestacion tan precisa y rapida, de momento he comprado esto hoy, esta al 50% durante 12 horas.. y en 7h se acava...

http://es.aliexpress.com/item/2015-The-B...39246.html

estoy en espera para ver si vaja de precio tambien su complemento en analogico de 0 a 5v

http://es.aliexpress.com/item/Liquid-PH-...96246.html

la verdad no sé lo que tardara en llegar...
estoy montando la placa con los 5 pulsadores y resistencias... luego mirare la placa de los reles para el arduino... todo esto con tranquilidad y paciencia, me queda por ver la caja donde ira todo dentro.
gracias por todo
Saludos Cordiales Miguel Angel

Suerte -good.gif
#1,602
Sr. Antonio Castro
he visto su proyecto del control del nivel de agua en el acuario, me parece espectacular, se puede integrar de alguna forma en el CAO? que diferencia hay entre el dispositivo ADXL335 y el ADXL345?
saludos...Miguel Angel
#1,603
(10-02-2016, 04:49 PM)miguelangel escribió: Sr. Antonio Castro
he visto su proyecto del control del nivel de agua en el acuario, me parece espectacular, se puede integrar de alguna forma en el CAO? que diferencia hay entre el dispositivo ADXL335 y el ADXL345?
saludos...Miguel Angel

ADXL335 es más antiguo y un poco más barato que ADXL345.

ADXL335 es analógico (muy sencillo de programar) y mide entre +/-3G. Mide ángulos ligeramente mayores a 1º

ADXL345 es digital va por I2C mide entre +/-16g y es algo más sensible. Mide ángulos ligeramente menores de 1º. Consume algo menos.

Nosotros lo usaremos de forma estática así que la pricipal ventaja de ADXL345 que es medir aceleranciones dentro de un mayor rango de valores (+/-16g), no la podemos aprovechar y con la resolución del ADXL335 tenemos de sobra.
#1,604
hola
don Antonio Castro, he actualizado la version del programa para programar el arduino, antes tenia la versión 1.6.5 en windows 10 del programa para grabar el arduino ahora tengo la version mas nueva 1.6.8 en wondows 10. da errores pero alfinal compila. no se si sera la version del progarama grabador del arduino pero antes me daba ningun error me da estas cosas el programa es de windows 10 no en ubuntu linux:









In file included from C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:21:0:

sketch\CAO1_CONFIG.h:121:29: warning: ISO C99 requires whitespace after the macro name [enabled by default]

#define ATmega_1280_2560 

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino: In function 'int GetTempAcu()':

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:169:54: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

return ds18x20.GetTempAddr(ADDR_DS18X20_TEMP_ACUA);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino: In function 'int GetTempLeds()':

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:178:54: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

return ds18x20.GetTempAddr(ADDR_DS18X20_TEMP_LEDS);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino: In function 'void setup()':

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:236:19: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

PtArranque="lento";

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:241:19: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

PtArranque="rapido";

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:255:64: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

PosSensTempAcua=ds18x20.GetPosSensor(ADDR_DS18X20_TEMP_ACUA);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:256:64: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

PosSensTempLEDs=ds18x20.GetPosSensor(ADDR_DS18X20_TEMP_LEDS);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:267:103: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

SensTempAcua.IniBroken(EP_MIN_TMP_ACU, "TAc", Pin_ReleCalefAcua, PinDecrTempAcua, false, false);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:271:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

LCD.PrintLn_Ser(ADDR_DS18X20_TEMP_ACUA);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:274:69: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

GetTempAcu, HandDecrTempAcua, 1, StrUnitSensor, true);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:279:87: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

SensTempLeds.IniBroken( EP_MIN_TMP_LED, "TLd", 0, PinDecrTempLeds, false, true);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:283:47: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

LCD.PrintLn_Ser(ADDR_DS18X20_TEMP_LEDS);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:286:70: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

GetTempLeds, HandDecrTempLeds, 1, StrUnitSensor, true);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:316:122: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

PhMtr.Ini(F("PhShield"), F("pH4"), F("pH7"), 'c', 0, 1000, "ANR", PinPhShield, 300, 400, 700, 1000, ArranqueLento);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:319:117: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

PhMtr.Ini(F("PhI2C"), F("pH4"), F("pH7"), 'c', 1, 1000, "IDL", PHADDRESS, 300, 400, 700, 1000, ArranqueLento);

^

C:\Users\Miguel Angel\CAO\otro\CAO_1.2.1\CAO_1.2.1.ino:326:51: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

GetPhAcu, NULL, 2, StrUnitSensor, true);

^


El Sketch usa 64.092 bytes (25%) del espacio de almacenamiento de programa. El máximo es 253.952 bytes.
Las variables Globales usan 4.217 bytes (51%) de la memoria dinámica, dejando 3.975 bytes para las variables locales. El máximo es 8.192 bytes.



si compila, pero al grabarlo al arduino en el LCD no sale completo en el display pero si sale bien por el puerto serie del programa del arduino, voy a cambiar otra vez a la version 1.6.5 en windows 10.

hola
Don Antonio Castro confirmado en windows 10 con 8gb de memoria instalado la version del programa arduino v1.6.6 dan los errores, tambien con las versiones 1.6.7 y 1.6.8 solo funciona todo bien con la Version del programa del arduino 1.6.5
con las versiones superiores en la pantalla del LCD no aparecen los caracteres completos, aparecen los errores del post anterior.. probado en windows 10 solo.

saludos Miguel Angel
#1,605
Trátame de tú por favor.

Ya te dije que todo lo que venga indicado con warning no es un error. es un aviso.
En la versión de mi IDE nunca salen esos avisos. Si salen avisos en versiones posteriores es de suponer que permitirá cambiar algunas opciones del compilador para que no salgan. Por ejemplo puede ser que se puedan eliminar todos los avisos warning, o puede que también se puedan eliminar solo cierto tipo de avisos.

Imagino que han logrado acojonar a mucha gente con todo esto.

El lenguaje C++ tiene un control de tipos muy estrictos pero, parece que en los nuevos compiladores han decidido hacerlos aún más estrictos. En realidad los warning pueden ser ignorados sin problema, pero cuando te ponen cosas como "deprecated conversion" (conversión en deshuso) te están invitando de modo poco sutil a que vallas pensando en hacer las cosas de otra forma porque quizás más adelante decidan considerarlo con inadmisible, y eso lo hacen con sentencias que no representan graves problemas para una persona que quiere hacer un programa que funcione en una plataforma concreta.

Si tú desarrollas un módulo que puede ser usado por mucha gente en muchas plataformas diferentes debes ser especialmente cuidadosos y en Arduino tenemos plataformas que son muy diferentes. Cambiar las versiones de un compilador de una forma tan brutal solo está justificado en casos muy concretos, pero yo sospecho que todo estos temas empezaron con Arduino DUE. Los Arduinios normalitos son de 8 bits y el Arduino DUE es de 32 bits. Cuando salió Arduino DUE, usaba su propio IDE.

Si desde el principio hubieran optado por usar un compilador muy estricto los usuarios nos habríamos adaptado, pero Arduino se pensó con la prioridad clara de que fuera fácil de programar. Es imposible satisfacer a todo el mundo y de alguna manera lo que ahora representa un perjuicio para los principiantes puede ser una ventaja para los ingenieros de software. Arduino ha dejado de ser un juguete y se usa para proyectos muy serios, así que tarde o temprano habrá que pasar por el aro.

Lo que están haciendo ahora habrá obligado a reescribir una buena parte de las librerías. Creo que habrá cabreado a más de uno, y no me extrañaría que el comportamiento del LCD tenga que ver con algún fallo en la nueva librería LCD o con algún problema de portabilidad con la antigua. Lo que quiero decir es que quizás esos problemas requieran reinstalar las librerías con las nuevas versiones.

Yo este tipo de problemas lo conozco pro haber trabajado en sistemas UNIX.
En C hay programas como lint que sirven para generar una enorme cantidad de avisos sobre cosas que pueden ser sospechosas de provocar diferente tipo de problemas. Por ejemplo problemas de portabilidad a otras plataformas.

Parece ser que el cambio fuerte ha ocurrido en el paso de 1.6.5 a la versión 1.6.6 y no tengo ni idea de como se llegó a esa decisión, pero seguramente sea una decisión que por diferentes motivos no han podido retrasar más porque supone un cambio de enfoque muy grande.

Insisto en que warning no significa error. Es un aviso para los desarrolladores, para que empecemos a hacer las cosas de forma diferente.

Recomiendo usar el IDE 1.6.4. para CAO1.
Son 9000 líneas de código y no se me pasa por la cabeza reescribirlo.

Cuando tenga tiempo instalaré la nueva versión del IDE y la usaré en nuevos desarrollos.

Usuarios navegando en este tema: 4 invitado(s)


Salto de foro: