Autor Tema: Sistema de Seguridad con un PIC  (Leído 70511 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado AJ267

  • PIC12
  • **
  • Mensajes: 52
Sistema de Seguridad con un PIC
« en: 05 de Junio de 2008, 19:18:01 »
hola a todos soy novato en esto y es mi primer tema y me preguntaba si me podian ayudar a hacer un proyecto:

por medio de un PIC 16F84A ( por que aquí en mi país solo estos microcontroladores venden ) hacer un sistema de seguridad, que utilice los siguientes elementos o componentes 12 pulsadores ( esto seria un teclado de 10 dígitos 0-9 y dos pulsadores uno para aceptar y otro para cancelar ), 6 display de 7 segmentos ( mostraría la palabra OPEN y CLOSE ) esto porque al inicio metería un password de 4 dígitos Max del 0 al 9 y luego al apretar el pulsador de aceptar mostraría la palabra de OPEN y mientras meto los 4 dígitos de la clave mostraría 0 en el display ósea si meto 4 dígitos se mostraría 0000 en lugar de los números de la clave luego al aceptar la clave mostraría la palabra de OPEN y aria girar un motor hacia la derecha por 4 segundos al detenerse debería de mantener la palabra OPEN pero sin movimiento del servo para cerrar pulsaría el botón de cancelar que lo que aria una vez este la palabra OPEN en los display comenzaría a girara el servo motor hacia la izquierda por 4 segundos y al detenerse mostraría la palabra CLOSE por 6 segundos y se apagaría además el botón ( pulsador 12 ) que es el botón cancelar si no esta abierto serviría como un reset al momento de ingresar la clave de 4 dígitos
 
esto es el proyecto que quiero desarrollar y me pregunto si es posible hacer lo no encuentro mucha información de como hacer algo así

de atemano muchas gracias

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Sistema de Seguridad con un PIC
« Respuesta #1 en: 05 de Junio de 2008, 19:28:44 »
Saludos AJ267, bienvenido al foro!
Bueno la idea de este foro es compartir información y ayudarnos entre todos. Pero no está concebido para hacerle proyectos al que desee.
Con todo respeto, lo que deseo que entiendas es que con mucho gusto te ayudaremos pero tienes que publicar tus avances o lo que llevas hecho y si tienes dudas o te trancas en algo, aquí se te puede brindar la ayuda.
Con relación al proyecto que te planteas, excelente! Claro que lo puedes hacer.
Aunque como sugerencia, yo usaría un display LCD en vez de los 7 segmentos. Consume menos corriente y te permite ahorrar pines del pic.
Dale anímate y comienza a trabajar, vas publicando lo que hagas y aquí te vamos siguiendo!  :-/
Ok nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado merycr

  • PIC10
  • *
  • Mensajes: 19
Re: Sistema de Seguridad con un PIC
« Respuesta #2 en: 06 de Junio de 2008, 11:35:04 »
Hace poco hice un proyecto parecido también con el pic 16F84A :mrgreen:

Lo digo porque me metí mucho en el tema, asíque si tienes alguna dudilla sobre alguna parte del proyecto dilo y a ver si puedo ayudarte  :-/

Por cierto ¿no tienes un número de intentos maximo y si se consume se bloquea el sistema? Quedaría bien eso.

¡Suerte con tu proyecto! :-)

Desconectado AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #3 en: 06 de Junio de 2008, 12:02:20 »
si gracias por sus comentarios los temare en cuenta y esque el problema de esto ha sido y sera que no tengo mucho conocimietno de electronica por eso estoy pidiendo ayuda desde el inico de mi proyecto no por que si supiera ya abria ayudado a mucha gente que tiene el mismo proble ma que yo ....  :(

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Sistema de Seguridad con un PIC
« Respuesta #4 en: 06 de Junio de 2008, 12:02:40 »
Hola AJ267!

Coincido con firepic sobre la dificultad que vas a encontrar en que alguien te haga un proyecto desde cero (sin pagar por ello, claro! :) )

Se que estas comenzando en este mundo de la electrónica, y quizas no tengas idea de por donde empezar.

Yo dividiria tu problema en partes y trataria de resolver cada parte por separado.

Por ejemplo, tomemos el teclado. Si buscas en el foro, encontrarás mucha informacion sobre como funciona y como programar un teclado:

    
Ejemplito 16F876A: Rastreando un Teclado Matricial 4x4 y enviando a la RS232

Teclado 3x4 con interrupciones

Lo mismo se aplica a cada una de las otras partes de tu proyecto.

Tambien tendrias que elegir un lenguaje de programacion, y hacer algunos ejercicios con el antes de encarar un proyecto "grande". Personalmente, empece con BASIC y segui con C, pero eso esta en cada uno, buscando algo con lo que te sientas cómodo.

Vas a encontrar muchisima gente por aqui dispuesto a responderte preguntas y despejar tus dudas, ya lo verás.

¿Que te parece?

Saludos!


Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #5 en: 06 de Junio de 2008, 12:04:27 »
Hola merycr

si gracias eso estari bueno, lo de los intentos que tu me dices prodrias ayudarme con mi proyecto, digo por donde podria comienzar a trabajar y si tu me puedes dar algun dato de donde de buscar información sobre esto , gracias por tu tiempo

Desconectado AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #6 en: 06 de Junio de 2008, 12:12:48 »
aitopes

mira he leido un poco sobre BASIC y mas o menos le entiendo eso no creo que me sea de mucha dificultad tengo una logica muy desarrollada, por otro lado no pence que la ayuda fuera cobrada y mucho menos que en lugar de ayudar y brindar conocimientos fura hacer problema de dinero ...  :shock:

ademas plantie mi proyecto que es hasta donde quiero llegar, no estoy diciendo agamne así como lo quiero, esa es una idea base de lo que me propongo y que puede ser modificada en el camino, asi como la idea que me a dado merycr

ya lee sobre teclados matriciales tambien, y creo que lo que me falta es unir varias partes como la comunicacion del teclado con el programa integrado en el PIC.

pero de todas formas gracias, tratare de avanzar

Desconectado merycr

  • PIC10
  • *
  • Mensajes: 19
Re: Sistema de Seguridad con un PIC
« Respuesta #7 en: 06 de Junio de 2008, 12:20:50 »
Coincido con aitopes, deberías dividir el problema en partes y luego resolver cada uno.

(Antes de nada te digo que yo hice mi proyecto en ensamblador, y es el único lenguaje que sé... :lol:)

Lo primero y más básico es leer por el teclado la contraseña que metan (vienen bien los enlaces que te ha puesto aitopes).

Después deberías comprobar si la contraseña que han metido es igual a la que tienes tú predefinida.

Para lo que yo te he dicho del bloqueo deberías crear una variable "contador", la inicializas por ejemplo a 4 (tienes 4 intentos) y cada vez que alguien meta una contraseña erronea, la decrementas. Cuando la variable valga 0, entonces para bloquarlo puedes entrar el PIC en un bucle infinito del estilo:

ModoBloqueado
                   sleep
                  goto       ModoBloqueado

Así si tienes las interrupciones deshabilitadas nunca se saldrá del bucle y el PIC quedará bloqueado.


Un consejo: la variable "contador" es mejor que la metas en la memoria EEPROM del pic, porque así aunque lo apaguen y lo enciendan el número de intentos será el que había antes de apagarlo y nadie podrá hacer trampa  :mrgreen:





En resumen, que vayas poquito a poquito y nos vayas diciendo las dudas puntuales que te surjan  :-)


Dices que no encuentras nada en internet que te sirva: pues mira el libro que utilicé yo y que me sirvió muchísimo es el de "Microcontrolador PIC16F84, Desarrollo de proyectos", de Enrique Palacios, Fernando Remiro y Lucas J. López.

Desde aquí: http://www.pic16f84a.com/ te lo puedes comprar.


¡Muchos ánimos!  :-/

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Sistema de Seguridad con un PIC
« Respuesta #8 en: 06 de Junio de 2008, 12:26:34 »
NO son trabas las que te ponen los compañeros del foro, al contrario te estan enseñando que camino tomar, muchas personas como tu han entrado sin saber nada y han logrado muchas cosas, claro que todo es poco a poco no te puedes comer todo eso de un bocqado si ni siquiera has encendido un simple LED con un PIC, debes comenzar con las bases.

Comentas que te atrae el BASIC pues bien en el subforo de este esta toda la informacion para que empieces y para que avances en tu proyecto. Usa el buscador, no te quejes de las sugerencias y aprende pococ a poco, del lenguaje que decidas usar siempre lee su manual y remitete a la ayuda del compilador. Todo poco a poco se logra.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Sistema de Seguridad con un PIC
« Respuesta #9 en: 07 de Junio de 2008, 12:14:48 »
Hola amigo!
"
no pence que la ayuda fuera cobrada y mucho menos que en lugar de ayudar y brindar conocimientos fura hacer problema de dinero ...  :shock:

No me has entendido!
No quise decir que yo (ni nadie) te fuese a cobrar por ayudarte! Es posible (y comprensible) que si te quieran cobrar (dentro o fuera del foro) por hacerte todo un trabajo. De todos modos, no es a eso a lo que nos dedicamos por aca.

Vamos a por el teclado, que es lo mas facil.

No necesitas ningun programa para "comunicar" el teclado con el pic. Directamente el PIC va energizando las filas (o columnas) y leyendo el estado de las columnas (o filas) para ver si hay alguna tecla presionada. Si la hay, salta a al rutina donde se efectua la tarea que tenga asignada. Puede parecer facil, pero algo bien hecho lleva bastante tiempo.

¿tienes algun codigo que haga esto que quieras que miremos? Postealo asi te damos alguna opinion.

Este seria mas o menos el programa (en el BASIC del PIC SIMULATOR IDE) a implementar para "barrer" el teclado:

Código: [Seleccionar]
AllDigital  'Todos los pines del puerto A como E/S.
TRISA = %11111111  'Puerto A como entradas
TRISB = %00001111  'Puerto B: 4 entradas, 4 salidas

'Declaro las variables a utilizar
Dim tecla As Byte  'Tecla presionada

tecla = 16  '16 = no hay tecla presionada

'Bucle principal
loop:
    'Leo el teclado
    Gosub leoteclado
    WaitMs 10  'Espero
    'Sigo con el resto del programa...

Goto loop  'vuelvo a loop: para repetir indefinidamente.

End                                             

leoteclado:
        tecla = 16  '16 = no hay tecla presionada
        'Leo la primer columna
        PORTB = %10000000
        If PORTB.3 = 1 Then tecla = 1  'Tecla "1"
        If PORTB.2 = 1 Then tecla = 4  'Tecla "4"
        If PORTB.1 = 1 Then tecla = 7  'Tecla "7"
        If PORTB.0 = 1 Then tecla = 10  'Tecla "*"

        'Leo la segunda columna
        PORTB = %01000000
        If PORTB.3 = 1 Then tecla = 2  'Tecla "2"
        If PORTB.2 = 1 Then tecla = 5  'Tecla "5"
        If PORTB.1 = 1 Then tecla = 8  'Tecla "8"
        If PORTB.0 = 1 Then tecla = 0  'Tecla "0"

        'Leo la tercer columna
        PORTB = %00100000
        If PORTB.3 = 1 Then tecla = 3  'Tecla "3"
        If PORTB.2 = 1 Then tecla = 6  'Tecla "6"
        If PORTB.1 = 1 Then tecla = 9  'Tecla "9"
        If PORTB.0 = 1 Then tecla = 11  'Tecla "#"

        'Leo la cuarta columna
        PORTB = %00010000
        If PORTB.3 = 1 Then tecla = 12  'Tecla "TEST"
        If PORTB.2 = 1 Then tecla = 13  'Tecla "PANICO"
        If PORTB.1 = 1 Then tecla = 14  'Tecla "F1"
        If PORTB.0 = 1 Then tecla = 15  'Tecla "F2"
Return

¿Se parece el algo al tuyo?

PD: Este lo he copiado desde aqui
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #10 en: 09 de Junio de 2008, 11:52:12 »
bueno si ya se aclaro el mal entendido ...  :?

pero si aitopes ese ya lo vi y es el que tengo yo pero para que se entienda lo que quiero hacer y que sea mas sencillo lo voy a reformular cualquier ayuda vienvenida sea ....

Proyecto Cerradura Eléctrica

+------------------------------------------------------------------------------------------+
|             Pequeña explicación de la idea Base del Proyecto                       |
+------------------------------------------------------------------------------------------+

Se deberá utilizar como parte principal un Microcontrolador PIC 16F86A, 3 LED’s, un motor, 16 Pulsadores, los demás elementos dependerá del circuito final.

1° Ingreso una clave de 4 dígitos y presionó la tecla A
       SI es correcta
    1°  Se enciende el LED #1
    2°  Se hace girar un motor por 6 segundos hacia la izquierda
    3°  Por último se apaga LED #1 y el motor
       Si NO es correcta
    1° Se enciende el LED #3 por 4 seg.
    2° Se deberá resetear todo para volver a ingresar la clave

2° Una vez abierto, para cerrar se presiona la tecla B del teclado matricial de 4x4
       Al momento de cerrar
    1° Se enciende el LED #2
         2° Se hace girar el motor por 6 seg. hacia la derecha (dirección contraria)
    3° Por último se apaga LED #2 y el motor

3° Al presionar la tecla C
       Se deberá borrar y Resetear Todo si no esta abierto
« Última modificación: 10 de Junio de 2008, 12:18:27 por AJ267 »

Desconectado AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #11 en: 11 de Junio de 2008, 11:34:19 »
El esquema del PIC es el que se muestra en la siguiente imagen :


El teclado va del puerto RB0 al puerto RB7 osea del pin 6 al 13 del PIC

ahora bien como hago para comunicare el tecaldo con el PIC?

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Sistema de Seguridad con un PIC
« Respuesta #12 en: 11 de Junio de 2008, 15:23:41 »
Hola!
¿Te refieres a "electricamente" o al programa?
Si es el primer caso, debes elegir como vas a leerlo, y conectar filas y columas a los pines del pic. Una forma seria poner las 4 filas en B0..B3 y las 4 columnas en B4...B7.

Me dices que ya habias visto esto. Habras notado que alli se ve


ese teclado, y la forma en que se conecta al PIC...
Te copio:

"Multiplexación
Cuando el número de pulsadores empieza a aumentar, lo más conveniente es utilizar técnicas de multiplexado. Esto permite un uso más eficiente de los recursos disponibles, a costa de hacer ligeramente más complejos los circuitos y el software.

Básicamente, se trata de crear una matriz de dos dimensiones con conductores, y colocar en las intersecciones de estos los pulsadores (es más fácil de entender mirando el esquema de la figura 3). De esta manera, cuando pulsamos una tecla, estamos creando un puente en uno de los conductores correspondientes a las filas, y otro correspondiente a las columnas. Analizando un poco el esquema, vemos que para cada pulsador corresponde una sola configuración de fila-columna, por lo que es posible la identificación inequívoca del pulsador presionado.

De esta manera, y usando matrices cuadradas, es decir, misma cantidad de filas que de columnas (que es el caso optimo), podemos tener con "n" conductores (n/2)^2 pulsadores. Prácticamente todos los teclados con numero elevado de teclas, el de nuestra alarma incluido, utilizan un esquema de multiplexado similar a este.

La forma de leer un teclado de este tipo consiste en poner un "1" en una de las filas (o columnas) e ir leyendo las columnas (o filas) una a una. Si aparece alguna en "1" es que el pulsador correspondiente a esa fila y columna esta presionado.
"

Y hay un esquema de como conectar entre si los pulsadores:


Espero te sirva de algo...

Saludos!

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #13 en: 11 de Junio de 2008, 15:46:57 »
Claro, asi como tu dices aitopes.

si lo que pasa que una ves conectado cual seria el codigo de programación preferibelemente en BASIC para obtener el control del teclado, he visto este código pero no si es lo que nesecito :

hago un pequeño cambio las teclas:

TEST      =>  A
PANICO  =>  B
F1          =>  C
F2          =>  D

que es para seguir con el proyecto y comom ahi utilizo esas teclas las he colocado asi ... pero eso es secundario claro esta

Código: [Seleccionar]
AllDigital  'Todos los pines del puerto A como E/S.
TRISA = %11111111  'Puerto A como entradas
TRISB = %00001111  'Puerto B: 4 entradas, 4 salidas

'Declaro las variables a utilizar
Dim tecla As Byte  'Tecla presionada

tecla = 16  '16 = no hay tecla presionada

'Bucle principal
loop:
    'Leo el teclado
    Gosub leoteclado
    WaitMs 10  'Espero
    'Sigo con el resto del programa...

Goto loop  'vuelvo a loop: para repetir indefinidamente.

End                                             

leoteclado:
        tecla = 16  '16 = no hay tecla presionada
        'Leo la primer columna
        PORTB = %10000000
        If PORTB.3 = 1 Then tecla = 1  'Tecla "1"
        If PORTB.2 = 1 Then tecla = 4  'Tecla "4"
        If PORTB.1 = 1 Then tecla = 7  'Tecla "7"
        If PORTB.0 = 1 Then tecla = 10  'Tecla "*"

        'Leo la segunda columna
        PORTB = %01000000
        If PORTB.3 = 1 Then tecla = 2  'Tecla "2"
        If PORTB.2 = 1 Then tecla = 5  'Tecla "5"
        If PORTB.1 = 1 Then tecla = 8  'Tecla "8"
        If PORTB.0 = 1 Then tecla = 0  'Tecla "0"

        'Leo la tercer columna
        PORTB = %00100000
        If PORTB.3 = 1 Then tecla = 3  'Tecla "3"
        If PORTB.2 = 1 Then tecla = 6  'Tecla "6"
        If PORTB.1 = 1 Then tecla = 9  'Tecla "9"
        If PORTB.0 = 1 Then tecla = 11  'Tecla "#"

        'Leo la cuarta columna
        PORTB = %00010000
        If PORTB.3 = 1 Then tecla = 12  'Tecla "A"
        If PORTB.2 = 1 Then tecla = 13  'Tecla "B"
        If PORTB.1 = 1 Then tecla = 14  'Tecla "C"
        If PORTB.0 = 1 Then tecla = 15  'Tecla "D"
Return

pero en Realidad que de todo esto me puede servir ???
y si tengo que usar el TRISA y TRISB que claro que se que el TRISB si pero el TRISA me serviria como el que prendera los 3 LED's que comentaba ???
« Última modificación: 11 de Junio de 2008, 20:43:12 por AJ267 »

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Sistema de Seguridad con un PIC
« Respuesta #14 en: 11 de Junio de 2008, 15:58:08 »
Hola!
Se me ocurre que antes de seguir, deberias tomarte un rato para leer un libro sobre PIC BASIC. Afortunadamente, en el foro hay un hilo sobre el PIC SIMULATOR IDE donde el MAESTRO dogflu66 ha sudado rios de tinta explicando muchisimas de las cuestiones que te tienen "trabado". Si le das una lida, seguramente descubiras como usar el portA para encender un LED.

Saludos!  :mrgreen:
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert


 

anything