Permiteme decirte que te equivocas, la mejor manera es empezar desde cero con tutoriales basicos pars entender que estas haciendo, copiar y pegar codigo no sirve de nada.si no lo entiendes. Coje un programa desde arriba y analiza y entiende cada linea, cuando haya algo que no entiendas pregunta.
Si usas tu metodo no aprenderas y la gente no.va a estar explicandote todo, en mi firma tienes muchos tutoriales. Suerte.
No acentos...movil.
Sergegsx:
Permiteme decirte que te equivocas, la mejor manera es empezar desde cero con tutoriales basicos pars entender que estas haciendo, copiar y pegar codigo no sirve de nada.si no lo entiendes. Coje un programa desde arriba y analiza y entiende cada linea, cuando haya algo que no entiendas pregunta.
Si usas tu metodo no aprenderas y la gente no.va a estar explicandote todo, en mi firma tienes muchos tutoriales. Suerte.
No acentos...movil.
Pues ciertamente estoy de acuerdo con lo que dices, pero es que me corre prisa un proyecto. Muchas gracias, según avance en el proyecto lo iré publicando y en paralelo iré estudiando los ejemplos.
No sé cuantas etapas puede tener un ciclo de incubación, ni que precisión requiere el proyecto (días, horas, minutos,...), pero puedes guardar el estado del ciclo (día del ciclo, hora del ciclo,...) en la EEPROM y leer al principio del código el estado almacenado. Así si se reinicia, podrás continuar desde el principio de la última etapa iniciada.
jorgepl:
No sé cuantas etapas puede tener un ciclo de incubación, ni que precisión requiere el proyecto (días, horas, minutos,...), pero puedes guardar el estado del ciclo (día del ciclo, hora del ciclo,...) en la EEPROM y leer al principio del código el estado almacenado. Así si se reinicia, podrás continuar desde el principio de la última etapa iniciada.
Son del día 0 al día 18 y del día 18 al día 21 y luego se deja 1 día o 2 días mas de margen por si hay algún pollito que no quiere salir. Se que el Arduino cuenta hasta 50 días que son los byte que pueden contar. Lo que no se es que eso se puede guardar en una EPROM que lleva el Arduino o se la tienes que incluir.
De todas maneras ya compre el el reloj DS1307 y lo voy a utilizar, además en el mismo shield viene una EPROM compartiendo el mismo bus I2C.
Tengo unas dudas respecto a este codigo:
void setDateDs1307()
{
second = (byte) ((Serial.read() - 48) * 10 + (Serial.read() - 48)); // Uso de (byte) conversión de tipo ASCII y matemáticas para lograr el resultado.
minute = (byte) ((Serial.read() - 48) *10 + (Serial.read() - 48));
hour = (byte) ((Serial.read() - 48) *10 + (Serial.read() - 48));
dayOfWeek = (byte) (Serial.read() - 48);
dayOfMonth = (byte) ((Serial.read() - 48) *10 + (Serial.read() - 48));
month = (byte) ((Serial.read() - 48) *10 + (Serial.read() - 48));
year= (byte) ((Serial.read() - 48) *10 + (Serial.read() - 48));
Wire.beginTransmission(DS1307_I2C_ADDRESS);
I2C_WRITE(zero);
I2C_WRITE(decToBcd(second) & 0x7f); // 0 to bit 7 starts the clock
I2C_WRITE(decToBcd(minute));
I2C_WRITE(decToBcd(hour)); // If you want 12 hour am/pm you need to set
// bit 6 (also need to change readDateDs1307)
I2C_WRITE(decToBcd(dayOfWeek));
I2C_WRITE(decToBcd(dayOfMonth));
I2C_WRITE(decToBcd(month));
I2C_WRITE(decToBcd(year));
Wire.endTransmission();
}
A ver si alguien me lo puede exlicar
Muy buenas, tengo buenas noticias, he hecho que me funcione el siguiente código. Yo copiaba y pegaba el código y le daba a verificar y no me daba errores pero no sabía como imprimir la fecha y la hora ni como establecer la hora ni fecha. Y un momento de esos de lucidez leí el encabezado mas detenidamente y vi que si escribías R o r te imprimía la fecha y la hora en el monitor del IDE pero solo me saían caracteres raros, y un día entero mirando el código hasta que ví que la velocidad de comunicación con el puerto serie era de 57600 baudios y el IDE lo tenía configurado por defecto a 9600 baudios, por lo tanto lo puse a la misma velocidad que en la configuración del puerto serie del Sketch y UALA... ahora puse una r o R y di a "send" y pumba, ahi tenía la hora y la fecha que en ese momento tenía el reloj. También pude establecer la fecha y la hora exacta en la que nos encontramos. Apague a mi amiguete Arduino y lo encendí a los 30 minutos y no se paró nin un momento. Por lo tanto he conseguido lo que yo quería, Ahora me tengo que comer la cabeza para que mi Sketch compare el día que inicia el ciclo de incubación con el que tiene el reloj y así sabrá en que momento empieza el ciclo. La historia es que para mi me cuesta bastante al ser muy novato pero cuando consigo estas cosas me da muchisima satisfacción y ganas de seguir adelante.
El codigo es el siguiente, estoy traduciendo los comentarios en español:
Os pongo el link porque no me deja incluir el código porque excedo de carácteres:
http://combustory.com/wiki/index.php/RTC1307_-_Real_Time_Clock
i agree with barkalez. thanks for the share, keep posting !
Thanks again
Ammumarket:
i agree with barkalez. thanks for the share, keep posting !
Thanks again
¿¿¿ Se ha dado de alta un usuario americano solo para agradecer al compañero que haya puesto el video del LCD ???
Ya lo que me faltaba por ver.... si me pinchan no sacan sangre ![]()
Hola a todos nuevo, vuelvo a la carga y con mas ganas que antes, pido disculpas por dejar el proyecto a medias, fué así por motivos personales y poco tiempo.
Me ha costado un poco ponerme al día pero ya estoy actualizado con el proyecto. Estoy haciendo el esquema con el software Fritzing que es genial, lo recomiendo. Cuando lo tenga todo conexionado lo subo a mi blog para que lo veáis.
Voy a actualizar el blog y cuando esté actualizado subo el proyecto para que veais como va quedando.
Saludos a todos.
Felicitaciones por el emprendimiento!! Yo estoy haciendo lo mismo solo que las cosas de china demoran unos 30 días en llegar y se me hace complicada la continuidad.
Ya tengo el Arduino con el realClock y el LCD funcionando, donde se muestra humedad, temperatura, día de incubación. Días restantes. Me gustaba la idea de guardarla en la EEPROM pero aproveché esos bytes para guardar picos de humedad temperatura, reinicios del arduino.
Hoy por hoy estoy pensando en algunos extras que te comparto por las dudas que despierten interes y los podamos resolver:
- El volteo de los huevos se puede hacer tranquilamente con un mini servo, ya que lo aplicas sobre bandejas balanceadas. Los huevos van punta para abajo, a 45 gr de incluinación, y se los "rota" 90 gr para que queden a 45 gr en el otro sentido, AUNQUE, los huevos de pato van acostados. Por lo que este sistema tiene sus carencias. Hay que usar rodillos, o sarandas. Importante recordar que el soporte de los huevos tiene que estar bien limpio, no tener quimicos ni pinturas que con el calor contaminen el huevo, y estar perforados para permitir la ventilación y llegada de oxigeno.
- La cantidad de oxigeno: Si tenemos una tobera abierta, calefaccionar es complicado, si la cerramos podemos olvidar abrir y saturar de CO2 el recinto. Habria que ver de medir la saturación de Oxigeno, (o de CO2) y actuar en consecuencia con la apertura y cierre de una tobera.
- La humedad: Pensando en que nazcan solos, en la misma incubadora, no me gusta la idea de la bandeja con agua abajo, por lo que estaba pensando en un vaporizdor por ultrasonido. Tengo que investigar mas.
- La nacedora: para que las bandejas pivoteen y giren los huevos, la misma debe estar elevada. El día 18 no se mueve mas por lo que podría bajar al nivel del piso, y así estar en condiciones de esperar las eclosiones. De esa manra podría dejar la incubadora 26 días para sacar los pichones sin interacción.
En fin hay mucho por hacer, y ojala pueda ayudarte en tu proyecto con lo poco que he avanzado en el mio.
Saludos
al final como quedo este proyecto?