Show Posts
Pages: 1 2 [3] 4 5 6
31  International / Español / Re: Cuenta atras para alarma Nuevo PROBLEMA on: April 03, 2012, 06:26:54 pm
Si buenas, me refiero al reloj en tiempo real, al final no se puso el codigo final no se que ha pasado.

Code:
// Alarma Chalet
#include <Wire.h>                   // Libreria para I2C
#include <LiquidCrystal_I2C.h>      // Libreria para LCD
#define DS1307_I2C_ADDRESS 0x68     // Direccion bus Reloj

LiquidCrystal_I2C lcd(0x27,16,2);  // Direccion de bus pantalla

const int zumbador = 7;        // Pin Zumbador de aviso
const int pir1 = 2;            // Pin de entrada señal Pir 1
const int pir2 = 4;            // Pin de entrada señal Pir 2
const int ledEstado = 13;      // Led en pin 13 salto Pir 1 y Pir 2
int estadoPir1 = 0;            // Estado de Pir 1 "0"
int estadoPir2 = 0;            // Estado de Pir 2 "0"

byte decToBcd(byte val)
{
  return ( (val/10*16) + (val%10) );
}

// Convierte BCD (binario decimal codificado) a números normales decimales
byte bcdToDec(byte val)
{
  return ( (val/16*10) + (val%16) );
}

// 1) Sets the date and time on the ds1307
// 2) Starts the clock
// 3) Sets hour mode to 24 hour clock

void setDateDs1307(byte second,        // 0-59
                   byte minute,        // 0-59
                   byte hour,          // 1-23
                   byte dayOfWeek,     // 1-7
                   byte dayOfMonth,    // 1-28/29/30/31
                   byte month,         // 1-12
                   byte year)          // 0-99
{
   Wire.beginTransmission(DS1307_I2C_ADDRESS);
   Wire.send(0);
   Wire.send(decToBcd(second));   
   Wire.send(decToBcd(minute));
   Wire.send(decToBcd(hour));     
   Wire.send(decToBcd(dayOfWeek));
   Wire.send(decToBcd(dayOfMonth));
   Wire.send(decToBcd(month));
   Wire.send(decToBcd(year));
   Wire.endTransmission();
}

// Establece la fecha y la hora del reloj
void getDateDs1307(byte *second,
          byte *minute,
          byte *hour,
          byte *dayOfWeek,
          byte *dayOfMonth,
          byte *month,
          byte *year)
{
  // Resetea el registro puntero
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.send(0);
  Wire.endTransmission();

  Wire.requestFrom(DS1307_I2C_ADDRESS, 7);

  // Alguno de estos necesitan enmascarar porque ciertos bits son bits de control   

  *second     = bcdToDec(Wire.receive() & 0x7f);
  *minute     = bcdToDec(Wire.receive());
  *hour       = bcdToDec(Wire.receive() & 0x3f); 
  *dayOfWeek  = bcdToDec(Wire.receive());
  *dayOfMonth = bcdToDec(Wire.receive());
  *month      = bcdToDec(Wire.receive());
  *year       = bcdToDec(Wire.receive());
}

void setup()

{
 
  lcd.init();                  // Inicializacion LCD
  lcd.backlight();             // Iluminacion LCD
  pinMode(zumbador, OUTPUT);   // Funcion de salida Zumbador pin 9
  pinMode(ledEstado, OUTPUT);  // Funcion de salida LedEstado pin 13
  pinMode(pir1, INPUT);        // Funcion de entrada Pir 1 pin 2
  pinMode(pir2, INPUT);        // Funcion de entrada Pir 2 pin 4
  Serial.begin(9600);          // Puerto serie configurado a 9600 baudios.
 
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  Wire.begin();
 
 
 
  // la primera vez debemos poner en hora, active esta parte y luego vuelva a quitarla
  /*second = 00;
  minute = 33;
  hour = 15;
  dayOfWeek = 6;
  dayOfMonth = 11;
  month = 2;
  year = 12;
 
  setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year); */
   
 
}

void loop()
{
 
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

  getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year); 

  lcd.setCursor(6,0);
    lcd.print(year, DEC);
  lcd.setCursor(2,0);
  lcd.print("/");
  lcd.setCursor(3,0);
    if (month < 10) lcd.print("0");
  lcd.print(month, DEC); 
  lcd.setCursor(5,0);
  lcd.print("/");   
  lcd.setCursor(0,0);
    if (dayOfMonth < 10) lcd.print("0");
  lcd.print(dayOfMonth, DEC);
  lcd.print("");
  lcd.setCursor(0,1);
    if (hour < 10) lcd.print("0");
  lcd.print(hour, DEC);
  lcd.setCursor(2,1);
  lcd.print(":"); 
  lcd.setCursor(3,1);
    if (minute < 10) lcd.print("0");
  lcd.print(minute, DEC);
  lcd.setCursor(5,1);
  lcd.print(":");
    if (second < 10) lcd.print("0");
  lcd.print(second, DEC); 
 
     switch (dayOfWeek)
   
    {
     
    case 1:
      lcd.setCursor(9,0);
      lcd.print("Lunes");
      break;
    case 2:
      lcd.setCursor(9,0);
      lcd.print("Martes");
      break;
    case 3:
      lcd.setCursor(9,0);
      lcd.print("Miercoles");
      break;
    case 4:
      lcd.setCursor(9,0);
      lcd.print("Jueves");
      break;
    case 5:
      lcd.setCursor(9,0);
      lcd.print("Viernes");
      break;
    case 6:
      lcd.setCursor(9,0);
      lcd.print("Sabado");
      break;
    case 7:
      lcd.setCursor(9,0);
      lcd.print("Domingo");
      break;
   }
   
   

  delay(1000); //Pausa durante 1 segundo
 
 
 
  estadoPir1 = digitalRead(pir1);  // Leer estado Pir 1
  estadoPir2 = digitalRead(pir2);  // Leer estado Pir 2
 
  lcd.backlight();                // Iluminacion LCD
 
  if (estadoPir1 == HIGH) {        // Si esta sl sensor Pir 1 activado activa led Pin 13
  for ( int i=20; i>=0; i-- ){     // Se inicia bucle cuenta atras desde 35s
  Serial.println(i);               // Se imprime bucle en puerto serie
  lcd.setCursor (13,1);            // Se establece el curso en el LCD
  lcd.print(i);                    // Se imprime el valor de i por donde va.
     if (i < 10) lcd.print("  ");  // Imprime 2 espacios en blanco para eleminar numero residual.
     digitalWrite(zumbador, HIGH);
     delay(250);
     digitalWrite(zumbador, LOW);
     
  delay(1000);                      // Tiempo que esta en cada variable del bucle
  }
 
  digitalWrite(ledEstado, HIGH);    //Pone led Estado pin 13 a nivel alto
  digitalWrite(zumbador, HIGH);
  lcd.setCursor(9,1);
  lcd.print("Pir 1");               // Aparece en pantalla Pir 1
   delay(1500);
  digitalWrite(zumbador, LOW);
  }
 
  else {                           // Si no se da las condiciones anteriores pone led Estado a nivel bajo
  digitalWrite(ledEstado, LOW);
    lcd.setCursor(9,1);
       
    if (estadoPir2 == HIGH) {        // Si esta sl sensor Pir 1 activado activa led Pin 13
  for ( int i=20; i>=0; i-- ){     // Se inicia bucle cuenta atras desde 35s
  Serial.println(i);               // Se imprime bucle en puerto serie
  lcd.setCursor (13,1);            // Se establece el curso en el LCD
  lcd.print(i);                    // Se imprime el valor de i por donde va.
     if (i < 10) lcd.print("  ");  // Imprime 2 espacios en blanco para eleminar numero residual.
     digitalWrite(zumbador, HIGH);
     delay(250);
     digitalWrite(zumbador, LOW);
     
  delay(1000);                      // Tiempo que esta en cada variable del bucle
  }
 
  digitalWrite(ledEstado, HIGH);    //Pone led Estado pin 13 a nivel alto
  digitalWrite(zumbador, HIGH);
  lcd.setCursor(9,1);
  lcd.print("Pir 2");               // Aparece en pantalla Pir 2
   delay(1500);
  digitalWrite(zumbador, LOW);
  }
 
  else {                           // Si no se da las condiciones anteriores pone led Estado a nivel bajo
  digitalWrite(ledEstado, LOW);
    lcd.setCursor(9,1);
    lcd.print("OK   ");             // Aparece en pantalla OK
   

 
  }
     
 }
}

Tambien estoy intentando parar la cuenta atras una vez iniciada simulando la desconexion de la alarma y no se como hacerlo, ni como empezar a ver si me podeis orientar un poco, porque mirando el manual del arduino no he visto nada que pueda aplicar...

Puse un pin digital como entrada e intente que usando if cuando ese pin este a nivel alto se desconecte la cuenta atras pero no lo consegui, creo que no es lo adecuado.

32  International / Español / Re: Cuenta atras para alarma Nuevo PROBLEMA on: April 03, 2012, 11:18:42 am
Buenas de nuevo, me ha surgido un nuevo problema, entonces en vez de abrir un tema nuevo pues lo añado aqui.

Ya que implementado la cuenta atras a mi codigo, añadiendo un zumbador para que valla cantando la cuenta atras antes de que saltara la alarma, todo perfecto.

El problema es que cuando se activa la cuenta atras el reloj mostrado en el LCD se queda congelado y cuando pasa la cuenta atras se actualiza.

Alguna forma de solucionarlo?
33  International / Español / Re: Cuenta atras para alarma SOLUCIONADO on: April 01, 2012, 05:12:55 pm
Bueno, aqui esta como a quedado al final:

Quote
#include <Wire.h>                   // Libreria para I2C
#include <LiquidCrystal_I2C.h>      // Libreria para LCD

LiquidCrystal_I2C lcd(0x27,16,2);  // Direccion de bus pantalla


void setup(){
 
  lcd.init();
  lcd.backlight();
 
 
  // Se ajusta la salida de datos del puerto serie a 9600 baudios.
  Serial.begin(9600);
 
}
 
void loop(){
 
   
  // Se inicia un bucle que va marcha atrás de modo que a cada vuelta obtenemos que i vale: 3, 2, 1 y 0.
  for ( int i=26; i>=0; i-- ){
 
    // Se imprime en pantalla el valor del array que corresponda a la vuelta del for.
    Serial.println(i);
    lcd.setCursor(0,0);
    lcd.print(i);
      if (i < 10) lcd.print(" ");
   
     delay(1000);
    }
 
  }
 

 

Ahora a ver si soy capaz de hacer que empiece la cuenta atras cuando yo quiero, en el armado de la alarma y para desactivarla.

Saludos
34  International / Español / Re: Cuenta atras para alarma on: April 01, 2012, 09:07:08 am
Ole, ole, ole jejejej.

Muchas gracias compañero sin ti abria dado muchas vueltas jejeje, hay muchas cosas que aun no entiendo muy bien, como funcionan y como usarlas.


Saludos
35  International / Español / Re: Cuenta atras para alarma on: April 01, 2012, 08:46:45 am
ok,ahora si lo he pillado, ya que el codigo que encontre de ejemplo usaba char*, que ami no me hace falta para nada.

ahora si me funciona, lo he dejado asi:

Quote
// Se inicializan las constantes (variables cuyo valor no cambiara durante la ejecución del programa) y se le asignan los números de pin.
#include <Wire.h>                   // Libreria para I2C
#include <LiquidCrystal_I2C.h>      // Libreria para LCD

LiquidCrystal_I2C lcd(0x27,16,2);  // Direccion de bus pantalla


void setup(){
 
  lcd.init();
  lcd.backlight();
 
 
  // Se ajusta la salida de datos del puerto serie a 9600 baudios.
  Serial.begin(9600);
 
}
 
void loop(){
 
  // Se inicializa un array de tipo char (texto/string) con los valores que se mostraran por el puerto serie.
  // El asterisco aun no tengo claro que función tiene, pero sin él da error la compilación.

 
  // Se inicia un bucle que va marcha atrás de modo que a cada vuelta obtenemos que i vale: 3, 2, 1 y 0.
  for ( int i=26; i>=0; i-- ){
 
    // Se imprime en pantalla el valor del array que corresponda a la vuelta del for.
    Serial.println(i);
    lcd.setCursor(0,0);
    lcd.print(i);
   
     delay(1000);
    }
 
  }
 

Pero tengo un pequeño problema al mostrarlo por el LCD, del 26 al 10 genial, pero bajando de hay me deja el 0 del 10 residual y claro en vez de mostrar 9,8,7,.... pues aparece 90,80,70.... y no se como hacer que lo muestre bien.
36  International / Español / Re: Cuenta atras para alarma on: April 01, 2012, 07:52:39 am
ok, voy a ello jeje, una preguntilla, para la cuenta atras tengo que poner yo todos los numeros de 0 al 30 por ejemplo o eso lo realizara solo el arduino?
37  International / Español / Re: Cuenta atras para alarma on: April 01, 2012, 07:10:10 am
Pues tengo que ser mas tonto de lo que pensaba jeje porque no soy capaz de implementarlo a mi codigo jejeje.

Este es el codigo con el aviso de presencia mediante 2 pir, mostrandolo en LCD junto con la fecha y la hora he iluminando el led del pin 13 de la placa.

asi es como lo puse anteriormente, pero claro son muchas lineas:

Quote
// Alarma Chalet
#include <Wire.h>                   // Libreria para I2C
#include <LiquidCrystal_I2C.h>      // Libreria para LCD
#define DS1307_I2C_ADDRESS 0x68     // Direccion bus Reloj

LiquidCrystal_I2C lcd(0x27,16,2);  // Direccion de bus pantalla

const int pir1 = 2;            // Pin de entrada señal Pir 1
const int pir2 = 4;            // Pin de entrada señal Pir 2
const int ledEstado = 13;      // Led en pin 13 salto Pir 1 y Pir 2
int estadoPir1 = 0;            // Estado de Pir 1 "0"
int estadoPir2 = 0;            // Estado de Pir 2 "0"

byte decToBcd(byte val)
{
  return ( (val/10*16) + (val%10) );
}

// Convierte BCD (binario decimal codificado) a números normales decimales
byte bcdToDec(byte val)
{
  return ( (val/16*10) + (val%16) );
}

// 1) Sets the date and time on the ds1307
// 2) Starts the clock
// 3) Sets hour mode to 24 hour clock

void setDateDs1307(byte second,        // 0-59
                   byte minute,        // 0-59
                   byte hour,          // 1-23
                   byte dayOfWeek,     // 1-7
                   byte dayOfMonth,    // 1-28/29/30/31
                   byte month,         // 1-12
                   byte year)          // 0-99
{
   Wire.beginTransmission(DS1307_I2C_ADDRESS);
   Wire.send(0);
   Wire.send(decToBcd(second));    
   Wire.send(decToBcd(minute));
   Wire.send(decToBcd(hour));      
   Wire.send(decToBcd(dayOfWeek));
   Wire.send(decToBcd(dayOfMonth));
   Wire.send(decToBcd(month));
   Wire.send(decToBcd(year));
   Wire.endTransmission();
}

// Establece la fecha y la hora del reloj
void getDateDs1307(byte *second,
          byte *minute,
          byte *hour,
          byte *dayOfWeek,
          byte *dayOfMonth,
          byte *month,
          byte *year)
{
  // Resetea el registro puntero
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.send(0);
  Wire.endTransmission();

  Wire.requestFrom(DS1307_I2C_ADDRESS, 7);

  // Alguno de estos necesitan enmascarar porque ciertos bits son bits de control    

  *second     = bcdToDec(Wire.receive() & 0x7f);
  *minute     = bcdToDec(Wire.receive());
  *hour       = bcdToDec(Wire.receive() & 0x3f);  
  *dayOfWeek  = bcdToDec(Wire.receive());
  *dayOfMonth = bcdToDec(Wire.receive());
  *month      = bcdToDec(Wire.receive());
  *year       = bcdToDec(Wire.receive());
}

void setup()

{
  lcd.init();                  // Inicializacion LCD
  pinMode(ledEstado, OUTPUT);  // Funcion de salida LedEstado pin 13
  pinMode(pir1, INPUT);        // Funcion de entrada Pir 1 pin 2
  pinMode(pir2, INPUT);        // Funcion de entrada Pir 2 pin 4
  
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  Wire.begin();
  
  
 
  // la primera vez debemos poner en hora, active esta parte y luego vuelva a quitarla
  /*second = 00;
  minute = 24;
  hour = 12;
  dayOfWeek = 7;
  dayOfMonth = 01;
  month = 4;
  year = 12;
  
  setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year); */
  
  
}

void loop()
{
  
   lcd.backlight();             // Iluminacion LCD
   lcd.setCursor(0,0);          // Seleccionamos posicion del cursor
  
  
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

  getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);  

  lcd.setCursor(6,0);
    lcd.print(year, DEC);
  lcd.setCursor(2,0);
  lcd.print("/");
  lcd.setCursor(3,0);
    if (month < 10) lcd.print("0");
  lcd.print(month, DEC);  
  lcd.setCursor(5,0);
  lcd.print("/");  
  lcd.setCursor(0,0);
    if (dayOfMonth < 10) lcd.print("0");
  lcd.print(dayOfMonth, DEC);
  lcd.print("");
  lcd.setCursor(0,1);
    if (hour < 10) lcd.print("0");
  lcd.print(hour, DEC);
  lcd.setCursor(2,1);
  lcd.print(":");  
  lcd.setCursor(3,1);
    if (minute < 10) lcd.print("0");
  lcd.print(minute, DEC);
  lcd.setCursor(5,1);
  lcd.print(":");
    if (second < 10) lcd.print("0");
  lcd.print(second, DEC);  
  
     switch (dayOfWeek)
    
    {
    
    case 1:
      lcd.setCursor(9,0);
      lcd.print("Lunes");
      break;
    case 2:
      lcd.setCursor(9,0);
      lcd.print("Martes");
      break;
    case 3:
      lcd.setCursor(9,0);
      lcd.print("Miercoles");
      break;
    case 4:
      lcd.setCursor(9,0);
      lcd.print("Jueves");
      break;
    case 5:
      lcd.setCursor(9,0);
      lcd.print("Viernes");
      break;
    case 6:
      lcd.setCursor(9,0);
      lcd.print("Sabado");
      break;
    case 7:
      lcd.setCursor(9,0);
      lcd.print("Domingo");
      break;
   }
  
  

  delay(1000); //Pausa durante 1 segundo
  
  
  
  estadoPir1 = digitalRead(pir1);  // Leer estado Pir 1
  estadoPir2 = digitalRead(pir2);  // Leer estado Pir 2
  
  lcd.backlight();             // Iluminacion LCD
 
  if (estadoPir1 == HIGH) {        // Si esta sl sensor Pir 1 activado activa led Pin 13
    
   lcd.setCursor(9,1);
     lcd.print("5 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("4 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("3 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("2 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("1 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("0 ");
     lcd.setCursor(9,1);
     delay (1000);
  lcd.print("Pir 1");            // Aparece en pantalla Pir 1
  digitalWrite(ledEstado, HIGH);    //Pone led Estado pin 13 a nivel alto
  
  }
 
  else {                           // Si no se da las condiciones anteriores pone led Estado a nivel bajo
  digitalWrite(ledEstado, LOW);
          
     if (estadoPir2 == HIGH) {        // Si esta sl sensor Pir 2 activado activa led Pin 13
    
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("6 ");    
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("5 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("4 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("3 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("2 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("1 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("0 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("Pir 2");            // Aparece en pantalla Pir 2
  digitalWrite(ledEstado, HIGH);    //Pone led Estado pin 13 a nivel alto
  
  
  }
 
  else {                           // Si no se da las condiciones anteriores pone led Estado a nivel bajo
  digitalWrite(ledEstado, LOW);
    lcd.setCursor(9,1);
    lcd.print("OK   ");             // Aparece en pantalla OK
  

 
  }
      
 }
}

y este otro el codigo que empece a modificar para implementarlo a mi codigo, pero me extraña que tenga que poner yo todos los numeros de la cuenta atras como en este codigo, y luego no se como hacer que empiece la cuenta atras justo cuando salta algun Pir..


Quote
// Se inicializan las constantes (variables cuyo valor no cambiara durante la ejecución del programa) y se le asignan los números de pin.
const int buzzerPin = 9;
const int ledPin = 13;
 
 
 
 
void setup(){
 
  // Se asignan los pines.
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
 
  // Se ajusta la salida de datos del puerto serie a 9600 baudios.
  Serial.begin(9600);
 
};
 
void loop(){
 
  // Se inicializa un array de tipo char (texto/string) con los valores que se mostraran por el puerto serie.
  // El asterisco aun no tengo claro que función tiene, pero sin él da error la compilación.
  char* cuentaAtras[] = {"Sirena!", "1", "2", "3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26"};
 
  // Se inicia un bucle que va marcha atrás de modo que a cada vuelta obtenemos que i vale: 3, 2, 1 y 0.
  for ( int i=26; i>=0; i-- ){
 
    // Se imprime en pantalla el valor del array que corresponda a la vuelta del for.
    Serial.println(cuentaAtras);
 
    // Además, cuando el valor del array contenga la palabra "Despegue!" se encenderá el ledPin y a continuación el buzzerPin con sus tiempos correspondientes.
    if ( cuentaAtras == "Despegue!" ){
      digitalWrite(ledPin, HIGH);
      delay(800);
      digitalWrite(buzzerPin, HIGH);
      digitalWrite(ledPin, LOW);
      delay(200);
      digitalWrite(buzzerPin, LOW);
    }
    else{
      delay(1000);
    }
 
  }
 
}

Saludos y perdon por ser tan ceporro  smiley-roll-sweat
38  International / Español / Re: Cuenta atras para alarma on: April 01, 2012, 06:37:44 am
Ok, muchas gracias ahora mismo estaba con la documentación y he encontrado un par de ejemplo, ahora solo me queda entenderlo bien y adaptarlo.

a ver si soy capaz jejeje.

Saludos
39  International / Español / Cuenta atras para alarma Nuevo PROBLEMA on: April 01, 2012, 05:56:40 am
Buenas a todos, estoy montando una alarma y quiero poner una cuenta atras para para activarla y para desactivarla, actualmente la he realizado asi:

Quote
if (estadoPir2 == HIGH) {        // Si esta sl sensor Pir 2 activado activa led Pin 13
    
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("6 ");    
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("5 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("4 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("3 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("2 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("1 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("0 ");
     lcd.setCursor(9,1);
     delay (1000);
     lcd.print("Pir 2");            // Aparece en pantalla Pir 2
  digitalWrite(ledEstado, HIGH);    //Pone led Estado pin 13 a nivel alto
  

Pero claro este es un ejemplo, para hacer la cuanta atras de 40segundos por ejemplo pues son muchas lineas, de que otra manera podria realizarlo?

Ya que no he encontrado nada mas y me extraña que esta sea la unica manera.

Saludos y gracias
40  International / Español / Re: Comunicar T610 con arduino on: March 06, 2012, 10:11:00 am
Si funciona por comando AT, ya le mandado comandos directamente del el ordenador mediante hyperterminal y funciona.

Gracias por el enlace, a ver si soy capaz de comunicarlo con el arduino.
41  International / Español / Re: Comunicar T610 con arduino on: March 05, 2012, 03:25:45 pm
Lo que no encuentro es como conectarlo ni ejemplo de codigo para hacerlo funcionar.

Imagino que se conecta como una pantalla serial o un reloj, pero quiero asegurarme no sea que me cargue algo.


Saludos
42  International / Español / Re: Comunicar T610 con arduino on: March 05, 2012, 03:12:15 pm
Sip en el enlace que puse pone que hay que hacer el reset a mano, estoy a ver si encuentro como hay que ponerlo para que haga el reset solito.

Saludos
43  International / Español / Re: Comunicar T610 con arduino on: March 05, 2012, 12:05:57 pm
Ok, muchas gracias, tenia duda sobre ese pin.

Con un cable a ver si puedo conectar el TLF al arduino y usar el resto del cable para hacer el programador, asi aprovecho.

Ire informando como va el tema.

Saludos
44  International / Español / Comunicar T610 con arduino on: March 05, 2012, 10:28:42 am
Buenas, estoy en proceso de conectar el telefono con el arduino, ya tengo comprado el cable USB, el cual luego intentare usar como programador FDTI como este:

http://txapuzas.blogspot.com/2010/07/cable-de-programacion-para-arduino-ftdi.html

Alguien me podria decir para que sirve en pin CTS??

Saludos
45  International / Español / Re: 7805 Saca demasiado voltaje + duda circuito on: February 28, 2012, 06:39:17 am
La verdad no se decirte porque el regulador te da mas tensión, pero el consejo que te doy es usar reguladores variables, le metes un potenciometro y regulas a tu gusto, asi te dejas de problemas de tener V de mas.


Saludos
Pages: 1 2 [3] 4 5 6