Hola a todos! Que tal?
Me han mandado un proyecto en clases y espero no abusar de sus conocimientos. Tengo una parte resuelta pero hay otra que me esta dando dolores decabeza. Primero les colocare el enunciado aca:
* La clave será ingresada mediante un teclado numérico de 4x3. Dicha clave debe ser de 4 dígitos.
* Las claves registradas deben almacenarse en la memoria EEPROM del micro.
* Administrar la memoria de la mejor manera para guardar la mayor cantidad de usuarios posibles.
* Solamente el administrador puede agregar y eliminar claves de usuarios.
* Se utilizará la tecla * para empezar a digitar la clave de acceso de un usuario nuevamente, esto en caso de que crea que se equivoco en un numero.
* Se utilizará la tecla # luego de que un usuario marque los 4 dígitos de la clave para verificar si está registrado. De ser así, se abrirá la puerta permitiéndole el acceso al otro ambiente, la cual se simulará activando por 2 segundos un Relé conectado al pin RA2.
* Mediante el pin RB0 (Usando Interrupción) se simulará el sensor que indicará si fue violentada la puerta. Dicho sensor debe estar en modo Normalmente Cerrado.
* Si el la puerta fue violentada, debe activarse una alarma sonora conectada al pin RA1, la cual solamente se desactivara si se introduce una clave valida.
Ahora, la parte que me tiene un poco loco es la siguiente:
* Administrar la memoria de la mejor manera para guardar la mayor cantidad de usuarios posibles.
Esto quiere decir que:
*Tengo 64bytes en la EEPROM, si guardo cada digito de la clave en un byte cada uno, puedo tener un maximo de 16 usuarios, ya que 64/4=16
*Pero si guardo 2 digitos en un byte, puedo tener 4 los 4 digitos en 2 bytes, lo que me daria un maximo de 32 usuarios. Esto es lo que quiero lograr.
Deberia hacer un swap en un registro entre los 2 primeros digitos y entre los 2 segundos, y guardarlos en un byte de la eeprom cada registro "swapeado", para asi solamente ocupar 2 bytes.
No se si me entienden bien, a lo mejor sea un poco confuso todo esto.
Luego de esto pues hay que saber como acceder entre usuarios, para grabar y leer. Supongo que a traves de alguna tabla.
Espero que puedan ayudarme, ya que creo que se nota que estoy un poco enredado con esto
