Arduino - ingreso de caracteres

 
Vista:

ingreso de caracteres

Publicado por jimmy (1 intervención) el 31/01/2021 04:26:52
Estimados
me pueden ayudar con esto
tengo proyecto de clave de acceso en arduino y quiero ingresar los caracteres con espacio predeterminado, ose que no vallan uno junto al otro ,.. si no que separados por mas de un espacio...como hacerlo?? en que parte de mi programacion debo darle los espacios entre ellos??

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include <Key.h>
#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
 
 
int estado=1;                  // 0=cerrado 1=abierto
const int PULSO = 13;          // define el pin de salida del pulso
const byte FILAS = 4;          // define numero de filas
const byte COLUMNAS = 4;       // define numero de columnas
char keys[FILAS][COLUMNAS] = {    // define la distribucion de teclas
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
 
byte pinesFilas[FILAS] = {9,8,7,6};         // pines correspondientes a las filas
byte pinesColumnas[COLUMNAS] = {5,4,3,2};  // pines correspondientes a las columnas
 
Keypad teclado = Keypad(makeKeymap(keys), pinesFilas, pinesColumnas, FILAS, COLUMNAS);  // crea objeto teclado
char TECLA;                        // almacena la tecla presionada
char CLAVE[4];                     // almacena en un array 3 digitos ingresados
 
char ESCRITURA1[4] = ("32A"); // almacena en un array la contraseña inicial
char ESCRITURA2[4] = ("33A"); // almacena en un array la contraseña inicial
char ESCRITURA3[4] = ("34A"); // almacena en un array la contraseña inicial
 
byte INDICE = 0;                   // indice del array
 
LiquidCrystal_I2C lcd(0x27,16,2);  // dependiendo del fabricante del I2C el codigo 0x27 cambiar a
                                   // 0x3F , 0x20 , 0x38 ,
 
void setup(){
 
 lcd.init();                       // inicializa el LCD
 lcd.backlight();
 delay(500);
 lcd.setCursor(0,0);
 lcd.print(" WRITING SYSTEM");
 lcd.setCursor (0,1);
 lcd.print(" HALCONES  2021");
 delay (5000);
 lcd.clear();
 limpia ();}
 
void loop(){
  TECLA = teclado.getKey();   // obtiene tecla presionada y asigna a variable
  if (TECLA)                  // comprueba que se haya presionado una tecla
  {
    CLAVE[INDICE] = TECLA;    // almacena en array la tecla presionada
    INDICE++;                 // incrementa indice en 1
    lcd.print(TECLA);         // envia al LCD la tecla presionada
  }
 
 
  if(INDICE == 3)             // si ya se almacenaron los 3 digitos
  {
    if(!strcmp(CLAVE, ESCRITURA1))    // compara clave ingresada con clave maestra
        abierto1();
 
    if(!strcmp(CLAVE, ESCRITURA2))    // compara clave ingresada con clave maestra
        abierto2();
 
    if(!strcmp(CLAVE, ESCRITURA3))    // compara clave ingresada con clave maestra
        abierto3();
 
    else
        error();
 
 
    INDICE = 0;
  }
 
 
}
 
/////////////////////abierto o cerrado //////////////////////////////
void abierto1(){
 
   if(estado==1){
      estado=1;
      lcd.clear();
      lcd.setCursor(4,0);
      lcd.print("HUMO HUMO");
      lcd.setCursor(3,1);
      lcd.print("***AHORA***");
 
 
      digitalWrite(PULSO, HIGH);    // switching on the led
      delay(5000);                  // stopping the program for 5000 milliseconds
      digitalWrite(PULSO, LOW);     // switching off the led
      delay(1000);                  // stopping the program for 1000 milliseconds
   }
 
 
 
 limpia();
}
 
void abierto2(){
   if(estado==1){
      estado=1;
      lcd.clear();
     lcd.setCursor(4,0);
      lcd.print("HUMO HUMO");
      lcd.setCursor(3,1);
      lcd.print("***AHORA***");
 
 
      digitalWrite(PULSO, HIGH);    // switching on the led
      delay(8000);                  // stopping the program for 5000 milliseconds
      digitalWrite(PULSO, LOW);     // switching off the led
      delay(1000);                  // stopping the program for 1000 milliseconds
      lcd.clear();
      lcd.setCursor(3,0);
      lcd.print("FIN DE LA");
      lcd.setCursor(3,1);
      lcd.print("ESCRITURA");
      delay(3000);
   }
 
 
 limpia();
}
 
 
void abierto3(){
   if(estado==1){
      estado=1;
      lcd.clear();
      lcd.setCursor(4,0);
      lcd.print("HUMO HUMO");
      lcd.setCursor(3,1);
      lcd.print("***AHORA***");
 
 
      digitalWrite(PULSO, HIGH);    // switching on the led
      delay(1000);                  // stopping the program for 5000 milliseconds
      digitalWrite(PULSO, LOW);     // switching off the led
      delay(1000);                  // stopping the program for 1000 milliseconds
   }
 
 limpia();
}
 
 
 
///////////////////// Error //////////////////////////////
void error(){
 
      lcd.clear();
      lcd.setCursor(4,0);
      lcd.print("INGRESE");
      lcd.setCursor(3,1);
      lcd.print("NUEVAMENTE");
      delay(3000);
 
      limpia();
}
 
///////////////////// limpia //////////////////////////////
void limpia(){
 lcd.clear();
 lcd.setCursor(1,0);
 lcd.print("INGRESE CODIGO");
 lcd.setCursor(1,1);
 lcd.print("AVION:");
 lcd.setCursor(9,1);
 lcd.print("ESCR:");
 lcd.setCursor(7,1);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder