Go Down

Topic: ayuda en protocolo de insercion de codigos (Read 946 times) previous topic - next topic

medina

hola compañeros  queria pediros un favor y es que me pudieras dar un enlace del protocolo de como insertar los codigos y lugar en arduino por ejemplo este




//Código para poner el hora el reloj y visulizarlo
#include <Wire.h>
#define DS1307_I2C_ADDRESS 0x68
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
// Convierte números normales decimales a BCD (binario decimal codificado)
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) );
}

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 el tiempo del ds1307
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);
  *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()
{
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  Wire.begin();
  Serial.begin(9600);

////////////////////////////////////////////////////////////////////////////////////
//Aqui hay que modificar y poner los valores "actuales" para poner el hora el reloj//
////////////////////////////////////////////////////////////////////////////////////
  second = 00;
  minute = 47;
  hour = 7;
  dayOfWeek = 4;
  dayOfMonth = 16;
  month = 6;
  year = 11;
///////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
}

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

  Serial.print("20");
    if (year < 10) Serial.print("0");
  Serial.print(year, DEC);
  Serial.print("/");
    if (month < 10) Serial.print("0");
  Serial.print(month, DEC); 
  Serial.print("/");   
    if (dayOfMonth < 10) Serial.print("0");
  Serial.print(dayOfMonth, DEC);
  Serial.print("  ");
    if (hour < 10) Serial.print("0");
  Serial.print(hour, DEC);
  Serial.print(":"); 
    if (minute < 10) Serial.print("0");
  Serial.print(minute, DEC);
  Serial.print(":");
    if (second < 10) Serial.print("0");
  Serial.print(second, DEC); 
  Serial.print("  Dia de la semana:"); 

// Esto pone nombre del dia
    switch (dayOfWeek)
   {
    case 1:
      Serial.println("  Lunes");
      break;
    case 2:
      Serial.println("  Martes");
      break;
    case 3:
      Serial.println("  Miercoles");
      break;
    case 4:
      Serial.println("  Jueves");
      break;
    case 5:
      Serial.println("  Viernes");
      break;
    case 6:
      Serial.println("  Sabado");
      break;
    case 7:
      Serial.println("  Domingo");
      break;
   }

  delay(1000);
}

Sergegsx

"mi no entender"

puedes explicar mejor lo que necesitas?

medina

pues compañero una vez que habro el file/example/donde coloco este codigo?si es ahy donde se coloca?

ionhs

Pero el código ya lo tienes escrito no es un ejemplo (example). Copia y pega el código en la zona donde suele ir el código. O no te entiendo o te estas haciendo un lio. Los ejemplos son ejemplos pero puedes escribir y modificar los ejemplos. Cuando guardes el scketch asegurate de guardarlo en una carpeta que se llame igual que el archivo del scketch. El nombre que empiece por letra (no numero ni simbolo) y listo.


Heke

Quote
que me pudieras dar un enlace del protocolo de como insertar los codigos y lugar en arduino

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

nayma

Hola Medina.
Creo que mis compañeros, y yo mismo, no tenemos claro que es lo que necesitas. Estaría bien si nos dijeses que arduino tienes, que proyecto quieres hacer. A mi me parece que debe de ser un reloj...

medina

buenas compañeros el ejemplo  que pedia era el que dongato puso en el segundo video pues es lo que no sabia donde colocar los codigos ni como hacerlos  muchas gracias a todos por vuestro interes y perdonad por mi mala explicacion de lo que nesecitaba

medina

#8
Aug 22, 2011, 04:30 pm Last Edit: Aug 22, 2011, 04:34 pm by medina Reason: 1
he echo el ejemplo del video dos

int ledPin = 13;  
void setup () (
 pinMode(lePin, OUTPUT);
)


void loop()(
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
)
pero abajo me sale esto me pone funcion void setup() initialized like a variable

Sergegsx

de verdad mirate bien los videos porque te veo muy perdido, te lo digo en tono de consejo.

tienes un fallo en el setup() tienes que usar {} en lugar de () para el codigo que va dentro

medina

es verdad compañero se me fue se ve tan difuso que apenas me di cuenta al copiar esto
int ledPin = 13; 
void setup{} {
  pinMode {lePin, OUTPUT};
}


void loop{} {
   digitalWrite{ledPin, HIGH};
   delay{1000};
   digitalWrite{ledPin, LOW};
   delay{1000};
}
me sale esto funcion definition does not declare parameters

aero_yo

#11
Aug 22, 2011, 04:55 pm Last Edit: Aug 22, 2011, 05:18 pm by aero_yo Reason: 1
void setup(){
  pinMode (lePin, OUTPUT);
}

y así todos

De todos modos te recomiendo echar un vistazo a como va el lenguaje C, con lo más básico   (30min -1h) vas a aprender como para ahorrarte muuuuuuchas horas de errores.

por ejemplo los 4 o 5 primeros temas de esta web

http://www.cprogramming.com/tutorial.html#ctutorial

medina

int ledPin = 13; 
void setup () {
  pinMode {lePin, OUTPUT};
}


void loop() {
   digitalWrite{ledPin, HIGH};
   delay{1000};
   digitalWrite{ledPin, LOW};
   delay{1000};
}
me da  error

aero_yo


medina

int ledPin = 13; 
void setup () {
  pinMode(lePin, OUTPUT);
}


void loop() {
   digitalWrite(ledPin , HIGH);
   delay(1000);
   digitalWrite(ledPin , LOW);
   delay(1000);
}
ledPin` was not declared in this scope

Go Up