viernes, 5 de octubre de 2018

Mundo de diversiones te da la bienvenida a esta pagina oficial la cual encontraras algunas cosa las cuales te podrá hacer sonreír.

Atentamente: La administración.



viernes, 6 de enero de 2017

ACTIVACIÓN DE BOMBILLAS CON MODULO RE LAY Y BLUETOOTH

GRACIAS  POR PASAOS POR MI SIGUIENTE  ENTRADA DE MI BLOGGER.

Aquí les daré mas información como  se puede realizar el encendido de 4 bombillas con modulo re lay  y modulo bluetooth. en seguida les presentare software que necesitamos incluirlo en  nuestro arduino para hacer el encendido de cada bombilla a través de un celular esmarfon



J.R.C



PROGRAMACIÓN:



#include <SoftwareSerial.h>
SoftwareSerial BT(2,3);// RX , TX
int ramos21;
int ramos22;
int ramos23;
int ramos24;
void setup() {
  BT.begin(9600);
 pinMode(13,OUTPUT);
 pinMode(12,OUTPUT);
 pinMode(11,OUTPUT);
 pinMode(10,OUTPUT);
}

void loop() {
  if(BT.available()>0){
    ramos21 = BT.read();
  }
  if(ramos21 == '1'){
    digitalWrite(13,HIGH);
  }
   if(ramos21 == '2'){
    digitalWrite(13,LOW);
  }

  if(BT.available()>0){
    ramos22 = BT.read();
  }
  if(ramos22 == '3'){
    digitalWrite(12,HIGH);
  }
   if(ramos22 == '4'){
    digitalWrite(12,LOW);
  }

  if(BT.available()>0){
    ramos23 = BT.read();
  }
  if(ramos23 == '5'){
    digitalWrite(11,HIGH);
  }
   if(ramos23 == '6'){
    digitalWrite(11,LOW);
  }

  if(BT.available()>0){
    ramos24 = BT.read();
  }
  if(saul24 == '7'){
    digitalWrite(10,HIGH);
  }
   if(ramos24 == '8'){
    digitalWrite(10,LOW);
  }

}


 Control de focos con bluettooth


#include <SoftwareSerial.h>
SoftwareSerial BT(2,3);// RX , TX
int jhan21;
int jhan22;
int jhan23;
int jhan24;
void setup() {
  BT.begin(9600);
 pinMode(13,OUTPUT);
 pinMode(12,OUTPUT);
 pinMode(11,OUTPUT);
 pinMode(10,OUTPUT);
}

void loop() {
  if(BT.available()>0){
    jhan21 = BT.read();
  }
  if(jhan21 == '1'){
    digitalWrite(13,HIGH);
  }
   if(jhan21 == '2'){
    digitalWrite(13,LOW);
  }

  if(BT.available()>0){
    jhan22 = BT.read();
  }
  if(jhan22 == '3'){
    digitalWrite(12,HIGH);
  }
   if(jhan22 == '4'){
    digitalWrite(12,LOW);
  }

  if(BT.available()>0){
    jhan23 = BT.read();
  }
  if(jhan23 == '5'){
    digitalWrite(11,HIGH);
  }
   if(jhan23 == '6'){
    digitalWrite(11,LOW);
  }

  if(BT.available()>0){
    jhan24 = BT.read();
  }
  if(jhan24 == '7'){
    digitalWrite(10,HIGH);
  }
   if(jhan24 == '8'){
    digitalWrite(10,LOW);
  }


}




Agregar leyenda









AUTOR: JHANCARLOS RAMOS COTRINA 

jueves, 29 de diciembre de 2016

Arranque directo de un motor trifasico de inducción (parte 2)



Arranque directo de un motor trifasico de inducción 







Arranque de inversion de giro de un motor (JRC)



ARRANQUE  DIRECTO Y INVERSIÓN DE GIRO DE UN MOTOR TRIFASICO 






gracias por revisar este blogger  y este vídeo  sobre arranque directo y invercion de giro en un motor  hacer , pero lo que consta es que para hacer  funcionar  este motor   tenemos dos únicas formas como  hacer  funcionar correctamente y protegido.


1. forma  se tendria que hacer con componentes eléctricos.
2. forma  se tendria que  hacer con componentes electrónicos  como por ejemplo (triac BTA26600)











AUTOR: JHANCARLOS RAMOS COTRINA
CORREO.  JHANCARLOS.5555@GMAIL.COM

martes, 27 de diciembre de 2016

PROGRAMACIÓN DE PIC 16F77A



HOLA SALUDOS A TODOS LOS  QUE TENGAN QUE VISITAR MI BLOGGER. LES DEJARE UNOS  AVANSES SOBRE LA PROGRAMACIÓN DEL PIC 16F77A QUE ES MUY CONOCIDO Y ADECUADO.





PARA  HACER QUE TE APAREZCA O TE ESCRIBA UNA PALABRA EN  LCD FILA 1



sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;

sbit LCD_RS_direction at TRISB0_bit;
sbit LCD_EN_direction at TRISB1_bit;
sbit LCD_D4_direction at TRISB2_bit;
sbit LCD_D5_direction at TRISB3_bit;
sbit LCD_D6_direction at TRISB4_bit;
sbit LCD_D7_direction at TRISB5_bit;


void main() {

   LCD_Init();
   LCD_Cmd(_LCD_CURSOR_OFF);
   LCD_chr_Cp('h');
   delay_ms(400);
   LCD_chr_Cp('o');
   delay_ms(400);
   LCD_chr_Cp('l');
   delay_ms(400);
   LCD_chr_Cp('a');
   delay_ms(400);
}



PARA  HACER  QUE TE INACIALIZE EN LAS DOS FILAS LOS COMANDOS INDICADOS  FILA 1 Y 2


sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;

sbit LCD_RS_direction at TRISB0_bit;
sbit LCD_EN_direction at TRISB1_bit;
sbit LCD_D4_direction at TRISB2_bit;
sbit LCD_D5_direction at TRISB3_bit;
sbit LCD_D6_direction at TRISB4_bit;
sbit LCD_D7_direction at TRISB5_bit;

void main() {
  LCD_Init();
   LCD_Cmd(_LCD_CURSOR_OFF);
   LCD_chr(1,3,'h');
   delay_ms(400);
   LCD_chr(1,4,'o');
   delay_ms(400);
   LCD_chr(1,5,'l');
   delay_ms(400);
   LCD_chr(1,6,'a');
   delay_ms(400);
  
   LCD_chr(2,3,'m');
   delay_ms(400);
   LCD_chr(2,4,'u');
   delay_ms(400);
   LCD_chr(2,5,'n');
   delay_ms(400);
   LCD_chr(2,6,'d');
   delay_ms(400);
   LCD_chr(2,7,'o');
   delay_ms(400);
}



DE LA FORMA MAS RÁPIDA Y SEGURA PARA HACER QUE  UNA PALABRA SE SALGA MAS RÁPIDO  SIN ESTAR ESCRIBIENDO UNA TRAS LA OTRA SIN UTILIZAR “CP” EN ESE CASO YA LO  BORRAMOS


sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;

sbit LCD_RS_direction at TRISB0_bit;
sbit LCD_EN_direction at TRISB1_bit;
sbit LCD_D4_direction at TRISB2_bit;
sbit LCD_D5_direction at TRISB3_bit;
sbit LCD_D6_direction at TRISB4_bit;
sbit LCD_D7_direction at TRISB5_bit;


void main() {

   LCD_Init();
   LCD_Cmd(_LCD_CURSOR_OFF);
   while (1){
    LCD_Out(1,4,"hola mundo");
    delay_ms(100);
   
     LCD_Out(2,1,"bienvenidos IDAT");
     delay_ms(100); 
   }
}




PARA REPRESENTAR LA TEMPERATURA

sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;

sbit LCD_RS_direction at TRISB0_bit;
sbit LCD_EN_direction at TRISB1_bit;
sbit LCD_D4_direction at TRISB2_bit;
sbit LCD_D5_direction at TRISB3_bit;
sbit LCD_D6_direction at TRISB4_bit;
sbit LCD_D7_direction at TRISB5_bit;


void main() {
   int temp =25;
   float Text [10];
   LCD_Init();
   LCD_Cmd(_LCD_CURSOR_OFF);
   while (1){
    LCD_Out(1,4,"TEMPERATURA");
    IntToStr(temp,Text);
    LCD_Out(2,5,Text);
    delay_ms(100);
}
}






















AUTOR: JHANCARLOS RAMOS COTRINA



martes, 8 de noviembre de 2016

UN MINI SEMÁFORO CASERO

 HOLA EN ESTA OPORTUNIDAD   GRACIAS POR SU GENEROSIDAD DE VISITAR MI BLOGGER .

LOS DARÉ UNA GRAN INFORMACIÓN COMO HACER UN SEMÁFORO MINI CASERO MUY FÁCIL DE HACER.


        SEMAFORO
INSTITUTO SUPERIOR  TECNOLÓGICO
“IDAT”
               

Resultado de imagen para 555
NOMBRE: JHANCARLOS RAMOS COTRINA
OCUPACIÓN: ESTUDIANTE 
DIRECCION: CAJAMARCA (CAS: YERBA SANTA  BAJA)
COLEGIO: ABRAHAM  VALDELOMAR PINTO
ESCUELA: I.E.  82682  YERBA SANTA 
ESPECIALIZADO: EN ELECTRÓNICA INDUSTRIAL


MINI PROYECTO DE UN SEMÁFORO CASERO CON UN TAIMER NE555N.


                                                SEMÁFORO






ª       OBJETIVOS

Realizar un circuito que funcione como un pequeño semáforo como una aplicación del circuito integrado 555, un semáforo de dos estados representados por dos LEDs uno rojo y el otro verde. Pero si queremos un led amarillo es muy opcional tendremos que actuar cm electrónicos y darle una solución  para ver la ejecución de otro led más que tenemos que incorporar.

Ver las variaciones en los Leds cuando se realizan cambios en los componentes pasivos (resistencias y capacitores) ver cómo van variando el tiempo de encendido y apagado uno con el otro.

MARCO TEÓRICO

El circuito integrado 555 es de bajo costo y de grandes prestaciones. Inicialmente fue desarrollado por la firma Signetics. En la actualidad es construido por muchos otros fabricantes. Entre sus aplicaciones principales cabe destacar las de multivibrador estable (dos estados metaestables) y monoestable (un estado estable y otro metaestable), detector de impulsos, etcétera.En general el NE 555 es un controlador altamente estable capaz de producir retardos de tiempo u oscilación bastante exactos. En el modo de operación de retardos de tiempo, el tiempo es precisamente controlado por una resistencia y un condensador externo. En el modo de operación astable como oscilador, la frecuencia y el ciclo de trabajo son controlados con precisión por dos resistencias externas y un condensador.


ª       MATERIALES

·                     Resistencias: R1 (6.8 KΩ), R2 (33, 82 y 100 KΩ) y R3 (220 Ω).
·                     Capacitores:Electrolítico: 10 µF/16V y 100 µF/16V.
·                     Diodo: 2 LEDs (rojo y verde).
·                     Fuente: Una batería de 4-9V DC.
·                     Circuito integrado: NE55N     
ª      


ª       PROCEDIMIENTO
ª       Armar el circuito mostrado en  la figura:








ª       GRÁFICOS E IMÁGENES


ª       












  CONCLUSIONES

El proyecto semáforo, combina los destellos de un par de LEDs, a una frecuencia de cerca de dos destellos por segundo, produciendo el mismo efecto que las señales de las vías férreas.

La variación de los elementos R1, R2 y C1 en el circuito implementado hace que el período de oscilación sea más corto o más largo dependiendo de los valores de estos tres elementos

Y así es como donde llegando a ser todos estos pasos ya  tenemos nuestro semáforo mini casero  y un gran emoción a experimentar este circuito.

Gracias a todos 





PROGRAMAS DE PROGRAMACION EN ARDUINO UNO

GRACIAS  OS AGRADESCO POR PASAOS Y REBISISAOS MI  BLOGGER  Y A CONTINUACIÓN LOS PRESENTAOS  MAS INFORMACIÓN  ACERCA  DE PROGRAMACIÓN  EN ARDUINO 1 .








PROGRAMAS Y CLASES DE SISTEMAS  MICRO CONTROLADOS
                                         CON ARDUINO
KEYPAD O MTECLADO 4X4


#include <Keypad.h>
const byte filas = 4 ; // tengo 4 filas
const byte columnas = 4; // tengo 4 columnas
char keys[filas][columnas]={
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte pinfila[filas]={9,8,7,6};
byte pincolumnas[columnas]={5,4,3,2} ;
Keypad keypad = Keypad(makeKeymap(keys), pinfila ,pincolumnas,filas,columnas);
void setup() {
  Serial.begin(9600);
}
void loop() {
 char tecla = keypad.getKey();
 if(tecla!= NO_KEY){
  Serial.println(tecla);
 }
}


PARA ENCONTRAR UNA RAÍZ CUADRADA

/*#include <Math.h>
#include <stdio.h>
*/
int a;
int b;
int c;
float x1, x2;
void setup() {
 Serial.begin(9600);
}
void loop() {
  a=1;
  b=-8;
  c=16;
   x1=( -b+sqrt (b*b -4*a*c))/(2*a);
  x2=( -b-sqrt(b*b -4*a*c))/ (2*a);
Serial.print("LA PRIMERA RAIZ ES = ");
Serial.print(x1);
Serial.print("LA SEGUNDA RAIZ ES = ");
Serial.print(x2);
 delay (15000);
}


PARA ALLAR UNA O MAS FUNCIONES


/*#include <Math.h>
#include <stdio.h>
*/
float x1,x2;
void setup() {
 Serial.begin(9600);
}
void loop() {
Raiz_Ecuacion(1,11,28);
Raiz_Ecuacion(2,-7,-15);
Raiz_Ecuacion(3,-7,-6);
delay(15000);
}
float Raiz_Ecuacion(float a, float b, float c){
 x1=( -b+sqrt (b*b -4*a*c))/(2*a);
  x2=( -b-sqrt(b*b -4*a*c))/ (2*a);
Serial.print("LA PRIMERA RAIZ ES = ");
Serial.print(x1);
Serial.print("LA SEGUNDA RAIZ ES = ");
Serial.print(x2);
 delay (15000);
}



MULTÍMETRO PARA MEDIR


void setup() {
  Serial.begin(9600);
}

void loop() {
  int resol =analogRead (0);
  float vol = float(resol)*5.0/1023.0;
  Serial.print("el voltaje es ");
  Serial.println(vol,3);
delay(1900);
}



COMO CALCULAR UN TRIANGULO


int a,b,c;
void setup() {
 Serial.begin(9600);
}

void loop() {
area_triangulo(20,15,18);
area_triangulo(14,6,13);
area_triangulo(6,4,5);
delay(15000)
}
float area_del_triangulo(float a, float b, float c){
  float p=(a+b+c)/(2);
 float a2=  (sqrt p*(p-a)*(p-b)*(p-c)));

Serial.print("EL PERIMETRO DEL TRIANGULO ES = ");
Serial.println(p);
Serial.print("EL AREA DEL TRIANGULO ES = ");
Serial.println(a2);

}


PANTALLA LCD CONFIGURACION CON UN VALOR PRENDE Y APAGA


#include <LiquidCrystal.h>


/*
 * RS => pin12
 * E => pin11
 * D4 => pin5
 * D5 => pin4
 * D6 => pin3
 * D7 => pin2
 */
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
 lcd.begin(2,2);
 lcd.clear();
}
void loop() {
   lcd.setCursor(0,2);
  lcd.print("JHANCARLOS");
  delay(1000);
}


PANTALLA LCD QUE RECORRA UNA PALABRA


#include <LiquidCrystal.h>


/*
 * RS => pin12
 * E => pin11
 * D4 => pin5
 * D5 => pin4
 * D6 => pin3
 * D7 => pin2
 */
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
 lcd.begin(16,2);
 lcd.clear();
}
void loop() {
  int P =0;
  for(P=0; P<16; P++){
    lcd.setCursor(P,0);
  lcd.print("JHANCARLOS");
  delay(1000);
   lcd.clear(); 
  }
}


LCD EL MISMO VALOR PERO SE INACIALIZA EL MISMO VALOR


#include <LiquidCrystal.h>

/*
 *RS= pin 13
 *E = pin 12
 *D4 = pin 5
 *D5 = pin 4
 *D6 = pin 3
 *D7 = pin 2
 */

 LiquidCrystal lcd(13,12,5,4,3,2);
void setup() {

  lcd.begin(16,2);
  lcd.clear();
}
void loop() {
  int k;
 for(k =0; k<=4; k++){
  lcd.setCursor(k,0);
 lcd.print("JHANCARLOS ");
  delay(1000);
  lcd.clear();
  }
int p;
 for(p =4; p>=0; p--){
  lcd.setCursor(p,0);
 lcd.print("JHANCARLOS ");
  delay(1000);
}
  int A;
 for(A =0; A<=4; A++){
  lcd.setCursor(A,1);
 lcd.print("JHANCARLOS ");
  delay(1000);
  lcd.clear();
  }
int B;
 for(B =4; B>=0; B--){
  lcd.setCursor(B,1);
 lcd.print("JHANCARLOS ");
  delay(1000);

}
}



LCD MIS DATOS PERSONALES EN RRECORRIDO


#include <LiquidCrystal.h>


/*
 * RS => pin12
 * E => pin11
 * D4 => pin5
 * D5 => pin4
 * D6 => pin3
 * D7 => pin2
 */
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
 lcd.begin(16,2);


}
void loop() {

  int B = 0;
    for(B=0; B<16; B++){
    lcd.setCursor(B,0);
  lcd.print(" HOLA MUNDO");
  delay(1000);
   lcd.clear();
    }
int R = 0;
    for(R=0; R<16; R++){
    lcd.setCursor(R,0);
  lcd.print(" MI NOMBRE ES");
  delay(1000);
   lcd.clear();

    }
  int P =0;
  for(P=0; P<16; P++){
    lcd.setCursor(P,0);
  lcd.print(" JHANCARLOS");
  delay(1000);
   lcd.clear();
  }
int E = 0;
    for(E=0; E<16; E++){
    lcd.setCursor(E,0);
  lcd.print("RAMOS COTRINA");
  delay(1000);
   lcd.clear(); 
 
}
int D = 0;
    for(D=0; D<16; D++){
    lcd.setCursor(D,0);
  lcd.print("BECARIO EN BECA 18");
  delay(1000);
   lcd.clear();
}
int F = 0;
    for(F=0; F<16; F++){
    lcd.setCursor(F,0);
  lcd.print("ESTUDIANTE DE IDAT");
  delay(1000);
   lcd.clear();
    }
  int G= 0;
    for(G=0; G<16; G++){
    lcd.setCursor(G,0);
  lcd.print("ELECTRONICA INDUSTRIAL");
  delay(1000);
   lcd.clear(); 
    }
   int  H= 0;
    for(H=0; H<16; H++){
    lcd.setCursor(H,0);
  lcd.print("DIRECCION E IDENTIDAD");
  delay(1000);
   lcd.clear();
    }
   int I = 0;
    for(I=0; I<16; I++){
    lcd.setCursor(I,0);
  lcd.print("CAJAMARCA-PERU");
  delay(1000);
   lcd.clear();
   }
   int J = 0;
    for(J=0; J<16; J++){
    lcd.setCursor(J,0);
  lcd.print("CEL: 9699152572");
  delay(1000);
   lcd.clear();   
}
}



LCD PERO INICIALIZANDO LOS DOS REGLONES QUE RRECORE


#include <LiquidCrystal.h>
/*
 * RS => pin12
 * E => pin11
 * D4 => pin5
 * D5 => pin4
 * D6 => pin3
 * D7 => pin2
 */
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
 lcd.begin(16,2);
 lcd.clear();
}
void loop() {
  int P =0;
  for(P=16; P>0; P--){
    lcd.setCursor(P,0);
  lcd.print("  JHANCARLOS");

 lcd.setCursor(P,1);
  lcd.print("RAMOS  COTRINA");
  delay(1000);
   lcd.clear(); 
  }
 int D =0;
  for(D=0; D<16; D++){
    lcd.setCursor(D,0);
  lcd.print("  JHANCARLOS");
  lcd.setCursor(D,1);
  lcd.print("RAMOS  COTRINA");
  delay(1000);
   lcd.clear(); 
}
}


INICIAL IZANDO LOS DOS LINEAS DEL LCD Y NO RECORRE


#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
  Serial.begin(9600);
 lcd.begin(16,2);

}
void loop() {
   lcd.setCursor(0,0);
  lcd.print("   JHANCARLOS");
  lcd.setCursor(0,1);
  lcd.print(" RAMOS  COTRINA");
   }


PANTALLA LCD QUE CAMBIA SOLA Y BIBRA

#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
  Serial.begin(9600);
 lcd.begin(16,2);

}
void loop() {
  lcd.print("  LCD TUTORIAL");
  delay(3000);
  lcd.setCursor(0,1);

  lcd.print(" RAMOS  COTRINA");
  delay(4000);
  lcd.clear();
  delay(1500);
 lcd.blink ();
  delay(3000);
  lcd.noBlink();

  lcd.print(" VISITA MI CANAL");
  delay(3000);
  lcd.clear();

  lcd.print("WWW.YOUTUBE.COM");
  lcd.setCursor(0,1);
  lcd.print("/USER/TECNOLOGIA");
  delay(5000);
  lcd.clear();

lcd.print("     GRACIAS");
 lcd.setCursor(0,1);
lcd.print("   MIS AMIGOS");
delay (5000);
lcd.clear();
 delay(2000);
 }


 Teclado  arduino mas lcd


#include <LiquidCrystal.h> //incluimos la libreria de la LCD
#include <Keypad.h>  //Incluimos la librería del teclado
const byte filas = 4; //poque nuestro teclado tiene 4 filas
const byte columnas = 4;//poque nuestro teclado tiene 4 columnas
char teclado[filas][columnas]={  //creamos la matriz teclado tal como es nuestro teclado
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}, 
};
byte pinFilas[filas]={7,6,5,4}; //en estos pines de nuestro arduino irán conectados las filas de nuestro teclado
byte pinColumnas[columnas] = {3,2,A5,A4};  //en estos pines de nuestro arduino irán conectados las columnas de nuestro teclado
Keypad keypad=Keypad(makeKeymap(teclado),pinFilas,pinColumnas,filas,columnas);  // creamos el objeto keypad

LiquidCrystal lcd(13,12,11,10,9,8); //Creamos el objeto lcd y en parentecisis van los pines de nuestro arduino

int a, b, suma;  //Creamos la variable a y b donde se almacenarán las teclas pulsadas y la variable suma = a+b
int var=0;  //Creamos var para eleguir los casos y almacenar los valores en a o b

void setup() {
 lcd.begin(16,2);//Inicializamos nuestra LCD de 16x02
 lcd.clear();  //Limpiamos nuestra LCD
 lcd.setCursor(0,0); //Ubicamos el cursor en la columna cero y fila cero
}

void loop() {
 char tecla = keypad.getKey();  //Obtenemos la tecla pulsada y lo asignamos "tecla"
  if(tecla != NO_KEY){
    lcd.print(tecla); //Imprimimos la tecla pulsada
    var++; //var sumamos en uno cada vez q se pulsa una tecla
    tecla = tecla - 48; //pasamos de char a int
    switch(var){ //iniciamos el switch con variables var
      case 1:  //caso cuando var =1
        a = tecla; //almacenamos el valor de tecla en la variable a
        break;
      case 2:
        b = tecla;//almacenamos el valor de tecla en la variable b
        break;
    }
    if(tecla == -13){ //Entramos al if cuando se pulsa la tecla "#"
      suma = a+b;  //asignamos la la suma de a y b a la variable "suma"
      lcd.print(suma); //imprimimos el valor de suma
      var = 0; //reinicio var
    }
  }
}


 
  Para configurar arduino y comunicarse con modulo bluetooth


/************************* http://geekfactory.mx *******************************
 *
 * Sketch de prueba para modulos de bluetooth HC-05 y HC-06. Este programa puede
 * controlar el led de la tarjeta arduino a través de la conexión bluetooth. El
 * programa puede ampliarse para controlar una mayor cantiad de salidas.
 *
 * ESTE SKETCH USA EL PUERTO SERIE (UART), MISMO QUE ES UTILIZADO PARA
 * LA COMUNICACIÓN USB. EL USO DE BLUETOOTH O USB ES MUTUAMENTE EXCLUSIVO
 * (NO SE PUEDEN USAR AMBOS AL MISMO TIEMPO).
 *
 * PARA USAR LA CONEXIÓN USB Y BLUETOOTH AL MISMO TIEMPO ES NECESARIO EMULAR UNA
 * UART POR SOFTWARE.
 *
 * El funcionamiento es sencillo:
 *
 * Enviar un caracter 'A' para encender el led
 * Enviar un caracter 'a' para apagar el led
 *
 */

char rxChar;               // Variable para recibir datos del puerto serie
int ledpin = 13;           // Pin donde se encuentra conectado el led (pin 13)

// Configurar el arduino
void setup()
{
            // Pin 13 como salida
            pinMode(ledpin, OUTPUT);
            // Comunicación serie a 9600 baudios
            Serial.begin(9600);
}

// Ciclo infinito, programa principal
void loop()
{
            // Si hay datos disponibles en el buffer
            if( Serial.available() )
            {
                        // Leer un byte y colocarlo en variable
                        rxChar = Serial.read();

                        // Procesar comando de un solo byte
                        if( rxChar == 'A' )
                        {
                                   digitalWrite(ledpin, HIGH);
                                   Serial.println("ON");
                        }
                        else if ( rxChar == 'a' )
                        {
                                   digitalWrite(ledpin, LOW);
                                   Serial.println("OFF");
                        }
            }

            // Podemos hacer otras cosas aquí
            delay(100);
}


Programa para sensor de ultrasonido con arduino


#include <NewPing.h>

/*Aqui se configuran los pines donde debemos conectar el sensor*/
#define TRIGGER_PIN  12
#define ECHO_PIN     11
#define MAX_DISTANCE 200

/*Crear el objeto de la clase NewPing*/
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
  Serial.begin(9600);
}

void loop() {
  // Esperar 1 segundo entre mediciones
  delay(1000);
  // Obtener medicion de tiempo de viaje del sonido y guardar en variable uS
  int uS = sonar.ping_median();
  // Imprimir la distancia medida a la consola serial
  Serial.print("Distancia: ");
  // Calcular la distancia con base en una constante
  Serial.print(uS / US_ROUNDTRIP_CM);
  Serial.println("cm");
}






Arduino con Fotoresistencia LDR


/*
 * http://www.geekfactory.mx
 *
 * Ejemplo de medidor de luz con Arduino utilizando una fotoresistencia LDR y
 * un grupo de leds para mostrar el resultado de las lecturas. Este sketch puede
 * servir como base para otros proyectos que requieren medicion de la intensidad
 * de luz con una fotoresistencia.
 *
 * Mas detalles y la conexion completa para este sketch en:
 * http://www.geekfactory.mx/tutoriales/tutoriales-arduino/tutorial-arduino-con-fotoresistencia-ldr/
 *
 */

// Pin donde se conectan los leds
int pinLed1 = 2;
int pinLed2 = 3;
int pinLed3 = 4;
// Pin analogico de entrada para el LDR
int pinLDR = 0;

// Variable donde se almacena el valor del LDR
int valorLDR = 0;  

void setup()
{
  // Configuramos como salidas los pines donde se conectan los led
  pinMode(pinLed1, OUTPUT);
  pinMode(pinLed2, OUTPUT);
  pinMode(pinLed3, OUTPUT);
  
  //  Configurar el puerto serial
  Serial.begin(9600);
}

void loop()
{
  // Apagar todos los leds siempre que se inicia el ciclo
  digitalWrite(pinLed1, LOW);
  digitalWrite(pinLed2, LOW);
  digitalWrite(pinLed3, LOW);

  // Guardamos el valor leido del ADC en una variable
  // El valor leido por el ADC (voltaje) aumenta de manera directamente proporcional
  // con respecto a la luz percibida por el LDR
  valorLDR= analogRead(pinLDR);
  
  // Devolver el valor leido a nuestro monitor serial en el IDE de Arduino
  Serial.println(valorLDR);

  // Encender los leds apropiados de acuerdo al valor de ADC
  if(valorLDR > 256)
  {
    digitalWrite(pinLed1, HIGH);
  }
  if(valorLDR > 512)
  {
    digitalWrite(pinLed2, HIGH);
  }
  if(valorLDR > 768)
  {
    digitalWrite(pinLed3, HIGH);
  }
  // Esperar unos milisegundos antes de actualizar
  delay(200);
}





Controlar tu arduino desde la PC mediante comandos de texto


/**
 * GeekFactory - "Construye tu propia tecnologia"
 * Distribucion de materiales para el desarrollo e innovacion tecnologica
 * www.geekfactory.mx
 *
 * Ejemplo de libreria Shell. Este ejemplo permite controlar el color mostrado
 * en un led RGB conectado a los pines PWM mediante comandos de texto. El programa
 * admite 3 parametros de 0 a 255 que representan la intensidad de cada led (RGB).
 *
 * Example for Shell library. This example controls the color displayed on the RGB
 * led connected to PWM pins using text commands. The program accepts 3 parameters
 * in a range from 0 to 255 that represent the intensity of each led.
 */

#include <Shell.h>

void setup()
{
  // Prepare serial communication
  Serial.begin(9600);
  // Wait after reset or power on...
  delay(1000);

  // Pins to connect RGB led (PWM outputs)
  pinMode(3,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);

  // Initialize command line interface (CLI)
  // We pass the function pointers to the read and write functions that we implement below
  // We can also pass a char pointer to display a custom start message
  shell_init(shell_reader, shell_writer, 0);

  // Add commands to the shell
  shell_register(command_rgbled, "rgbled");
}

void loop()
{
  // This should always be called to process user input
  shell_task();
}

/**
 * This function implements the rgbled command and parses the required args
 * Type: rgbled 255 255 255 to set led to maximum brigtness
 * Type: rgbled 0 0 0 to set led to minimum brightess
 */
int command_rgbled(int argc, char** argv)
{
  // Variables that store parameter values
  uint8_t val_R, val_G, val_B;

  // Parse RGB values and write to PWM pins
  val_R = strtol(argv[1],NULL,0);
  analogWrite(3, val_R);

  val_G = strtol(argv[2],NULL,0);
  analogWrite(5, val_G);

  val_B = strtol(argv[3],NULL,0);
  analogWrite(6, val_B);

  // Print the received falues to the terminal screen
  shell_printf("#RGB-COMPONENTS:%d,%d,%d\r\n", val_R, val_G, val_B);

  // Return success code
  return SHELL_RET_SUCCESS;
}

/**
 * Function to read data from serial port
 * Functions to read from physical media should use this prototype:
 * int my_reader_function(char * data)
 */
int shell_reader(char * data)
{
  // Wrapper for Serial.read() method
  if (Serial.available()) {
    *data = Serial.read();
    return 1;
  }
  return 0;
}

/**
 * Function to write data to serial port
 * Functions to write to physical media should use this prototype:
 * void my_writer_function(char data)
 */
void shell_writer(char data)
{
  // Wrapper for Serial.write() method
  Serial.write(data);
}







Arduino mas un potenciómetro




const int analogPin = A0;
int value;      //variable que almacena la lectura analógica raw
int position;   //posicion del potenciometro en tanto por ciento

void setup() {
}

void loop() {
value = analogRead(analogPin); // realizar la lectura analógica raw
position = map(value, 0, 1023, 0, 100);  // convertir a porcentaje

//...hacer lo que se quiera, con el valor de posición medido

delay(1000);
}








Clave con contraseña


#include <LiquidCrystal.h>

#include <Key.h>
#include <Keypad.h>
const byte filas = 4;
const byte columnas = 4;
char teclado[filas][columnas]={
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}, 
};
byte pinFilas[filas]={7,6,5,4};
byte pinColumnas[columnas] = {3,2,A5,A4};
Keypad keypad=Keypad(makeKeymap(teclado),pinFilas,pinColumnas,filas,columnas);
LiquidCrystal lcd(13,12,11,10,9,8);
int tecla;
int a,b,c,d, suma;
int c1=4,c2=6,c3=7,c4=3;
int var=0;

void setup() {
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);

}
void loop() {

 char tecla = keypad.getKey();
 if(tecla != NO_KEY){
  lcd.print(tecla);
  var++;
  tecla = tecla - 48;
  switch(var){
    case 1:
    a = tecla;
    break;
    case 2:
    b = tecla;
    break;
    case 3:
    c = tecla;
    break;
    case 4:
    d = tecla;
    if (a==c1&&b==c2&&c==c3&&d==c4){
      lcd.setCursor(0,0);
      lcd.print("clave coerrecta");
      delay (5000);
      lcd.clear();
    }
    else{
      lcd.setCursor(0,0);
      lcd.print("clave incorrecta");
      lcd.setCursor(0,1);
      lcd.print("intentalo denuevo");
      delay(5000);
      var = 0;
  }
 }
 }
}
 


Cambiar que los números aparezcan con arterisco



#include <LiquidCrystal.h>

#include <Key.h>
#include <Keypad.h>
const byte filas = 4;
const byte columnas = 4;
char teclado[filas][columnas]={
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}, 
};
byte pinFilas[filas]={7,6,5,4};
byte pinColumnas[columnas] = {3,2,A5,A4};
Keypad keypad=Keypad(makeKeymap(teclado),pinFilas,pinColumnas,filas,columnas);
LiquidCrystal lcd(13,12,11,10,9,8);
int tecla;
int a,b,c,d, suma;
int c1=4,c2=6,c3=7,c4=3;
int var=0;

void setup() {
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(5,1);

}
void loop() {

 char tecla = keypad.getKey();
 if(tecla != NO_KEY){
  lcd.print("*");
  var++;
  tecla = tecla - 48;
  switch(var){
    case 1:
    a = tecla;
    break;
    case 2:
    b = tecla;
    break;
    case 3:
    c = tecla;
    break;
    case 4:
    d = tecla;
    if (a==c1&&b==c2&&c==c3&&d==c4){


      lcd.setCursor(0,0);
      lcd.print("detectando clave");
      delay (5000);
      lcd.clear();
     
      lcd.setCursor(0,0);
      lcd.print(" clave correcta");
      delay (5000);
     
       lcd.setCursor(0,1);
      lcd.print("puerta abierta");
      delay (5000);
      lcd.clear();
    }
     
    else{
      lcd.setCursor(0,0);
      lcd.print("detectando clave");
      delay (5000);
      lcd.clear();
     
      lcd.setCursor(0,0);
      lcd.print("clave incorrecta");
      lcd.setCursor(0,1);
      lcd.print("intentalo denuevo");
      delay(5000);
      var = 0;
  }
 }
 }
}
 


Comunicación sereal de un led

void setup() {
  Serial.begin(9600);
  pinMode(12,OUTPUT);
 

}

void loop() {
  int a;
  if(Serial.available()>0){
    a=Serial.read();
   
  }

  if(a== 'n'){
    x1:

    digitalWrite(12,HIGH);
   
    delay(50);
    digitalWrite(12,LOW);
    delay(50);
    goto x1;
  }
if(a == 'r'){
  x2:
  digitalWrite(12,LOW);
 goto x2;
}
}





Suma resta multiplicación

#include <LiquidCrystal.h>
#include <Keypad.h>

/*
 *  alumno de idat
 *  codigo A1515368
 *  monbre: jhancarlos
 *  apellido: ramos cotrina
 *  seccion: 20402_BE
 */


const byte filas = 4; //tengo 4 filas
const byte columnas = 4; // tengo 4 columnas

char keys[filas][columnas] = {  //  declaramos todas las filaas ylas columnas del keypad
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'},
};

byte pinFilas[filas] = {7,6,5,4};  // declaramos las filas y  salidas del arduino y entre las del lcd para su funcionamiento
byte pinColumnas[columnas] = {3,2,A5,A4}; // decaramos las columnas del keypad en el arduino

Keypad keypad = Keypad(makeKeymap(keys),pinFilas,pinColumnas,filas,columnas);

LiquidCrystal lcd(13,12,11,10,9,8); //Creamos el objeto lcd y en parentecisis
int a, b,c , suma, resta, multiplicacion; //Creamos la variable a y b donde se amacenaran las teclas cunado tenga que sumar, restar, multiplicar
int var = 0; //Creamos var para elegir los casos y almacenaran los valores en
void setup(){
  lcd.begin(16,2); // declaramos todas las filas y columnas del lcd para inicializarse
  lcd.clear(); // borramos o limpiamos la pantalla lcd
  lcd.setCursor(0,0); // declaramos las direcciones de nuestro lcd
}
void loop(){
  char tecla = keypad.getKey();
  if(tecla != NO_KEY){
  {
    lcd.print(tecla);
    tecla = tecla - 48;
    var++;
    switch(var)
    {
      case 1: // indicamos el caso 1
       a = tecla; // almacena los datos en la tecla a
       break;// rompe el caso para saltar  a la siguiente funcion
      case 2:  // declaramos el caso dos
       b = tecla;// almacena los datos en el la tecla b
       break; // rompe el caso para saltar  a la siguiente funcion

      
    }
  if(tecla == 17)
  {
    suma = a+b; // suma los resultados de a y b
    lcd.print(suma); // muestra en la pantalla la suma
    var = 0;
  }
  if(tecla == 18)
  {
    resta = a-b; // resta los resultados de  a y b
    lcd.print(resta); // muestra los resultados de la suma el la pantalla lcd
    var = 0;
  }
  if(tecla == 19)
  {
    multiplicacion = a*b; // multiplica  los resultados de a y  b
    lcd.print(multiplicacion); // muestra en  la pantalla los resultados de la multiplicacion
    var = 0;
  }
  }
 }
}


Con arduino y bluetooth

#include<SoftwareSerial.h>

SoftwareSerial BT (2,3);//PIN2 RECSPCION Y PIN3 TRANSMICION
char nombre [8] = "JHAN";
char pin[5]="1234";
char vel='4';


void setup() {
 BT .begin(38400);
 pinMode(13,OUTPUT);
 pinMode(12,OUTPUT);
 /****************/

 digitalWrite (13,HIGH);
 delay(1000);
 digitalWrite (13,LOW);
 /***************/
  digitalWrite (12,HIGH);
 delay(2000);
 BT.print("AT\r\n" );

 BT.print("AT+NAME" );
 BT.print(nombre);
 BT.print("\r\t");


 BT.print("AT+PSWD:" );
 BT.print(pin);
 BT.print("\r\t");

 BT.print("AT+BAUD:" );
 BT.print(vel);
 BT.print("\r\t");

}

void loop() {
  digitalWrite(13,HIGH);
  delay(300);
  digitalWrite(13,LOW);
  delay(300);
}

Programas de arduino
Contador up con led pines 5,4,3,2


int valor;
byte pin;

void setup() {
  for(pin=2;pin<6;pin++){
    pinMode(pin,OUTPUT);
  }
}

void loop() {
  for(valor=0;valor<10;valor++){
    for(pin=2;pin<6;pin++){
      digitalWrite(pin,bitRead(valor,pin-2));
     
    }
    delay(1000);
  }
 
}

Contador up dow

int valor;
byte pin;

void setup() {
  for(pin=2;pin<6;pin++){
    pinMode(pin,OUTPUT);
  }
}

void loop() {
  for(valor=0;valor<10;valor++){
    for(pin=2;pin<6;pin++){
      digitalWrite(pin,bitRead(valor,pin-2));
     
    }
    delay(1500);
  }
  for(valor=10;valor>=0;valor--){
    for(pin=2;pin<6;pin++){
      digitalWrite(pin,bitRead(valor,pin-2));
     
    }
    delay(1500);
}
}




Juego de luces con arduino

int luz[]={1,2,4,8,10};
byte pin,a;
void setup() {
for(pin=2;pin<9;pin++){
pinMode(pin,OUTPUT);
}
}
void loop(){
for(a=0;a<7;a++)
{
  for(pin=2;pin<9;pin++)
    {
digitalWrite(pin,bitRead(luz[a],pin-2));
    }
    delay(60);
}
}

 TRASMICION DE  BLUETOOTH CON UN VALOR

#include<SoftwareSerial.h>
SoftwareSerial BT(2,3);// rx, tx
int a;

void setup() {
  BT. begin(9600);

}

void loop() {
  if(BT.available() > 0){
     a=BT.read();
  }
BT.print(a);
BT.print("HOLA");
}

SUMA 

#include <Key.h>
#include <Keypad.h> // traer sensor de ultrasonido, DHT11,PIR

#include <LiquidCrystal.h>

LiquidCrystal lcd(13,12,11,10,9,8); //(RS,E,D4,D5,D6,D7)
const byte filas = 4;
const byte col = 4;// const fila siempre sera 4

char teclado[filas][col] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'},
};

byte pinFila[filas]= {7,6,5,4};
byte pinColumna[col]= {3,2,A7,A6};

Keypad keypad = Keypad(makeKeymap(teclado),pinFila,pinColumna,filas,col);// testea que tecla se pulsa

 char tecla;
 int var = 0;
 int a, b, c, d, suma;

void setup() {
 
 lcd.begin(16,2);
 lcd.clear();
 lcd.setCursor(0,0);
}

void loop() {
 
 tecla = keypad.getKey();
 if(tecla != NO_KEY){

  lcd.print(tecla);
  tecla = tecla -48;// esto para que me aparesca numeros enteros y no #s char

  var++;

  switch(var){

    case 1:
    a = tecla;// if(var == 1)se puede hacer, pero es mas complejo
    break;

    case 2:
    b = tecla;
    break;

    case 3:
    c = tecla;
    break;

    case 4:
    d = tecla;
    break;
  }

  if (tecla == -13){// el valor de '*' en char, le restamos 48
  suma = a+b+c+d;
  lcd.print(suma);
  var = 0;
 
 }
}
  if(a==1 && b==2 && c==3 && d==4){//1234 seria la conytraseña
//codigo

}
}

Programar un led con bluetoothun led al 12 del arduino tx del blueto con el arduino num,ero 2   rx   y  rx del blueto con tx del arduino  numero 3 del arduino


#include<SoftwareSerial.h>
SoftwareSerial BT(2,3);// rx, tx
int a;

void setup() {
  BT. begin(9600);
pinMode(12,OUTPUT);
}

void loop() {
  int a;
  if(BT.available() > 0){
     a=BT.read();
  }
  if(a=='3'){
    digitalWrite(12,HIGH);
  }
if(a=='4'){
    digitalWrite(12,LOW);
}
}

Programar el potenciómetro  con A0  del arduino tx del blueto con el arduino num,ero 2   rx   y  rx del blueto con tx del arduino  numero 3 del arduino

#include<SoftwareSerial.h>
SoftwareSerial BT(2,3);// rx, tx

void setup() {
  BT. begin(9600);
}

void loop() {
  int a;

  a=analogRead(A0);
  BT.println(a);
}

PROGRAMACIÓN DE MOTOR DE PASO EN ARDUINO

#include <Stepper.h>
#define STEPS 64 // Cambiar a 100 y a 200
//Secuencia 1-3-2-4
//Stepper motor(STEPS, 8, 10, 9, 11);
Stepper motor(STEPS, 4, 6, 5, 7);
int pasos;

void setup() {
  }

void loop() {

motor.setSpeed(150); // velocidad rpm
pasos = 500; // Sentido del reloj + 2000 pasos
motor.step(pasos);
delay(2000);

motor.setSpeed(150); // velocidad rpm
pasos = -500; // Sentido contrario al reloj - 2000 pasos
motor.step(pasos);
delay(2000);

}



ARDUINO UNO MAS LCD MAS KEYPAD Y MOTOR DE PASOS

#include <Stepper.h>
#define STEPS 64 // Cambiar a 100 y a 200
//Secuencia 1-3-2-4
//Stepper motor(STEPS, 8, 10, 9, 11);
Stepper motor(STEPS, 4, 6, 5, 7);
int pasos;

#include <LiquidCrystal.h>
//#include <Key.h>
#include <Keypad.h>
const byte filas = 4;
const byte columnas = 4;
char teclado[filas][columnas]={
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'},
};
byte pinFilas[filas]={3,2,A5,A4};
byte pinColumnas[columnas] = {A3,A2,A1,A0};
Keypad keypad=Keypad(makeKeymap(teclado),pinFilas,pinColumnas,filas,columnas);
LiquidCrystal lcd(13,12,11,10,9,8);
int tecla;
int a,b,c,d, suma;
int c1=4,c2=5,c3=6,c4=7;
int var=0;

void setup() {
  lcd.begin(16,2);
  lcd.clear();
  lcd.setCursor(1,0);
  lcd.print("Inserte Clave");
  lcd.setCursor(4,1);
  lcd.print("Porfavor");
  delay(1000);
}
void loop() {
 char tecla = keypad.getKey();
 if(tecla != NO_KEY){
  lcd.clear();
  lcd.setCursor(5,0);
  //lcd.print(tecla);
  lcd.print("*");
  lcd.setCursor(0,1);
  lcd.print("Grabando Clave");
 
  var++;
  tecla = tecla - 48;
  switch(var){
    case 1:
    a = tecla;
    break;
    case 2:
    b = tecla;
    break;
    case 3:
    c = tecla;
    break;
    case 4:
    d = tecla;
     
    if (a==c1&&b==c2&&c==c3&&d==c4){

     
      lcd.setCursor(0,0);
      lcd.print("Detectando Clave");
      lcd.setCursor(1,1);
      lcd.print("Clave Grabada");
      delay (5000);
      lcd.clear();
   
      lcd.setCursor(0,0);
      lcd.print(" Clave Correcta");
      delay (5000);
   
      lcd.setCursor(1,1);
      lcd.print("Puerta Abierta");
      motor.setSpeed(150); // velocidad rpm
      pasos = 500; // Sentido del reloj + 2000 pasos
      motor.step(pasos);
      delay(4000);
      lcd.clear();

      lcd.setCursor(2,0);
      lcd.print(" Ten Cuidado");
      delay (5000);
   
      lcd.setCursor(1,1);
      lcd.print("Cerrando Puerta");
      motor.setSpeed(150); // velocidad rpm
      pasos = -500; // Sentido contrario al reloj - 2000 pasos
      motor.step(pasos);
      delay(2000);
     
     var = 0;
  lcd.clear();
  lcd.setCursor(1,0);
  lcd.print("Inserte Clave");
  lcd.setCursor(4,1);
  lcd.print("Porfavor");
    }
   
    else{
      lcd.setCursor(0,0);
      lcd.print("Detectando Clave");
      lcd.setCursor(1,1);
      lcd.print("Clave Grabada");
      delay (5000);
      lcd.clear();
   
      lcd.setCursor(0,0);
      lcd.print("Clave Incorrecta");
      lcd.setCursor(0,1);
      lcd.print("Intentalo Denuevo");
      delay(5000);
      var = 0;
  lcd.clear();
  lcd.setCursor(1,0);
  lcd.print("Inserte Clave");
  lcd.setCursor(4,1);
  lcd.print("Porfavor");
  }

 } 
 }
}





































AUTOR : JHANCARLOS RAMOS COTRINA