QUEDADA AM - JUNIO

Con esta quedada, nos despedimos hasta después del verano.
DOMINGO, 2 DE JUNIO. ¡APÚNTATE YA!

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: 438641
#856
Bueno, llevo estos dos ultimos dias con gastroenteritis, pero hoy que estoy mejor entro para dejaros luna foto del convertidor que me ha llegado hoy, a ver si mañana estoy repuesto y me lio a montarlo y hacerle comprobaciones para que lo veais que tal se comporta.

Saludos.

[Imagen: MbbYgp0.jpg]
[Imagen: c4nKmo4.jpg]
#857
A partir de los tres parámetro Zenit, FTPer y Crpsc se puede calcular
IniDia, IniNoche, IniAlba, IniOcaso

_IniDia= _Zenit ­ ((_FTPer­ - _Crpsc)/2) ;
_IniNoche= _Zenit + ((_FTPer+_Crpsc)/2) ;
_IniAlba= _IniDia - ­ _Crpsc ;
_IniOcaso= _IniNoche -­ _Crpsc;

A partir de IniDia, IniNoche, IniAlba, IniOcaso se puede calcular Zenit, FTPer y Crpsc.

P_Crpsc=P_IniDia ­- P_IniAlba;
P_IniNoche= P_IniOcaso + P_Crpsc;
P_FTPer=P_IniNoche­P - _IniDia;
P_Zenit=(P_IniOcaso+P_IniDia)/2;

Esto lo tienes en la página 104 de la versión PDF de mi libro que dejé aquí.

¿Para justificar la pregunta me mandas fotos? No entiendo que tiene que ver como tienes montado el controlador y las pantallas, ni como lo que yo te diga respecto a la programación te puede evitar a ti más trabajo de montar y desmontar. Si para averiguar algo, no me necesitas y te basta tomarte alguna molestia, pues tómatela. No se te van a caer los anillos por eso. Es la segunda vez que tengo que decirte que no soy tu secretario. Me da igual si no quieres ser ingeniero, estudia. Tienes que poner más de tu parte y no preguntar a la ligera cosas que con un poco de esfuerzo puedas averiguar tú. Mi labor es la de enseñar. Si te hago todo el trabajo no te estoy enseñando nada.
#858
hola ahora si subo las fotos para que todos las vean
el acuario
[Imagen: nCr8eb7.jpg]

[Imagen: 1H3yLhV.jpg]

hola ahora mientras sigo peleando con antonio me fabrique un limpia skimmer algunos no saben lo que es un skimmer es para sacar la caca de los peses y corrales jajjaja
ahi unas fotos de el montaje
[Imagen: d1jQJ5R.jpg]
[Imagen: 2hmjaxf.jpg]
[Imagen: 2d6odbr.jpg]
[Imagen: xm0kxx.jpg]
[Imagen: WIgrdrZ.jpg]
[Imagen: ZxxfCMD.jpg]
en esta ultima esta puesto en el skimmer lo controla el arduino para que limpie dos [/i] al dia 5 segundos
#859
Bueno bueno, priemeras pruebas muy satisfactorias, el convertidor convierte los voltajes de manera muy eficiente, ahora sigo con el montaje y mostrare pruebas con fotos en cuanto pueda.

Saludos.
#860
David, voy a pedir un par, tienes a mano el enlace eBay?.

Gracias
#861
(17-10-2014, 01:03 AM)Davidmadrid escribió: Bueno, llevo estos dos ultimos dias con gastroenteritis, pero hoy que estoy mejor entro para dejaros luna foto del convertidor que me ha llegado hoy, (...)

Pon el enlace David, al igual que a Xavi y a mí también me interesa comprarlo.
#862
El enlace es este, Logical Level Converter, pero no tiene en stock ya, le compre los dos ultimos, puedes preguntarle cuando vuelve a tener disponibles, no obstantes los hay mas baratos, yo los pedi a este vendedor porque estaba en valencia y el envio han sido 3 dias.
Una busqueda rapida y mira, elmismo vendedor tiene este ahora en venta, es distinto que el mio, pero supongo que el funcionamiento sera igual.

Se me olvidaba poner el enlace Logical Level Converter2
#863
despues de unas pruebas ahora en el simple dim tenemos 5 canales con horarios distintos

#define Pin_DimLeds 2 // Pin dimeo
#define Pin_DimLeds02 3 // Pin dimeo
#define Pin_DimLeds03 4 // Pin dimeo
#define Pin_DimLeds04 5 // Pin dimeo
#define Pin_DimLeds05 6 // Pin dimeo
#define PinRefrigLeds 33 // Pin ventiladores Leds
#define PinRefrigLeds 35 // Pin ventiladores Leds
#define EP_MAXDIM 250 // 0..255
#define EP_MAXDIM02 250 // 0..255
#define EP_MAXDIM03 250 // 0..255
#define EP_MAXDIM04 250 // 0..255
#define EP_MAXDIM05 250 // 0..255
#define EP_FTPERIOD 5400 // 9h
#define EP_FTPERIOD02 5400 // 9h
#define EP_FTPERIOD03 5400 // 9h
#define EP_FTPERIOD04 5400 // 9h
#define EP_FTPERIOD05 5400 // 9h
#define EP_ZENIT 10200 // a las 17:00
#define EP_ZENIT02 10350 // a las 17:15
#define EP_ZENIT03 10500 // a las 17:30
#define EP_ZENIT04 10650 // a las 17:45
#define EP_ZENIT05 10800 // a las 18:00
#define EP_CREPUSC 600 // 60 min
#define EP_CREPUSC02 600 // 60 min
#define EP_CREPUSC03 600 // 60 min
#define EP_CREPUSC04 600 // 60 min
#define EP_CREPUSC05 600 // 60 min

hola antonio una cosa la F que quiere decir
LCD.PrintLnSerBeep(LCD.Fmt(F("%s %s"), __DATE__, __TIME__), true, false);
#864
Bueno, aqui tengo las pequeñas comprobaciones que he hecho al convertidor logico de voltage para la DUE.

La DUE trae dos lineas SDA y dos lineas SCL, pero yo he montado sobre una misma linea SDA/SCL tanto la pantalla LCD 16x2 como el RTC DS3231, ambos estan alimentados independientemente con un transformador a 5v como tambien el modulo de reles.

El convertidor logico tiene que tener alimentacion, tanto de 5v como 3,3v, la alimentacion de 5v se la he dado con el transformador independiente con el que alimento todos los dispositivos, pero los 3,3v los he tenido que sacar del pin de la DUE.

La primera comprobacion era saber el voltaje que traia la linea SDA/SCL proveniente de el LCD y el RTC, y el resultado es este...

...el cable azul es el de la linea SCL...
[Imagen: yyskGhe.jpg]

...y el cable verde es el de la linea SDA...
[Imagen: G4KxjLt.jpg]

Ahora toca ver como el modulo convierte estas señales...

...y ambas lineas dan la misma lectura...
[Imagen: QngEsWl.jpg]

Ni por la DUE (que es original y no china) salen tan exactos los voltajes, en los pines de la DUE salen voltajes que oscilan entre 3,12v y 3,22v y sin embargo el convertidor los convierte a 3,29v.

Ahora el otro modulo que toca ver es el modulo de los reles.
Selecciono el pin digital 22 para activar un rele, y estando en estado HIGH estas son las lecturas que obtengo...

...al llegar al modulo convertidor mido esto...
[Imagen: ofzp0l.jpg]

...y a la salida mido esto...(desconecto el cable del modulo para que el consumo que haga el rele no me de una lectura erronea).
[Imagen: 2isvoj.jpg]

Creo que cumple su cometido, y todos los modulos funcionan perfectamente estando intercalado este convertidor logico.

Perdonar por las fotos, me ha sido dificil sujetar el movil y el tester al mismo tiempo jeje, aparte que ha girado las fotos el Tinypic.

Falta hacer funcionar el DS18B20, que veo por internet que cuesta bastante hacerlo funcionar y ya veremos si hace falta convertir las señales tambien.
Si logro hacerlo funcionar ya lo posteare.
Tambien os dejo el enlace de donde saque la ayuda para el RTC, Arduino DUE DS3231, espero que podais adaptarlo para el DS1307.
EL LCD me ha funcionado sin problemas con las librerias que utilizaba con la MEGA.

Saludos.
#865
(17-10-2014, 06:59 PM)Davidmadrid escribió: (...)
Falta hacer funcionar el DS18B20, que veo por internet que cuesta bastante hacerlo funcionar y ya veremos si hace falta convertir las señales tambien.
Si logro hacerlo funcionar ya lo posteare.
(...)


Según el Datasheet del DS18B20, puede operar desde +3.0v a +5.5v

Yo intentaría a 3.3v en modo de conexión normal (no modo parásito).
#866
(17-10-2014, 06:22 PM)william escribió: despues de unas pruebas ahora en el simple dim tenemos 5 canales con horarios distintos

#define Pin_DimLeds 2 // Pin dimeo
#define Pin_DimLeds02 3 // Pin dimeo
#define Pin_DimLeds03 4 // Pin dimeo
#define Pin_DimLeds04 5 // Pin dimeo
#define Pin_DimLeds05 6 // Pin dimeo
#define PinRefrigLeds 33 // Pin ventiladores Leds
#define PinRefrigLeds 35 // Pin ventiladores Leds
#define EP_MAXDIM 250 // 0..255
#define EP_MAXDIM02 250 // 0..255
#define EP_MAXDIM03 250 // 0..255
#define EP_MAXDIM04 250 // 0..255
#define EP_MAXDIM05 250 // 0..255
#define EP_FTPERIOD 5400 // 9h
#define EP_FTPERIOD02 5400 // 9h
#define EP_FTPERIOD03 5400 // 9h
#define EP_FTPERIOD04 5400 // 9h
#define EP_FTPERIOD05 5400 // 9h
#define EP_ZENIT 10200 // a las 17:00
#define EP_ZENIT02 10350 // a las 17:15
#define EP_ZENIT03 10500 // a las 17:30
#define EP_ZENIT04 10650 // a las 17:45
#define EP_ZENIT05 10800 // a las 18:00
#define EP_CREPUSC 600 // 60 min
#define EP_CREPUSC02 600 // 60 min
#define EP_CREPUSC03 600 // 60 min
#define EP_CREPUSC04 600 // 60 min
#define EP_CREPUSC05 600 // 60 min

hola antonio una cosa la F que quiere decir
LCD.PrintLnSerBeep(LCD.Fmt(F("%s %s"), __DATE__, __TIME__), true, false);

Todo eso responde a un sistema que tu tienes en la cabeza y tú sabrás si eso es exactamente lo que quieres hacer o no. El problema es que cuando tengas que modificar sobre eso, el código empezará a complicarse de manera exponencial y llegara un momento que te pierdas entre tanta línea.

Supongo que no te apetecerá aprender a hacer programación orientada a objetos porque su aprendizaje es algo que requiere tiempo, pero aún así, si que puedes hacer algo para mejorar tus programas. Intenta identificar los objetos de tu programa y sus atributos. Lo que tú estas haciendo es implementar varios canales. ¿Acaso un canal no es un objeto? ¿Qué atributos tendría ese objeto en tu programa?

Tranquilo, no es algo fácil de ver la primera vez, así que te voy a mostrar los objetos que tú podrías haber implementado.

Código:
//** Canal 1
#define Pin_DimLeds 2 // Pin dimeo
#define EP_MAXDIM 250 // 0..255
#define EP_FTPERIOD 5400 // 9h
#define EP_ZENIT 10200 // a las 17:00
#define EP_CREPUSC 600 // 60 min

//** Canal 2
#define Pin_DimLeds02 3 // Pin dimeo
#define EP_MAXDIM02 250 // 0..255
#define EP_FTPERIOD02 5400 // 9h
#define EP_ZENIT02 10350 // a las 17:15
#define EP_CREPUSC02 600 // 60 min

//** Canal 3
#define Pin_DimLeds03 4 // Pin dimeo
#define EP_MAXDIM03 250 // 0..255
#define EP_FTPERIOD03 5400 // 9h
#define EP_ZENIT03 10500 // a las 17:30
#define EP_CREPUSC03 600 // 60 min

//** Canal 4
#define Pin_DimLeds04 5 // Pin dimeo
#define EP_MAXDIM04 250 // 0..255
#define EP_FTPERIOD04 5400 // 9h
#define EP_ZENIT04 10650 // a las 17:45
#define EP_CREPUSC04 600 // 60 min

//** Canal 5
#define Pin_DimLeds05 6 // Pin dimeo
#define EP_MAXDIM05 250 // 0..255
#define EP_FTPERIOD05 5400 // 9h
#define EP_ZENIT05 10800 // a las 18:00
#define EP_CREPUSC05 600 // 60 min

//** Ventiladores
#define PinRefrigLeds 33 // Pin ventiladores Leds
#define PinRefrigLeds 35 // Pin ventiladores Leds

¿Te das cuenta que solo he cambiado el orden de tus sentencias y que he añadido algunos comentarios?

En realidad para el compilador apenas ha ocurrido ningún cambio, pero desde el punto de vista de la programación el cambio es muy grande. Ahora se intuye la presencia de una estructura nueva.

Solo si te apetece, puedes intentar implementar el objeto canal tal y como tú mismo acabas de describirlo, con esos cuatro atributos cuyo valor habría que pasar para inicializar el objeto canal. No intento animarte a que lo hagas, porque como ejercicio creo que te resultaría complicadillo je, je.

Me conformo con que vallas pillando ciertos conceptos nuevos. Nunca viene mal.
#867
si esta bien cada ves voy pillando mas el dimer pero sin que quiera complicar mas solo una cosa que creo que te falto responder es lo de la F para que es
#868
EL DS18B20 esta funcionando ya.

Si es verdad que hay post sobre fallos en OneWire, pero la verdad que son sobre la version del IDE 1.5.2, despues sobre versiones posteriores del IDE no hay informacion, solo hay que descargar las librerias de OneWire y DallasTemperature actualizadas y funciona sin problemas, debe que el fallo esta corregido en versiones posteriores del IDE o de OneWire.

Y Antonio, he probado a alimentar el DS18B20 con 3,3v y funciona sin problemas, asi que tenias razon sobre los datos del Datasheet.

Xavi, ahora no tengo tiempo ya, pero mañana te hago una demostracion del dimeo que se que tienes ganas de verlo jeje.

Saludos.
#869
Ok, espero ver tus pruebas.

Creo que hay una librería onewire especifica para el Due.

Ya he comprado un par de conversores para hacer pruebas.

Saludos
#870
¿Libreria especifica? Mira a ver cual es, yo almenos estoy usando la 2.2 y no he tenido problema hasta ahora.

A ver que tal esos conversores, ¿los has comprado del enlace que te he puesto?

Usuarios navegando en este tema: 3 invitado(s)


Salto de foro: