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??
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


0