Loading...
  Show Posts
Pages: [1]
1  International / Proyectos / Re: Proyecto: NetIO + arduino MEGA + Ethernet Shield on: April 06, 2013, 06:27:07 am
He escaneado el monitor serial y me da estos datos:



2  International / Proyectos / Re: Proyecto: NetIO + arduino MEGA + Ethernet Shield on: March 20, 2013, 03:40:58 am
Nadie puede ayudarme?    smiley-confuse
3  International / Proyectos / Proyecto: NetIO + arduino MEGA + Ethernet Shield on: March 18, 2013, 04:28:11 am
Buenas, tengo un acuario controlado por un arduino MEGA con una Ethernet Shield y ando liado para poder comandarlo y programarlo desde el IPhone con la aplicacion NetIO. He seguido el tutorial de esta pagina que me parece interesantisimo.

http://www.josematm.com/controla-tu-arduino-desde-el-movil/

El caso es que cuando quiero modificarlo para mi uso no lo consigo. Conecta con el arduino, pero no me da valores como la temperatura.

Busco:


* Ver la temperatura del agua
* Encender o apagar la luz blanca
* Encender o apagar la luz azul
* Cambiar el horario de encendido y apagado de la luz
* Cambiar la temperatura a la que quiero que este el agua
* Modificar con un Slider la intesidad de la luz blanca y azul

El codigo es este:

Code:
int index = 0; //como es un puerto serie se lee caracter a caracter. index es el índice para llevar la cuenta de los caracteres
char comando[BUFFER]; //array de caracteres donde se almacena el comando recibido por el puerto serie.
EthernetClient clienteApp = servidorArduino.available();
if (clienteApp) {
if (clienteApp.connected())
{
while (clienteApp.available())
{
char caracter = clienteApp.read();
if (caracter != ‘\n’)
{comando[index] = caracter; index++;
if (index >= BUFFER) index = BUFFER -1;
continue;
}
comando[index] = ”;
}
if (strstr(comando, “holaArdu”)) {clienteApp.println(“done”); }
//lista de comandos a interpretar y acciones a realizar
if (strstr(comando, “tempAgua”)) { clienteApp.println(“TemperaturaAcuario”); }
if (strstr(comando, “tempTapa”)) { clienteApp.println(TemperaturaTapa); }
//lector, pasa valor al servidor web
//Actuador, al pulsar un botón en la web se hace una acción.
//si se recibe el comando botón
// si el relé de las luces u otra cosa está activado lo apaga y viceversa.
if (strstr(comando, “onsend”)) { SetRele( 1, PIN_D_RELE_LUCES, HIGH ); analogWrite( PIN_P_LUCES, 255 ); }
if (strstr(comando, “offsend”)) { SetRele( 1, PIN_D_RELE_LUCES, HIGH ); analogWrite( PIN_P_LUCES, 0 ); }// Para dejar luces encendidas fijas }
}
}

4  International / Proyectos / Webserver, web client o pachube?? on: October 19, 2012, 05:01:37 am
Hola, tengo un proyecto en mente pero no se que debo utilizar, porque me lio.

Quiero poder poner en una web los valores de los sensores de temperatura y estado de reles de un arduino.
Y quiero tambien poder modificar las variables en el arduino, por ejemplo, la temperatura a la que salte el rele, me explico. El rele se activa a los 26º pero si quisiera poder modificar el valor con la web, o cambiar la hora de encendido del rele.

¿Que debo utilizar?

Werserver, cliente, o que???
5  International / Español / Re: ethernet y metodo get (mas dudas) on: October 15, 2012, 03:52:36 pm
Muy completo tu codigo, pero estoy aprendiendo y me gustaria poder saber exactamente las ordenes para crear el codigo de manera que:

Pueda asignar un valor en la web dentro de cuandro por ejemplo, y ese sea el valor que tiene que tomar el codigo.

Por ejemplo, quiero que un rele funcione a una temperatura determinada, pero quisiera poder cambiar esos valores mediante una pagina web y que al dar a aceptar, modifique el valor preasignado en el codigo y lo guarde en la eprom...

 smiley-roll
6  International / Español / Re: ethernet y metodo get (mas dudas) on: October 11, 2012, 05:29:20 am
Karagos, yo quiero hacer algo parecido a lo que tu estas trabajando y creo que ademas sobre el mismo tema: Un acuario.

¿podemos ponernos en contacto para tratar de solventar dudas?

Un saludo y enhorabuena por tu proyecto.
7  International / Software / Re: Mantener un pin HIGH solo una vez a una hora en concreto. on: October 02, 2012, 02:39:04 am
Hola,
Si cierras con punto y coma la sentencia if(), la estás anulando.

Si después del delay ya no coinciden los minutos, solo tienes que controlar la hora
Yo probaría algo así:

Code:
int hancomido = 0;

void comedero()
   {
       if  (Reloj.GetHour() ==  CFG.COMIDA_H && Reloj.GetMinute() == CFG.COMIDA_M  && hancomido == 0)
       {
             SetRele( 4, PIN_D_COMIDA, HIGH );
             delay(3000);
             hancomido = 1;
       }
       else
            hancomido = 0;
   }


Gracias, pero creo que hay un error. Ya que siempre que sea la hora estara dando de comer, un bucle si, otro no, y asi.

Creo que habira que hcaer como dijo Cheyenne:

Code:

boolean hancomido = false;

////////////////////////////////////////////////////////////
//
//   COMEDERO
//
//////////////////////////////////////////////////
void comedero()
   {
       if  (Reloj.GetHour() ==  (CFG.COMIDA_H) && (Reloj.GetMinute() == (CFG.COMIDA_M )) && !=hancomido );
           {
             SetRele( 4, PIN_D_COMIDA, HIGH );
             delay(3000);
             SetRele( 4, PIN_D_COMIDA, LOW );
             hancomido = true;
           }
      if  Reloj.GetHour() !=  (CFG.COMIDA_H) && (Reloj.GetMinute() != (CFG.COMIDA_M )) hancomido= false;

   }
8  International / Software / Mantener un pin HIGH solo una vez a una hora en concreto. on: October 01, 2012, 11:15:37 am
Estoy aprendiendo a programar un arduino MEGA, el caso es que quiero que, a una hora determinada un pin este HIGH durante un tiempo y luego vuelva a LOW.

El condicional que uso es, que si es la misma hora y minuto, este HIGH, pero claro, cuendo continua el bucle y vuelve a esa linea, la hora y minuto sigue coincidiendo y vuelve a hacer lo mismo. Cuando lo que quiero es que ya no lo haga hasta el dia siguiente.
Como lo hago?

Code:
////////////////////////////////////////////////////////////
//
//   COMEDERO
//
//////////////////////////////////////////////////
void comedero()
   {
       if  (Reloj.GetHour() ==  (CFG.COMIDA_H) && (Reloj.GetMinute() == (CFG.COMIDA_M )));
           {
             SetRele( 4, PIN_D_COMIDA, HIGH );
             delay(3000);
           }
   }
Pages: [1]