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
Diseño de un programador básico de acuario con arduino
Respuestas: 434    Visitas: 102571
#211
El de 12V te vale para ir tirando, sólo será más ineficiente, pon disputa y pide uno de 9V, pero por ahora tira con 12V
#212
ya tengo abiertas tres disputas
y el soldador y las placas arduino
a falta de unos 10 días para terminar el plazo de protección


no hay nadie que lo este montando ya....por poner unas fotos -fisch.gif
#213
Por fin tengo todo para poder empezar-notworthy.gif solo me falta el micro arduino este le pedi unos días mas tarde.
Pero tengo el arduino uno
El relog que tampoco me ha llegado, he tenido que abrir una disputa por que se acababa el tiempo de protección.
Pero me lo ha pasado mi amigo Juan Luis, que le sobraba uno.
ademas espero que esta semana que viene tenga algo mas de tiempo;tendré que refrescar todo lo que hemos comentado para poder empezar.
#214
(10-02-2016, 08:48 AM)pedmar escribió: Por fin tengo todo para poder empezar-notworthy.gif solo me falta el micro arduino este le pedi unos días mas tarde.
Pero tengo el arduino uno
El relog que tampoco me ha llegado, he tenido que abrir una disputa por que se acababa el tiempo de protección.
Pero me lo ha pasado mi amigo Juan Luis, que le sobraba uno.
ademas espero que esta semana que viene tenga algo mas de tiempo;tendré que refrescar todo lo que hemos comentado para poder empezar.

Estupendo. El programa está terminado a falta de corregir fallos.
Yo pasé una beta a Arturo para que hiciera pruebas y parece que a él le da un problema que yo no he sido capaz de reproducir. He repasado las partes que podrían dar problemas y si eso no funciona intentaré ver la forma de reproducir el error.

Finalmente el programa carece de interfaz de usuario y necesita ser programado editando una función interna, tal y como se anunció, pero ha sido necesario ofrecer un pequeño menú por puerto Serial para poder tener un mínimo de control. Ha resultado menos simple de lo que yo pensé inicialmente, pero basta con entender algunas partes del programa principal y saber como modificar la función donde se definirá la programación que puede usarse para 8 salidas digitales.

Lo primero que tenéis que hacer es probar cada uno de vuestros componentes Hardware.

1) Instalar el IDE, cargar un programa de ejemplo en vuestro Arduino y ejecutarlo.
2) Probar vuestro RTC con algún programa de ejemplo.

Iremos resolviendo cada uno de los obstáculos que surjan.
#215
Os mando un programita que detecta los dispositivos I2C conectados al Arduino.
Con él podéis hacer la primera prueba de hardware para ver si el RTC conectado al Arduino es detectado y confirmar en qué dirección I2C se encuentra.

Si no recuerdo mal la dirección I2C para el RTC es 0x68 y si no la encuentra algo va mal.

Código:
#include <Arduino.h>
#include <Wire.h>

// *************************************************************************
void setup(){
    Wire.begin();
    Serial.begin(9600);
    Serial.println("Scanner I2C");
}

// *************************************************************************
void loop(){    
    int Cont=0;
    byte ret, adr;

    Serial.println("Buscando dispositivos...");
    for(adr = 1; adr < 127; adr++ )  {
        Wire.beginTransmission(adr);
        ret = Wire.endTransmission();

        if (ret == 0) {
          Cont++;
          Serial.print(Cont);
          Serial.print(") Dispositivo I2C encontrado");
        }
        else if (ret==4)  Serial.print("Error");
        Serial.print(" en la direccion 0x");
        if (adr<16)  Serial.print('0');
        Serial.println(adr,HEX);
    }
    if (Cont == 0)  Serial.println("No se encontraron dispositivos I2C.");
    delay(10000);   // Esperar 10 segundos para la próxima búsqueda
}
#216
yo he estado chachareando con el arduino uno y el rtc
y ya he sido capaz de encender una luz programando un horario
lo que no soy capaz, es de que cuando se encienda la luz realice el efecto amanecer
pero vamos tampoco me puedo quejar,ya que llevo dos dias con el arduino

cuando empecéis a montar el hardware,poner fotillos para que vea como va quedando
#217
(10-02-2016, 06:46 PM)rodazac escribió: yo he estado chachareando con el arduino uno y el rtc
y ya he sido capaz de encender una luz programando un horario
lo que no soy capaz, es de que cuando se encienda la luz realice el efecto amanecer
pero vamos tampoco me puedo quejar,ya que llevo dos dias con el arduino

cuando empecéis a montar el hardware,poner fotillos para que vea como va quedando

Felicidades. Un gran viaje empieza con el primer paso.
No seas tímido. Comparte código, comparte fotos.
#218
este es el código que estoy destripando
para el rtc

Código:
#include <Wire.h>
#include <RTC.h>
#define pRELAY1   3  //Se define una constante para la linea de led  y el pin al que esta conectado.

RTC rtc(DST_ON);        //Activa el cambio automatico a horario de verano-invierno.
void setup()
{
     //rtc.setDateTime( 2016, 2, 10, 21, 30, 00 );  //linea para poner en hora el reloj
    //Configura los pines de Arduino:
    pinMode(pRELAY1, OUTPUT); //Salida led LUZ LUNA
    

    //Prepara la conexion Serial
    Serial.begin(9600);
   // while(!Serial);
    Serial.println(F("Comunicacion Serial iniciada"));
}

void loop()
{

    Data d = rtc.getData();
    Serial.println( d.toString("Y/m/d H:i:s") ); //Borrar esta linea al terminar solo para ver hora si se quiere

    if( d.isBetween(21,32, 21,34) )
    {
       digitalWrite(pRELAY1, HIGH);   //QUITO LOW invierto posiciones creo que es por lo de los reles
       Serial.println(F("LUZ ENCENDIDA"));
    }
    else
    {
        digitalWrite(pRELAY1, LOW);   //QUITO HIGH
    }

    delay(1000);
}



lo estoy montando en una protoboard
lo del reloj y lo clásico los led del coche fantástico y cosas por el estilo

vamos que tampoco es para poner fotos
#219
(11-02-2016, 12:10 AM)rodazac escribió: este es el código que estoy destripando
para el rtc

Código:
#include <Wire.h>
#include <RTC.h>
#define pRELAY1   3  //Se define una constante para la linea de led  y el pin al que esta conectado.

RTC rtc(DST_ON);        //Activa el cambio automatico a horario de verano-invierno.
void setup()
{
     //rtc.setDateTime( 2016, 2, 10, 21, 30, 00 );  //linea para poner en hora el reloj
    //Configura los pines de Arduino:
    pinMode(pRELAY1, OUTPUT); //Salida led LUZ LUNA
    

    //Prepara la conexion Serial
    Serial.begin(9600);
   // while(!Serial);
    Serial.println(F("Comunicacion Serial iniciada"));
}

void loop()
{

    Data d = rtc.getData();
    Serial.println( d.toString("Y/m/d H:i:s") ); //Borrar esta linea al terminar solo para ver hora si se quiere

    if( d.isBetween(21,32, 21,34) )
    {
       digitalWrite(pRELAY1, HIGH);   //QUITO LOW invierto posiciones creo que es por lo de los reles
       Serial.println(F("LUZ ENCENDIDA"));
    }
    else
    {
        digitalWrite(pRELAY1, LOW);   //QUITO HIGH
    }

    delay(1000);
}

lo estoy montando en una protoboard
lo del reloj y lo clásico los led del coche fantástico y cosas por el estilo

vamos que tampoco es para poner fotos

Ok. Con eso me hago una idea. Usas un módulo software RTC que incluye la función que usas para preguntar si está dentro de un intervalo de tiempo.

Aprender a programar a vuestro nivel consiste en gran medida en jugar con ese tipo de cosas probando programitas sencillos y usando librerías que te faciliten las funciones que necesites.

Cuando uses muchos LEDs ten en cuenta que todos encendidos a la vez pueden sobrecargar el Arduino.

En este tipo de montajes con varios LEDs a 5V suelo usar resistencias de 470 Ohmios. Con resistencias de 220 Ohmios brillarían más pero consumen el doble.

Los programas con LEDs suelen usarse en Arduino para ilustrar ejemplos sencillos pero voy a poner el enunciado de un porblema solo para ver si alguien es capaz de resolverlo y como lo hace.

Hacer un programa que haga parpadear un par de diodos con una duración de encendido y apagado establecidos en la cabecera de programa.

#define Pin_LedRojo 3
#define Pin_LedVerde 4
#define SegOn_LedRojo 4 // Segundos Led Rojo encendido
#define SegOff_LedRojo 6 // Segundos Led Rojo apagado
#define SegOn_LedVerde 6 // Segundos Led Verde encendido
#define SegOff_LedVerde 5 // Segundos Led Verde apagado.

La dificultad de este problema es que cada LED debe funcionar de forma independiente del otro. No hace falta un RTC para esto.

Como pista os sugiero que busquéis ejemplos que usen la funcion millis(); Es una función que devuelve el número de milisegundos transcurridos desde que arrancó el Arduino.
#220
bueno. parece que no esta todo perdido
hoy a llegado el soldador.
http://es.aliexpress.com/item/220V-50W-A...74542.html

para soldar en las placas ¿que punta es mejor?.....la mas fina.
la esponja que se utiliza para limpiar la punta ¿tiene que estar humedecida?
o seca.


miro lo de los millis();
#221
(11-02-2016, 06:10 PM)rodazac escribió: bueno. parece que no esta todo perdido
hoy a llegado el soldador.
http://es.aliexpress.com/item/220V-50W-A...74542.html

para soldar en las placas ¿que punta es mejor?.....la mas fina.
la esponja que se utiliza para limpiar la punta ¿tiene que estar humedecida?
o seca.


miro lo de los millis();

Yo elegiría la segunda empezando por abajo. Cuanto más fina más frágil y menos temperatura aguanta. No pongas nunca la máxima temperatura porque 50w son muchos vatios. Pon al principio una temperatura más bien baja y con el tiempo de irás dando cuenta de si necesitas algo más de temperatura. Una vez localices la posición ideal del regulador de temperatura procura trabajar siempre con ella.

Vuelve a echa un vistazo a lo que comentamos: Consejos para el uso del soldador.
#222
como siempre. gracias
#223
Boceto
[Imagen: 10efwi1.jpg]

Prototipo
[Imagen: phxcSy8.jpg]
#224
Ya hay una versión Beta. Estoy redactando un manual. Cuando el manual esté mínimamente utilizable, publicaré una primera versión.
#225
Ya tenemos la versión 1.0 (Beta)
CaoSeta v1.0 (zip 2.5Mb)

Usuarios navegando en este tema: 1 invitado(s)


Salto de foro: