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

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

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Sistema de Seguridad con un PIC
« Respuesta #60 en: 18 de Junio de 2008, 19:14:12 »
De 470 ohms van bien.. los conectas entre la salida y el cátodo, o entre el ánodo y masa... como tú prefieras...
Saludos, 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 AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #61 en: 19 de Junio de 2008, 11:04:10 »
alguien sabe como hacer en PIC Simulator IDE

que en una variable se guarde lo esta en la memoria interna del PIC ??
« Última modificación: 19 de Junio de 2008, 11:16:05 por AJ267 »

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Sistema de Seguridad con un PIC
« Respuesta #62 en: 19 de Junio de 2008, 11:41:26 »
Si te explicas mejor tal vez se te pueda ayudar como debe ser...
Saludos, 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 AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #63 en: 19 de Junio de 2008, 12:46:43 »
si es que tengo esto :

Código: [Seleccionar]
Dim eclave As Word    ' <- Almacenar ahi por ejemplo "2685"

main:
   eclave = leermemo
end

algo asi no es que sea así los comando pero es lo que necesito

otra cosa como hago para concatenar dos número :
Código: [Seleccionar]
   var1 = 1
   var2 = 2

   var = var1 (+) var2    'Que el resultados seria "3" y yo quiero que sea "12"

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Sistema de Seguridad con un PIC
« Respuesta #64 en: 19 de Junio de 2008, 13:47:02 »
Saludos!
Bueno en pic basic no te puedo ayudar mucho...
Ahora bien, no termino de entenderte bien... esa clave la tienes guardada en la EEPROM del pic?
Porque si es así supongo que proton (así como pic basic) debe tener una instrucción especial para leer de la EEPROM. Busca en el manual que lo debe explicar mejor.
Una pregunta... ¿para qué quieres lo de concatenar los números?
En c hay una instrucción pero es usando punteros, que podría servir... pero en protón no sé...
Ojalá el maestro navaismo se aparezca por ahí y te de una mano...
Sin embargo si me especificas lo que quieres hacer con la concatenación tal vez pueda darte alguna idea útil.
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 AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #65 en: 19 de Junio de 2008, 14:08:12 »
si mira estoy prgramando en PIC Simulator IDE 6.25 ya lo compre la licencia por sierto  :-), lo que pasa es que la clave seria por decir algo 2685 pero al digitar se digita número por número y los quiero ir almacenando en la variable para luego comparar la variable que tiene la clave de la memoria con la clave que se a digitado

ose que cuando tu pulsas un boton en una variable
Código: [Seleccionar]
Dim tecla As Byte se guarda el numero de la tecla precionada
por decir algo preciono el 2 la variable queda asi
Código: [Seleccionar]
tecla = 2 luego preciono otra tecla por decir algo el 6 la variable queda asi
Código: [Seleccionar]
tecla = 6 pero en ningun momento voy almacennado el orden de las teclas precionadas ... me explico luego como se que teclas preciono ???

por sierto la clave solo es de 4 Digitos
es decir la variable TECLA captura el nuevo valor dependiendo de la tecla preionada pero no guarda las teclas precionadas ...

este es la función que escanea el teclado
Código: [Seleccionar]
getkeypad:
teclap = 16  '16 = no hay teclap presionada
If opened = 0 Then
PORTB = %10000000  'Leo la primer columna
If PORTB.3 = 1 Then teclap = 1  'teclap "1"
If PORTB.2 = 1 Then teclap = 4  'teclap "4"
If PORTB.1 = 1 Then teclap = 7  'teclap "7"
If PORTB.0 = 1 Then teclap = 10  'teclap "*"
WaitUs 600
PORTB = %01000000  'Leo la segunda columna
If PORTB.3 = 1 Then teclap = 2  'teclap "2"
If PORTB.2 = 1 Then teclap = 5  'teclap "5"
If PORTB.1 = 1 Then teclap = 8  'teclap "8"
If PORTB.0 = 1 Then teclap = 0  'teclap "0"
WaitUs 600
PORTB = %00100000  'Leo la tercer columna
If PORTB.3 = 1 Then teclap = 3  'teclap "3"
If PORTB.2 = 1 Then teclap = 6  'teclap "6"
If PORTB.1 = 1 Then teclap = 9  'teclap "9"
If PORTB.0 = 1 Then teclap = 11  'teclap "#"
WaitUs 600
Endif
PORTB = %00010000  'Leo la cuarta columna
If PORTB.3 = 1 Then teclap = 12  'teclap "Borrar"
If PORTB.2 = 1 Then teclap = 13  'teclap "Cerrar"
If PORTB.1 = 1 Then teclap = 14  'teclap "Aceptar"
If PORTB.0 = 1 Then teclap = 15  'teclap "Cambiar Clave"
Return

luego yo al saber que tecla se preciono realizo la operacion correspondiente
Código: [Seleccionar]
main:
GoSub getkeypad   'Primero leo la tecla precionada (si se a precionada una tecla la variable TECLA seria distinta de 16)
if tecla <= 9 then
     'si entra aqui es porque presiono un digito del 0 al 9
endif
GoTo main 'Genero un bucle infinito
End

esto es algo así

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Sistema de Seguridad con un PIC
« Respuesta #66 en: 19 de Junio de 2008, 14:11:32 »
hola amigo!
Puedes ir haciendo algo asi como

numerofinal = numerofinal * 10 + tecla

cada vez que se presiona una tecla. Asumo que numerofinal es una variable tipo "Word" y que tecla es la que contiene el numero devuelto. Por supuesto, debes controlar que "tecla" esté entre 0 y 9 antes de aplicar esa formula, y que al iniciar el programa numerofinal sea igual a cero.

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 firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Sistema de Seguridad con un PIC
« Respuesta #67 en: 19 de Junio de 2008, 14:18:04 »
Disculpa, me equivoqué  :(
Aquí:
Bueno en pic basic no te puedo ayudar mucho...
Lo que te quería decir realmente era: "en Pic Simulator IDE no te puedo ayudar mucho"...
No sé por qué a veces pienso una cosa y luego escribo otra... será que estoy volviéndome loco?  :?  :D

De todos modos lo importante es que ya el gran Aitopes te ha dado la respuesta a tu inquietud sobre la concatenación... está genial Aitopes!  :P
Ok saludos, 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 MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Sistema de Seguridad con un PIC
« Respuesta #68 en: 19 de Junio de 2008, 17:15:02 »
Hola.

Otra opcion es leer el numero y utilizar las funciones de corrimiento.
Código: [Seleccionar]
value1 = 1;
value2 = 2;

value_total = value1<<4 || value2

Se podria leer de 0 a 99.
EDITO: Es para trabajar los numeros en hexadecimal

Saludos
« Última modificación: 19 de Junio de 2008, 17:21:59 por MLO__ »
El papel lo aguanta todo

Desconectado AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #69 en: 20 de Junio de 2008, 18:57:44 »
Hola amigos les traigo un avance del proyecto me e tardado porque e tenido varios problemas …

   Estoy usando 2 PIC16F84A, uno para el teclado, con 3 salidas que entran al otro PIC, no se si estos es correcto por eso pregunto esta bien lo que estoy haciendo o estoy disparado en el concepto ???? …
   Pues en el dibujo están marcados puntos que son los que mas me interesan … el primero es la comunicación entre los 2 PIC esto va así, dependiendo de cual de las tres lineas(pines que se unen entre los micros) asi sera la respuesta
   En la parte de la respuesta el problema es que quiero conectar 5 displays de 7 segmentos en lugar de los 4 LED verdes que estan marcados ahí

Bueno … espero sus comentarios

Ya tengo los 2 archivos HEX, es mas este proyecto en proteus me funciona bien el ingreso de la clave y la mayoria de funciones , menos las que ya comente que es en realidad la mas importante porque muestra el resultado de la intento de acceso !!!



Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Sistema de Seguridad con un PIC
« Respuesta #70 en: 21 de Junio de 2008, 09:26:58 »
Hola amigo!

Me parece que no es indispensable usar DOS micros para gestionar el teclado y el LCD.
Dado que estas comenzando y aprendiendo, se me ocurre que el enlace entre ambos PICs te va a comer el coco mucho mas tiempo que el resto del proyecto. Si fuese tu, buscaria la forma de resolverlo con solo un micro (aunque sea uno de mas pines).

Si aun asi insistiese con usar dos PICs, QUIZAS simplifique un poco el codigo utilizar un solo oscilador para los dos....o utilizar RS-232 para la comunicacion entre ambos (aunque, acabo de recordad, el viejo 16f84 no lo implementa por hardware).

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 #71 en: 21 de Junio de 2008, 11:51:30 »
ok entendido aitopes ( ose que no es tan facil como yo le veia ) no es simsplemente conectar dos pines de diferentes PIC's .... bueno si lo que pasa esque  :( a qui en mi país, no venden otro tipo de micro solo los tengo  que mandar a traer y los costos se dispran mucho !!!

lo que intento hacer es algo asi

pin 1 (manada 1 a la entrada del otro pic) es para imprimir OPEN
pin 2 (manada 1 a la entrada del otro pic) es para imprimir CLOSE
pin 3 (manada 1 a la entrada del otro pic) es para imprimir ERROR

y puedo hacer una combinación de varios pines como por ejemplo:

pin 1 y pin 2 (ambos manadan un 1 al otro pic) es para imprimir NO
pin 2 y pin 3 (ambos manadan un 1 al otro pic) es para imprimir OK
pin 1, pin 2 y pin 3 (todos en 1) es para imprimir 4 lineas ----

es lo que hasta ahorita he echo y simulado en el PROTEUS y me ha funcionada pero no se si boy a tener problemas con eso,
pero en lugar de usar display estoy poniendo un LED por cada respuesta


mi pregunta es lo que estoy haciendo esta bien, y si no tengo que poner alguna resistencias entre los pines de los dos pic o algo asi, pregunto ????

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Sistema de Seguridad con un PIC
« Respuesta #72 en: 21 de Junio de 2008, 11:57:55 »
Como diria El Chavo del 8, "Si asi, pues si"!!  :D

Como lo has pensado esta bien. No hace falta una R entre los PICs.

Me gusta mucho la energia que le estás poniendo al proyecto. Seguramente lo llevarás a buen termino.

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 todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Sistema de Seguridad con un PIC
« Respuesta #73 en: 23 de Junio de 2008, 08:29:38 »
Hola, recuerda colocar una resistencia a positivo (pull up) en RA1, de lo contrario, no podras obtener el valor 1  :mrgreen:

Suerte!

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado AJ267

  • PIC12
  • **
  • Mensajes: 52
Re: Sistema de Seguridad con un PIC
« Respuesta #74 en: 23 de Junio de 2008, 11:50:47 »
hola a todos miren esto es l oque tengo ya ...



les explico esto funciona asi :

hay una ventanita avierta que es la de la memoria del mirco EPROM, ahi guardo 4 bloques de numero y cada bloque de 4 digitos, el primer bloque esta en celeste es la clave que se manatiene almacenada siempre, al inicio si tiene un valos de 10 o mayor a eso coloco mi clave inicial que seria 2685, luego el segundo bloque es la clave que esta digitando, cuando uno digita laclve de acceso y se pasa de cuatro digitos vuelve a comenzar de 1, los siguientes 2 bloques el 3 y el 4 son cuando quiero cambiar la clave de acceso, este proceso se hace asi:

2685 "Re_Clave" 1234 "Aceptar" 1234 "Aceptar"

luego si todo es correcto tanto la clave viejita (2685) como la clave nueva (1234) y la confirmación de esta (1234) entonces la almacena en el primer bloque de 4 digitos que antes mencione !!!

 :-/ al fin estoy por terminar  :-) pero me falta algo y que me tiene dando muchas vueltas para solucionarlo ....

es de cambiar los 4 LED que me dan un respuesta por display de 7 segmentos de ánodo común .... he investigado sobre el Decodificador BCD a 7 segmentos y Codificador de Prioridad

pero al parecer solo muestra números y no letras podria alguien ayudarme con alguna idea para resolver esto !!!  :(
y eso seria todo el proyecto terminado !!!
« Última modificación: 23 de Junio de 2008, 12:41:33 por AJ267 »


 

anything