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: 438624
#826
Bueno, son unas pequeñas comprobaciones, nada del otro mundo, me gustaria tener conocimientos suficientes y dar una solucion, pero no llego a tanto y no Antonio, lo he alimentado con Arduino por comodidad, pero en la instalacion tengo una fuente de 5v dedicada para alimentar los dispositivos satelites, al principio lo alimentaba con Arduino pero al ver que los que mas sabeis aqui los alimentais separadamente me he animado hacerlo igual.

Con el LCD he hecho unas pequeñas comprobaciones y nada, imposible, estando conectada en paralelo lleva 6 pines en E/S digitales y en 5 de ellas manda 5v, intentandolo alimentar a 3.3v se pierde la visibilidad de ella, he intentado tambien alimentar a 3.3v el LCD pero en los 2 pines dedicados para el led de iluminacion le he metido 5v y si, se ilumina mas el LCD pero imposible ver las letras pintadas en el LCD.
Conectandola por I2C ni lo intento porque va pasar lo mismo, asi que o lo dejo asi y me arriesgo a que se dañe la DUE o compro un convertidor logico, estoy por lo segundo, si me decido a comprarlo ya veremos que tal funciona y pondre las pruebas que haga.

Bueno Antonio, dale caña a ese libro, ya seguiremos hablando de estos temas.

Saludos a todos.
#827
(11-10-2014, 10:25 PM)william escribió: hola Antonio mira no te cabrees ...
No estoy cabreado. Pero me haces perder un tiempo que yo no puedo permitirme despilfarrar y menos ahora.

(11-10-2014, 11:56 PM)Davidmadrid escribió: Bueno, son unas pequeñas comprobaciones, nada del otro mundo, me gustaria tener conocimientos suficientes y dar una solucion, pero no llego a tanto y no Antonio, lo he alimentado con Arduino por comodidad, pero en la instalacion tengo una fuente de 5v dedicada para alimentar los dispositivos satelites, al principio lo alimentaba con Arduino pero al ver que los que mas sabeis aqui los alimentais separadamente me he animado hacerlo igual.

Con el LCD he hecho unas pequeñas comprobaciones y nada, imposible, estando conectada en paralelo lleva 6 pines en E/S digitales y en 5 de ellas manda 5v, intentandolo alimentar a 3.3v se pierde la visibilidad de ella, he intentado tambien alimentar a 3.3v el LCD pero en los 2 pines dedicados para el led de iluminacion le he metido 5v y si, se ilumina mas el LCD pero imposible ver las letras pintadas en el LCD.
Conectandola por I2C ni lo intento porque va pasar lo mismo, asi que o lo dejo asi y me arriesgo a que se dañe la DUE o compro un convertidor logico, estoy por lo segundo, si me decido a comprarlo ya veremos que tal funciona y pondre las pruebas que haga.

Bueno Antonio, dale caña a ese libro, ya seguiremos hablando de estos temas.

Saludos a todos.

Yo también optaría por la compra del traductor de voltajes. No solo es menos arriesgado. Es algo que parece bastante útil.
#828
aqui un codigo para implantar la face de la luna


float moonPhase(int moonYear, int moonMonth, int moonDay)

5
{

6
float LC = 29.53059; // 1 ciclo lunar = 29.53059 dias.

7
double AG;

8
float phase;

9
double IP;

10
long YY, MM, K1, K2, K3, JulianDay;

11
YY = moonYear - floor((12 - moonMonth) / 10);

12
MM = moonMonth + 9;

13
if (MM >= 12)

14
{

15
MM = MM - 12;

16
}

17
K1 = floor(365.25 * (YY + 4712));

18
K2 = floor(30.6 * MM + 0.5);

19
K3 = floor(floor((YY / 100) + 49) * 0.75) - 38;

20
JulianDay = K1 + K2 + moonDay + 59;

21
if (JulianDay > 2299160)

22
{

23
JulianDay = JulianDay - K3;

24
}

25
IP = MyNormalize((JulianDay - 2451550.1) / LC);

26
AG = IP*LC;

27
phase = 0;

28



29
//Determine the Moon Illumination %

30
if ((AG >= 0) && (AG <= LC/2)) //FROM New Moon 0% TO Full Moon 100%

31
{

32
phase = (2*AG)/LC;

33
}

34
if ((AG > LC/2) && (AG <= LC)) //FROM Full Moon 100% TO New Moon 0%

35
{

36
phase = 2*(LC-AG)/LC;

37
}

38
//Determine the Lunar Phase

39
if ((AG >= 0) && (AG <= 5.54)) // 0 a 35%

40
{

41
LP = tabela_textos_fase[1]; // "LUA NOVA"

42
}

43
if ((AG > 5.17) && (AG <= 14.32)) //35 a 97%

44
{

45
LP = tabela_textos_fase[2]; // "LUA CRESCENTE"ok

46
}

47
if ((AG > 14.32) && (AG <= 15.21)) // 97 a 100 e de 100 a 97%

48
{

49
LP = tabela_textos_fase[3]; // "LUA CHEIA"

50
}

51
if ((AG > 15.21) && (AG <= 24.36)) //97 a 35%

52
{

53
LP = tabela_textos_fase[4]; // "LUA MINGUANTE"

54
}

55
if ((AG >= 24.36) && (AG <= LC)) //35 a 0%

56
{

57
LP = tabela_textos_fase[1]; // "LUA NOVA"

58
}

59



60
return phase;

61
}

62



63
/******* Normalization Function *******/

64
double MyNormalize(double v)

65
{

66
v = v - floor(v);

67
if (v < 0)

68
v = v + 1;

69
return v;

70
}

71
#829
(12-10-2014, 06:29 PM)william escribió: aqui un codigo para implantar la face de la luna
(...)

Compilaló, ejecútalo con algunos datos de prueba y chequealó.
Te servirá para practicar.
#830
Acabo de suprimir la versión borrador del libro y os dejo la versión corregida. Espero que os guste:
.pdf   CAO1_Kindle_VersionPDF.pdf (Tamaño: 1.61 MB / Descargas: 94)
#831
hola nosotros hablando de pantallas de 20.4 pero yo creo que para un prollecto como el CAO estaria mucho mejor con una de estas no? y por el precio
http://www.aliexpress.com/item/2-8-inch-...33634.html
#832
(13-10-2014, 11:05 AM)william escribió: hola nosotros hablando de pantallas de 20.4 pero yo creo que para un prollecto como el CAO estaria mucho mejor con una de estas no? y por el precio
http://www.aliexpress.com/item/2-8-inch-...33634.html
Camba con Aliexpress. Tiene un precio increíble de US$ 10.2, pero no ofrecen demasiada información sobre ella. No viene ni el modelo.
Podría ser el modelo SE-SLD10261P
Creo que es la misma que la de rpelectronics que cuesta CA$ 69.80 (¿Dolares canadienses?)
Creo que también es la mima que la de bricogeek que allí cuesta 43 euros.
La de bricogeek la ofrecen mucha más información, incluyendo información sobre la librería que necesita, cosa imprescindible, y con mucha información adicional. Comprar la de Aliexpress es un riesgo. Si no es el mismo hardware podrías tener un cacharo que no sepas hacerlo funcionar. pasa con demasiada frecuencia. Aliexpress vende absolutamente de todo es Alibaba, el gigante chino. Por eso podría no estar dando el tratamiento adecuado a su catálogo de componentes electrónicos.
Viene como shield, usa un montón de pines:
D4,D5,D6,D7 para TFT Screen Control.
D1, D11,D12,D13 para SPI Interface.
A0, A1, A2, A3 para Touch Function.
Funciona únicamente a 5V. conectarlo a un Arduino DUE necesitaría de un Arduino UNO que hiciera de adaptardor. je, je.
A mí me gusta más usar I2C, de todas formas es un producto muy interesante.
#833
LA Libreira de aca
https://learn.adafruit.com/2-8-tft-touch...d/overview
#834
(12-10-2014, 12:53 AM)Antonio Castro escribió:
(11-10-2014, 10:25 PM)william escribió: hola Antonio mira no te cabrees ...
No estoy cabreado. Pero me haces perder un tiempo que yo no puedo permitirme despilfarrar y menos ahora.

(11-10-2014, 11:56 PM)Davidmadrid escribió: Bueno, son unas pequeñas comprobaciones, nada del otro mundo, me gustaria tener conocimientos suficientes y dar una solucion, pero no llego a tanto y no Antonio, lo he alimentado con Arduino por comodidad, pero en la instalacion tengo una fuente de 5v dedicada para alimentar los dispositivos satelites, al principio lo alimentaba con Arduino pero al ver que los que mas sabeis aqui los alimentais separadamente me he animado hacerlo igual.

Con el LCD he hecho unas pequeñas comprobaciones y nada, imposible, estando conectada en paralelo lleva 6 pines en E/S digitales y en 5 de ellas manda 5v, intentandolo alimentar a 3.3v se pierde la visibilidad de ella, he intentado tambien alimentar a 3.3v el LCD pero en los 2 pines dedicados para el led de iluminacion le he metido 5v y si, se ilumina mas el LCD pero imposible ver las letras pintadas en el LCD.
Conectandola por I2C ni lo intento porque va pasar lo mismo, asi que o lo dejo asi y me arriesgo a que se dañe la DUE o compro un convertidor logico, estoy por lo segundo, si me decido a comprarlo ya veremos que tal funciona y pondre las pruebas que haga.

Bueno Antonio, dale caña a ese libro, ya seguiremos hablando de estos temas.

Saludos a todos.

Yo también optaría por la compra del traductor de voltajes. No solo es menos arriesgado. Es algo que parece bastante útil.

Estoy viendo que hay una alternativa más barata a comprar el
4-channel I2C-safe Bi-directional Logic Level Converter - BSS138
que consiste en fabricárselo uno mismo.

I2C bi-directional level shifter
http://playground.arduino.cc/Main/I2CBi-...velShifter


A bidirectional logic level converter (for I2C)
http://www.instructables.com/id/A-bidire...r-for-I2C/
#835
(13-10-2014, 07:50 PM)Antonio Castro escribió:
(12-10-2014, 12:53 AM)Antonio Castro escribió:
(11-10-2014, 10:25 PM)william escribió: hola Antonio mira no te cabrees ...
No estoy cabreado. Pero me haces perder un tiempo que yo no puedo permitirme despilfarrar y menos ahora.

(11-10-2014, 11:56 PM)Davidmadrid escribió: Bueno, son unas pequeñas comprobaciones, nada del otro mundo, me gustaria tener conocimientos suficientes y dar una solucion, pero no llego a tanto y no Antonio, lo he alimentado con Arduino por comodidad, pero en la instalacion tengo una fuente de 5v dedicada para alimentar los dispositivos satelites, al principio lo alimentaba con Arduino pero al ver que los que mas sabeis aqui los alimentais separadamente me he animado hacerlo igual.

Con el LCD he hecho unas pequeñas comprobaciones y nada, imposible, estando conectada en paralelo lleva 6 pines en E/S digitales y en 5 de ellas manda 5v, intentandolo alimentar a 3.3v se pierde la visibilidad de ella, he intentado tambien alimentar a 3.3v el LCD pero en los 2 pines dedicados para el led de iluminacion le he metido 5v y si, se ilumina mas el LCD pero imposible ver las letras pintadas en el LCD.
Conectandola por I2C ni lo intento porque va pasar lo mismo, asi que o lo dejo asi y me arriesgo a que se dañe la DUE o compro un convertidor logico, estoy por lo segundo, si me decido a comprarlo ya veremos que tal funciona y pondre las pruebas que haga.

Bueno Antonio, dale caña a ese libro, ya seguiremos hablando de estos temas.

Saludos a todos.

Yo también optaría por la compra del traductor de voltajes. No solo es menos arriesgado. Es algo que parece bastante útil.

Estoy viendo que hay una alternativa más barata a comprar el
4-channel I2C-safe Bi-directional Logic Level Converter - BSS138
que consiste en fabricárselo uno mismo.

I2C bi-directional level shifter
http://playground.arduino.cc/Main/I2CBi-...velShifter


A bidirectional logic level converter (for I2C)
http://www.instructables.com/id/A-bidire...r-for-I2C/

Mmmm, no se, ayer compre en ebay 2 modulos de 4 canales cada uno por 3,80 euros, y me lo envian desde Valencia, seran chinos claro, y hoy tambien he estado en una tienda de electronica en Alcobendas y los BSS138 a 12 cm, me he traido unos cuantos, por si al llegarme los convertidores y no me convezcen su funcionamiento cambiarlos por los originales que creo que son de la casa Fairchild Semiconductor que son los que he comprado hoy, tambien me he traido 4 TXB0104 de la casa Dallas, aunque creo que interesa mas el TXB0108, que son 8 canales, pero estos integrados no valdrian para I2C, aunque son mas fiables que los BSS138.

La opcion de crearmelo la habia barajado pero creo que sale mas barato lo que te comento de cambiar los integrados, si no tienes liquido revelador ni circuitos impresos como es mi caso claro.

En cuanto me lleguen y les haga las pruebas hago fotos y os cuento.

¿Lo de las resistencias de 4k7 que sale en el enlace que has puesto es cuando quieres conectar dispositivos de 3.3v a 5v solo, verdad? no se como de estable seria eso, pero para nuestro caso es el caso contrario.

Hechale un ojo a este video, es una pena que no se vea que integrado es.

Arduino Due + LCD 16x2 5V + Bi-direcional MOSFET Voltage Level 3.3V Converter a 5V
#836
En el vídeo no se distingue gran cosa.

Te comento como veo yo el tema del pull-up en el caso de I2C.

La razón de ser de las resistencias pull-up creo que es es porque los dispositivos asumen que la linea SLC y SDA suministrarán un voltaje positivo y lo único que pueden hacer los distintos dispositivos conectados a ellos es bajar a 0 el voltaje en toda la línea mediante una especie de cortocircuito con GND. La resistencia debe ser suficientemente baja para que los 5 voltios lleguen bien y suficientemente alta como para no provocar una carga excesiva en el pin del Arduino. Los valores de estas resistencias yo creo que no son críticos porque en diversos circuitos con I2C se usan valores que oscilan entre 1k8 y los 47k. (los valores extremos yo no los usaría).
En Arduino UNO se recomienda 4k7 y el Arduino Mega, que ya viene con sus resistencia pull-up internas, usa 10K. (creo que pueden desactivarse por software pero no lo veo necesario). Ignoro que pull-up se usa en Arduino DUE.
Algunos dispositivos pueden dar problemas con resistencias bajas, estas suelen recomendarse cuando el bus es un poco largo. En Arduino Mega y en Arduino DUE se usan los mismos pines para I2C. Algunos dispositivos incluyen resistencias de pull-up pero no creo que usen resistencias de valores bajos porque sería una faena.

Yo creo que añadir un pull-up extra de 10k cuando ya existe un pull-up previo de 10k no tiene porque perjudicar. Sería como trabajar con un pull-up de 5k.

Yo no he tenido aún problemas trabajando con I2C, pero supongo que lo suyo es probar. El posible daño por usar mal esas resistencias estaría en la posibilidad de superar el máximo amperaje permitido para ese pin.

Yo deduzco que.

En Arduino DUE son 800 mA así que 3.3v/0.800= 4. No se puede usar una resistencia menor de 4 ohmios.

En Arduino Mega 2560 son 40mA así que 5v/0.040 = 12 No se puede usar una resistencia menor de 12 ohmios.

Lo que estoy diciendo es que esas serían el menor valor para las resistencias pull-ip para no poner en riesgo la integridad de esos pines, pero buena gana de cargar tanto consumo en una salida. Yo nunca usaría resistencia inferiores a 4k7 y siempre probaría primero a no poner ninguna cuando sepa que ya existe un pull-up y con 10k en el caso de que crea que no lo hay.
#837
La DUE trae resistencias pull-up en todas sus E/S de 100k, pero a diferencia de la Mega estas vienen desactivadas por defecto. Veremos que tal funcionan los convertidores logicos, hasta entonces no podre sacar conclusiones, en esta semana se suponen que me llegan, que ganas de ponerme a funcionar con la DUE jeje.

Saludos.
#838
(14-10-2014, 10:46 AM)Davidmadrid escribió: La DUE trae resistencias pull-up en todas sus E/S de 100k, pero a diferencia de la Mega estas vienen desactivadas por defecto. Veremos que tal funcionan los convertidores logicos, hasta entonces no podre sacar conclusiones, en esta semana se suponen que me llegan, que ganas de ponerme a funcionar con la DUE jeje.

Saludos.
Tengo un problema de cianofitas que he descuidado en los últimos días. Pensé que con el esterilizador de UV la cosa mejoraría y no es así. Ahora estoy añadiendo más luz. Tambien he descuidado un poco el mantenimiento de mis otros acuarios. Tengo mucha tarea atrasada.

Un tema que tengo pendiente y que seguramente pruebe en DUE es el dimeo de motores con DUE.

Wliliam en el mensaje 745 nos mandó un circuito que usaba un MOSFET y que él había probado.

[Imagen: rfp30n06le-arduino-motor_zpse71d62b0.png]

Es otra de las cositas que quiero probar en DUE.
#839
Hola si yo tengo dos ventiladores asi y van de muerte los tengo con horario y todo bien por ahora
#840
(14-10-2014, 09:21 PM)william escribió: Hola si yo tengo dos ventiladores asi y van de muerte los tengo con horario y todo bien por ahora
Ahora tengo algo más de tiempo.

Acabo de revisar el SimpleDimmer para ver si existía una forma sencilla de poder aprovechar eso para gobernar más de un cana.l He visto una posibilidad y aunque no lo he probado, creo que la inicialización de los módulos de fotoperiodo y del dimmer podría admitir una reinicializar con otros parámetros. Por ello, podrías redefinir las constantes adecuadas para poder inicializar un segundo canal y dentro de la rutina de refresco hacer dos actualizaciones del dimmer. Una para un canal y la otra para el segundo. No es elegante, es bastante chapuza pero es sencillo y te puede funcionar.

Puedes poner más de dos canales con este sistema. Cuando no quieras asociar un pin de ventilación a un canal puedes usar el pin cero. Espero que funcione.

La función Refresh para dos canales quedaría como sigue:

Código:
// **************************
void Refresh(){
    DateTime now = RTC.now();
    uint32_t UnTi;

    UnTi=now.unixtime();
    //** Dimeo del primer canal (tambien gobierna un ventilador)
    Dimmer.Ini(Pin_DimLeds, EP_MAXDIM, PinRefrigLeds, EP_DIMREFRIG, EP_FTPERIOD, EP_ZENIT, EP_CREPUSC );
    Dimmer.UpdateDimeos();
    //** Dimeo del segundo canal (sin gobernar nigún ventilador)
    Dimmer.Ini(Pin_DimLeds02, EP_MAXDIM02, 0, EP_DIMREFRIG02, EP_FTPERIOD02, EP_ZENIT02, EP_CREPUSC02 );
   Dimmer.UpdateDimeos();

    Serial.println(now.UnixTime2StrTime(UnTi));
    Serial.println(Dimmer.GetStrDimmer());
    Serial.println();
}

Usuarios navegando en este tema: 7 invitado(s)


Salto de foro: