Beto Wach

by betancourtpasos in Circuits > Arduino

50 Views, 0 Favorites, 0 Comments

Beto Wach

WhatsApp_Image_2024-06-01_at_9.12.34_PM-removebg-preview (1).png
WhatsApp_Image_2024-06-01_at_9.12.34_PM__1_-removebg-preview.png

El Beto Watch es un reloj digital construido a partir de una programación básica por medio de un Arduino, con el cual se busca la sensibilización y la familiarización con este tipo de códigos abiertos y de un diseño libre por medio de diferentes programas de software.

Supplies

WhatsApp Image 2024-06-03 at 9.58.16 PM.jpeg
  • ArduinoUno
  • Baquelita universal
  • Pantalla LCD 16X2
  • Cable USB para arduino
  • Banco de energía
  • Jumpers macho - macho
  • Resistencias
  • Pulsadores de 4 patas
  • Soldadura de estaño (cautín)
  • Madera MDF para elaborar el diseño del circuito.
  • Programas: Tinkercard y Blender


ARMAR EL CIRCUITO EN TINKERCARD ( Código )

WhatsApp Image 2024-05-08 at 6.09.28 PM.jpeg

Adjuntar e insertar el código para programar el Arduino en la plataforma Tinkercard y luego ir adjuntando los componentes y circuitos que aparecen en el esquema.

//incluye la biblioteca

#incluir <CristalLiquido.h>



// inicializa los pines de la interfaz

Lcd de cristal líquido (2,3,4,5,6,7);

int s,m,h,a,d,estado,estado1,estado2,dg,cnt,dt,mo;

char meses[13]={' ','1','2','3','4','5','6','7','8','9','o', 'Dakota del Norte'};

intl[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};



// los 8 arrays que forman cada segmento de los números personalizados

barra de bytes1[8] = 

{

    B11100,

    B11110,

    B11110,

    B11110,

    B11110,

    B11110,

    B11110,

    B11100

};

barra de bytes2[8] =

{

    B00111,

    B01111,

    B01111,

    B01111,

    B01111,

    B01111,

    B01111,

    B00111

};

barra de bytes3[8] =

{

    B11111,

    B11111,

    B00000,

    B00000,

    B00000,

    B00000,

    B11111,

    B11111

};

barra de bytes4[8] =

{

    B11110,

    B11100,

    B00000,

    B00000,

    B00000,

    B00000,

    B11000,

    B11100

};

barra de bytes5[8] =

{

    B01111,

    B00111,

    B00000,

    B00000,

    B00000,

    B00000,

    B00011,

    B00111

};

barra de bytes6[8] =

{

    B00000,

    B00000,

    B00000,

    B00000,

    B00000,

    B00000,

    B11111,

    B11111

};

barra de bytes7[8] =

{

    B00000,

    B00000,

    B00000,

    B00000,

    B00000,

    B00000,

    B00111,

    B01111

};

barra de bytes8[8] =

{

    B11111,

    B11111,

    B00000,

    B00000,

    B00000,

    B00000,

    B00000,

    B00000

};


configuración nula()

{

 // asigna a cada segmento un número de escritura

 lcd.createChar(1,bar1);

 lcd.createChar(2,bar2);

 lcd.createChar(3,bar3);

 lcd.createChar(4,bar4);

 lcd.createChar(5,bar5);

 lcd.createChar(6,bar6);

 lcd.createChar(7,bar7);

 lcd.createChar(8,bar8);



 estado=1;

 estado1=1;

 estado2=1;

 // establece las filas y columnas de la pantalla LCD:

 lcd.comenzar(16, 2);

 pinMode(8,ENTRADA);

  pinMode(9,ENTRADA);

   pinMode(10,ENTRADA);

 s=0;

 m=0;

  h=0;

 dt=1;

 mes=1;

}




anular personalizado0 (int col)

{ // usa segmentos para construir el número 0

 lcd.setCursor(col, 0); 

 lcd.escribir(2);  

 lcd.escribir(8); 

 lcd.escribir(1);

 lcd.setCursor(col, 1); 

 lcd.escribir(2);  

 lcd.escribir(6);  

 lcd.escribir(1);

}


anular personalizado1 (int col)

{

 lcd.setCursor(col,0);

 lcd.escribir(32);

 lcd.escribir(32);

 lcd.escribir(1);

 lcd.setCursor(col,1);

 lcd.escribir(32);

 lcd.escribir(32);

 lcd.escribir(1);

}


anular personalizado2 (int col)

{

 lcd.setCursor(col,0);

 lcd.escribir(5);

 lcd.escribir(3);

 lcd.escribir(1);

 lcd.setCursor(col, 1);

 lcd.escribir(2);

 lcd.escribir(6);

 lcd.escribir(6);

}


anular personalizado3 (int col)

{

 lcd.setCursor(col,0);

 lcd.escribir(5);

 lcd.escribir(3);

 lcd.escribir(1);

 lcd.setCursor(col, 1);

 lcd.escribir(7);

 lcd.escribir(6);

 lcd.escribir(1); 

}


anular personalizado4 (int col)

{

 lcd.setCursor(col,0);

 lcd.escribir(2);

 lcd.escribir(6);

 lcd.escribir(1);

 lcd.setCursor(col, 1);

 lcd.escribir(32);

 lcd.escribir(32);

 lcd.escribir(1);

}


anular personalizado5 (int col)

{

 lcd.setCursor(col,0);

 lcd.escribir(2);

 lcd.escribir(3);

 lcd.escribir(4);

 lcd.setCursor(col, 1);

 lcd.escribir(7);

 lcd.escribir(6);

 lcd.escribir(1);

}


anular personalizado6 (int col)

{

 lcd.setCursor(col,0);

 lcd.escribir(2);

 lcd.escribir(3);

 lcd.escribir(4);

 lcd.setCursor(col, 1);

 lcd.escribir(2);

 lcd.escribir(6);

 lcd.escribir(1);

}


anular personalizado7 (int col)

{

 lcd.setCursor(col+0,0);

 lcd.escribir(8);

 lcd.escribir(8);

 lcd.escribir(1);

 lcd.setCursor(col, 1);

 lcd.escribir(32);

 lcd.escribir(32);

 lcd.escribir(1);

}


anular personalizado8 (int col)

{

 lcd.setCursor(col, 0); 

 lcd.escribir(2);  

 lcd.escribir(3); 

 lcd.escribir(1);

 lcd.setCursor(col, 1); 

 lcd.escribir(2);  

 lcd.escribir(6);  

 lcd.escribir(1);

}


anular costumbre9 (int col)

{

 lcd.setCursor(col, 0); 

 lcd.escribir(2);  

 lcd.escribir(3); 

 lcd.escribir(1);

 lcd.setCursor(col, 1); 

 lcd.escribir(7);  

 lcd.escribir(6);  

 lcd.escribir(1);

}


void imprimirNúmero(valor int, col int) {

 si (valor == 0) {

  personalizado0(col);

 } si (valor == 1) {

  personalizado1(col);

 } si (valor == 2) {

  personalizado2(col);

 } si (valor == 3) {

  personalizado3(col);

 } si (valor == 4) {

  personalizado4(col);

 } si (valor == 5) {

  personalizado5(col);

 } si (valor == 6) {

  personalizado6(col);

 } si (valor == 7) {

  personalizado7(col);

 } si (valor == 8) {

  personalizado8(col);

 } si (valor == 9) {

  personalizado9(col);

 }    

}  



  

 

 

  

 





bucle vacío()


{

 si(digitalRead(8)&&estado==1){

  cnt++;

  estado=0;

  cnt=cnt%5;

  }si no(!digitalRead(8)&&state==0){

  estado=1;

  }

 si (digitalRead(9)&&estado1==1){

  dg=1;

  estado1=0;

   

  }si no(!digitalRead(9)&&state1==0){

  estado1=1;

  }


si(digitalRead(10)&&estado2==1){

   dg=-1;

   estado2=0;

  }si no(!digitalRead(10)&state2==0){

  estado2=1;

  }

  cambiar(cnt){

   caso 2:

   m=m+dg;

   dg=0; si(m>59){

  metro=0;}

  si(m<0){

  metro=59;}

   romper;

   

   caso 1:

   h=h+dg;

   dg=0;si(h>23){

  h=h-24;}

  si(h<0){

  h=23;}

   romper;

    

   caso 3:

   dt=dt+dg;

   dg=0;si(dt>l[mes]){

  dt=l[mes];}

  si(dt<1){

   dt=1;}

   romper;

   caso 4:

   mes=mes+dg;

   dg=0;si(mes>12){

  mes=1;

   }

  si(mes<1){

   meses=12;}

  si(dt>l[mes]){

  dt=1;

  mes++;

   mes=(1+(mes-1)%12);

  }

   romper;

  }

 si(s>59){

  s=0;

  m++;

  

 si(m>59){

  m=0;

  h++;

   

 si(h>23){

  h=0;

  dt++;

  

 si(dt>l[mes]){

  dt=1;

  mes++;

  }

   si(mes>12){

  mes=1;

  }


 } 

 }

 }

 h=h;

 d=(h)%10;

 imprimirNúmero(d, 3);

 d=(h)/10;

  imprimirNúmero(d, 0);


    d=m%10;

   imprimirNúmero(d, 10);

   d=m/10;

   imprimirNúmero(d, 7);

   lcd.setCursor(14, 0);

   

  

   lcd.imprimir(s/10);

    

   lcd.imprimir(s%10);

     

   lcd.setCursor(13, 1);

   lcd.print(meses[mes]);

   lcd.imprimir(dt/10);

  

   lcd.imprimir(dt%10);

    si(cnt==0){

      s++;

     lcd.setCursor(6, 0);

   lcd.imprimir(" ");

    lcd.setCursor(6, 1);

   lcd.imprimir(" ");

    lcd.setCursor(13,0);

        lcd.imprimir(" ");

   retraso(500);

  lcd.setCursor(6, 0);

   lcd.imprimir(".");

    lcd.setCursor(6, 1);

   lcd.imprimir(".");

    lcd.setCursor(13,0);

   lcd.imprimir(":");

   retraso(500);

    }} 



ARMAR LOS COMPONENTES DEL RELOJ

WhatsApp Image 2024-06-03 at 9.58.16 PM.jpeg
WhatsApp Image 2024-06-03 at 9.58.16 PM (1).jpeg

Ya con los componentes mencionados anteriormente se realiza el armado del reloj por medio de una protoboard para ensayar de que el producto si funciona, y después de esto se le instala una baquelita universal para dejar fijo los componentes.

ARMADO DE LA ESTRUCTURA DEL RELOJ

WhatsApp_Image_2024-06-01_at_9.12.38_PM__3_-removebg-preview.png
WhatsApp_Image_2024-06-01_at_9.12.38_PM__2_-removebg-preview.png
WhatsApp_Image_2024-06-01_at_9.12.38_PM__1_-removebg-preview.png
WhatsApp_Image_2024-06-01_at_9.12.36_PM-removebg-preview.png
WhatsApp_Image_2024-06-01_at_9.12.36_PM__1_-removebg-preview.png
WhatsApp_Image_2024-06-01_at_9.12.35_PM-removebg-preview.png
WhatsApp_Image_2024-06-01_at_9.12.34_PM-removebg-preview.png

Después de haber armado el reloj, se procede a armar la estructura, hecha en madera MDF para el reloj. Son 8 partes de las cuales se van encajando en la parte más grande que va soportar toda la estructura del reloj, luego se va aramando la caja donde va ir todos los componentes electrónicos, y se coloca las mini repisas donde se pueden colocar objetos de adorno. livianos o sencillos. Pues así finalizaría este proyecto en Arduino del reloj digital, gracias por leer!!.