Professional Documents
Culture Documents
h>
/*
*/
return ((val/10*16)+(val%16));
return ((val/16*10)+(val%16));
/*
*/
byte minute,/*0-59*/
byte hour,/*0-23*/
byte day_of_week,/*1-7*/
byte day_of_month,/*1-31*/
byte month,/*1-12*/
byte year/*0-99*/)
Wire.beginTransmission(DS1307_I2C_ADDRESS);
Wire.write(0);
Wire.write(decimal_to_bcd(second));
Wire.write(decimal_to_bcd(minute));
Wire.write(decimal_to_bcd(hour));
Wire.write(decimal_to_bcd(day_of_week));
Wire.write(decimal_to_bcd(day_of_month));
Wire.write(decimal_to_bcd(month));
Wire.write(decimal_to_bcd(year));
Wire.endTransmission();
byte *minute,/*0-59*/
byte *hour,/*0-23*/
byte *day_of_week,/*1-7*/
byte *day_of_month,/*1-31*/
byte *month,/*1-12*/
byte *year/*0-99*/)
Wire.beginTransmission(DS1307_I2C_ADDRESS);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(DS1307_I2C_ADDRESS,7);
*secons = bcd_to_decimal(Wire.read()&0x7f);
*minute = bcd_to_decimal(Wire.read());
*hour = bcd_to_decimal(Wire.read()&0x3f);
*day_of_week = bcd_to_decimal(Wire.read());
*day_of_month = bcd_to_decimal(Wire.read());
*month = bcd_to_decimal(Wire.read());
*year = bcd_to_decimal(Wire.read());
}
void i2c_eeprom_write_byte(int deviceAddress /*0x50- direccion del dispositivo */, unsigned
int eeAddress/*direccion de escritura*/, byte data/*dato a escribir*/)
Wire.beginTransmission(deviceAddress);
Wire.write((int)(eeAddress>>8));/*MSB*/
Wire.write(rdata);
Wire.endTransmission();
/*funcion*/
Wire.beginTransmission(deviceAddress);
Wire.write((int)(eeAddress>>8));/*MSB*/
Wire.endTransmission();
Wire.requestFrom(deviceAddress,1);
if(Wire.available())
rdata=Wire.read();
return rdata;
/*
//memoria 24c5012:
//
//-pin3- al aire
//pin 7- tierra
//pin8-5v
*/
/*
bateria cr32
pin 4- tierra
pin 7- al aire.
pin 8- 5v.
*/
/*
---------------------------------------------------------------------------
*/
/*FUNCIONES*/
void setup() {
//Wire.begin();
/*METODOS*/
void fecha()
/*-------------------------------------------LCD-------------------------------------------------------------
* borrar
*/
switch(day_of_week)
case 1:
lcd.setCursor(0,0);
lcd.print("Dia de la semana");
lcd.setCursor(6,1);
lcd.print(Lunes);
delay(2000);
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
/*dia de la semana*/
for(i=0; i<10;i++)
lcd.setCursor(0,0);
lcd.print("Date: ");
lcd.print(day_of_month,DEC);
lcd.print("/");
lcd.print(month, DEC);
lcd.print("/");
lcd.print(year, DEC);
delay(995);
lcd.clear();
}
/*
*/
void escribirExterna()
for(i=0;1<<2;i++)
i2c_eeprom_write_byte(0x50,a,clave[i]);
delay(5);
a++;
void leer_externa()
for(i=0;1<<4;i++)
utilizarUnVector[i]=i2c_eeprom_read_byte(0x50,i);
delay(1);
/*
*/
/*
*/
fecha();
/*etiqueta : actualizar*/
lcd.clear();
auxSegundos=0;
segundos=0;
i=0;
lcd.setCursor(0,0);
lcd.print("Favor Digite");
lcd.setCursor(0,1);
for(i=0;i<4;i++)
/*etiqueta xxxx*/
do
daton=keypad.getKey();
delay(60);
if(dato != '\0')
switch(i+1)
case 1:
lcd.setCursor(4,1);
lcd.print(daton);
clave[0]=daton-0x30;
clave[0]=clave[0]<<4;
break;
case 2:
lcd.print(daton);
clave[1]=daton-0x30;
clave[0]=clave[1]+clave[1];
hour=clave[0];
hour=((hour/16*10)+(hour%6));
lcd.setCursor(4,1);
/*borrar HH-21----MM:--*/
lcd.print(" ");
break;
case 3:
lcd.print(daton);
clave[1]=daton-0x30;
clave[1]=clave[1]<<4;
break;
case 4:
break;
i++;
delay(500);
auxSegundos=0;
segundos=0;
auxSegundos++;
if(auxSegundos >20)
auxSegundos=0;
segundos++;
while((auxSegundos<6)&&(i<4))
delay(2000);
void loop() {
// put your main code here, to run repeatedly:
54
4,5
ID Javier 4
ID Edison 5