RFID brava?

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

slusaj ..jel moguce da si ja uzmem jos jednu nogu (izlaz ) sa pica?
prvi dio ,znaci kad prinesemo karticu ono otvori
drzi otvoreno 5s (ili koliko vec ostaje isto...)

i onda stavis da na taj drugi pin da neki napon i onda ga okrecemo u L272M???

p.s. jel mi mozes na mail poslat source code ,gdje si pisao pa da vidim jer onaj hex mi neznaci puno :)
idemo ljeto
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Pa koliko hoces da ti vrata budu dugo otvorena? Kad ce se vrata zatvoriti ako hoces da se automatski zatvaraju, jer, ako ne stignes utjerati kola u garazu a vrata se pocnu zatvarati... :)
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

pazi to je za maturalni rad ,dakle samo maketa vrata..kad to budem ugradivao onda se to da se sredit znas.

za maketu mi sad samo treba da se automatski zatvaraju nakon vremena x. :)
idemo ljeto
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Moze li ovako, ti dodjes ispred garaze i prineses karticu i vrata ti se otvore.

Kad fino udjes sa kolima, samo pritisnes taster i vrata se zatvore? Mozes reci da je to radi sigurnosti tako odradjeno?
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

moze nije bed..
samo nek se zatvore :)
idemo ljeto
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

E pa eto, ne moras nista prepravljati :) uzmes ovu RFID bravu sa mog sajta i napravis. Podesis je u "PULSE MODE" sa onim jumperima i nastimas maximalno vrijeme da ti se vrata otvore. Znaci to vrijeme ce relej biti aktiviran i on ce da pokrene motor. Sad sa druge strane (u garazi) imas prekidac koji pokrece motor u drugom smjeru i zatvara vrata.
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

ej evo mene opet.
sad sam razradio shemu jer me jebe kristal ima cetri noge pa sam moro malo prilagodit.
Jel kristal 4 MHz?

Na koju nogu idem s outputa kristala (gledajuci odozgo??)
idemo ljeto
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Najblje ti je da nadjes kristal. To sto ti imas je vjerovatno rezonator! Njemu treba +5V i GND a na izlazu daje clock koji spajas na PIC (OSC IN) pin.

Trax
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

...ja sam razradio shemu ,mislim malo preuredio za taj kristal.
na njemu pise quartz 4Mhz za napajanje 2 TTL-a...tako nekako sam vidio u katalogu.

i sta sam jos htio pitat ..mozes mi poslat popis elemenata ,onih pasivnik
ako nije problem.
idemo ljeto
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Jest problem, mrsko mi :)

Trax
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

trax moram program pojasnit u elaboratu maturalnog rada ...
aj pliz posalji mi i napravi neku gresku u tekstu (copyright) (ako mislis da cu to ukrast i prodat po svijetu :) )
trebam znat o cemu se radi u programu ,jer moram branit maturalni rad...

p.s. morat cu te spomenit---mentor Trax.. :)
idemo ljeto
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Code: Select all

'------------------------------------------
'       Za uredjaj: RfID Brava v2.0
'------------------------------------------
' PIC: PIC16F84A, I2C EEPROM: 24lc16 (2kb)
' Implementiran kapacitet kartica: 169
' Moguci i2c eepromi: Oni sa 1-bajtnom adr.
' Datum: 18/04/2004
' Autor: Muris Pucic Trax
' traxNAelektronika.ba | www.elektronika.ba
'------------------------------------------

'***** Pinovi *****
RFID_DATA	var	PORTB.0		' 9600baud, Serijski podatak sa ID-12 rfid citaca
RELEJ		var	PORTB.1		' Relej za vrata
BTN_CANC	var	PORTB.2		' skip dugme
'??????		var	PORTB.3		' NE KORISTI SE
SW_1SEC		var	PORTB.4		' +1 sec na tajmer
SW_2SEC		var	PORTB.5		' +2 sec na tajmer
SW_3SEC		var	PORTB.6		' +3 sec na tajmer
SW_5SEC		var	PORTB.7		' +5 sec na tajmer

I2C_CLK		var	PORTA.0		' i2c clock pin
I2C_DATA	var	PORTA.1		' i2c data pin
LED_DISA	var	PORTA.2		' disarmed led
LED_ARME	var	PORTA.3		' armed led
SW_MODE		var	PORTA.4		' Vrsta rada sistema (pulse, toggle)

'***** Varijable ******
CARD_CNT	var	byte		' Broj naucenih kartica
I2C_ADR		var	byte		' Adresa memorije u i2c memoriji
RXDAT		var 	byte[12]	' Niz primljenog podatka
TMP1		var	byte		' Za loop 
TMP2		var	byte		' Za loop
KEYSOK		var	byte		' Broj poklopljenih bajta, za validnu karticu treba da bude BYTESOK=12
TMP3		var	byte		' Za verifikaciju kartice modul

'***** Konstante *****
CARD_MAX	con	169		' Max broj kartica za trenutni i2c eeprom

'***** Podesenja PIC-a ******
OPTION_REG = $7f        		' Enable PORTB pullups
TRISB = %11111101			' 
TRISA = %00010011			' 

'***** Startup sistema i ucenje kartica ako je potrebno ******
Startup:							' Ako je pritisnuto cancel dugme, upisi 0xff na lokaciju 0x00 u i2c eeprom
	if BTN_CANC == 0 then					' Ako je pritisnuto {
		i2cwrite I2C_DATA,I2C_CLK,$A0,$00,[$FF] 	' Upisi 0xff
		pause 12					' i2c write wait...
Startu1:	if BTN_CANC == 0 then Startu1			' Cekaj da ga pusti
	endif							' }
								' Procitaj broj naucenih kartica
	i2cread I2C_DATA,I2C_CLK,$A0,$00,[CARD_CNT]		' CARD_CNT=i2c_read
	if CARD_CNT == $FF then					' Ako je CARD_CNT = 0xFF {
		high LED_ARME					'
		high LED_DISA					'
		I2C_ADR=$01					' prvi bajt podatka za kartice
		for TMP1=1 to CARD_MAX				' 
Startu2:		if BTN_CANC == 0 then			' Cancel read? {
Startu3:			if BTN_CANC == 0 then Startu3	' Dugme jos uvjek pritisnuto?
				low LED_ARME			' 
				low LED_DISA			' 
				goto Startup			' Pustio ga je, ajde od pocetka
			endif					' }
			TRISB.0=1
			serin2 RFID_DATA,84,3000,Startu2,[WAIT($02),STR RXDAT\12] ' Preskoci kad nadjes 02 i uzmi 12 bajta. Ako ne dodje za 3 sec idi gore na Startu2 i vidi jel pritisnuto CANCEL dugme :)
			TRISB.0=1
			i2cwrite I2C_DATA,I2C_CLK,$A0,$00,[TMP1] ' Upisi dvo-bajtni broj dostupnih kartica
			pause 12				' i2c write wait...
			for TMP2=1 to 12			' upisi svih 12 primljenih bajta
				i2cwrite I2C_DATA,I2C_CLK,$A0,I2C_ADR,[RXDAT[TMP2-1]]
				I2C_ADR=I2C_ADR+1		' i2c_adr++
				pause 12			' i2c write wait...
			next TMP2				' next byte...
			high RELEJ				' Reci da je isprogramiro ovu karticu...
			pause 300				' ..||..
			low RELEJ				' ..||..
			pause 300				' ..||..
			high RELEJ				' ..||..
			pause 300				' ..||..
			low RELEJ				' ..||..
		next TMP1					' Slijedeca kartica...
		high RELEJ					' Reci da je isprogramiro SVIH CARD_MAX kartica !!!
		pause 800					' ..||..
		low RELEJ					' ..||..
	endif							' }

'***** Izbor vrste rada sistema *****
if SW_MODE == 0 then mToggle					' Ima prekidac = toggle mode
goto mPulse							' Nema prekidac = pulse mode

mPulse: 
	high LED_ARME						' 
	low LED_DISA						' 
	'TRISB.0=1
	serin2 RFID_DATA,84,[WAIT($02),STR RXDAT\12] 		' Preskoci kad nadjes 02 i uzmi 12 bajta.
	'TRISB.0=1
	gosub mVerify						' idi da verifikujes karticu
	if KEYSOK == 12 then					' 
		high RELEJ					' ukljuci relej
		high LED_DISA					'
		low LED_ARME
		pause 800					' cekaj 800ms
		low RELEJ					' gasi relej
	else
		low LED_DISA
		low LED_ARME
		pause 800
	endif
	goto mPulse						' opet...

mToggle: 'Nije implementirano...
	goto mPulse

mVerify:
	I2C_ADR=$01						' Prva kartica pocinje ovdje
	for TMP1=1 to CARD_CNT					' Za svaku karticu
		KEYSOK=0					' Nije nadjen niti jedan bajt		
		for TMP2=1 to 12				' Za svaki primljeni bajt od ID-12
			i2cread I2C_DATA,I2C_CLK,$A0,I2C_ADR,[TMP3] ' read i2c byte
			if TMP3 == RXDAT[TMP2-1] then
				KEYSOK=KEYSOK+1 		' Povecaj br. pronadjenjih bajta
			endif
			I2C_ADR=I2C_ADR+1			' i2c_adr++
		next TMP2
		if KEYSOK == 12 then				' ako smo nasli svih 12 bajta izadji odavdje
			RETURN					' vrati se...
		endif						' ...
	next TMP1
	RETURN							' vrati se...
Eto mozes mozda skontati sta odatle, to nije pravi program jer je pravi pisan u Asembleru :-)

Ovo je neka novija verzija koju sam poceo pisati u PICBASIC-u ali u sustini je to to! Ako budes imao pitanja javi!
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

ej legendo to oni profesori ionako nekuze ..ali mi imamo jednu stranicu vise u elaboratu...thanx :)
idemo ljeto
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

napravio sam blesavi pic ...s kojim programom cu nabacit onaj hex na njega.
ako mozes malo :) pojasnit
idemo ljeto
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Ma uzmi IC-Prog nadji ga na internetu. Procitaj uputstvo i trebas sa istog mjesta skinuti i drivere za WinXP (Win 2000). Sve ti pise u uputstvu!
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

evo naso sam neku francusku ili sta je ovo vec.
znaci taj JDM programer je u sklopu tog programa?

imaju i upute..

http://www.maxoverclocking.com/ele_jdmprog.html

kakve drivere??
idemo ljeto
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

evo sinoc sam swe malo zafrkav oko toga pa mi nije greske nikakve javljalo.

sve je bilo normalno i kod citanja ,brisanja ,verifaja i programiranja...
sad cemo to testirat pa cemo vidiit valjda ce radit.. :)
idemo ljeto
User avatar
Dale
Penjem se :)
Penjem se :)
Posts: 59
Joined: 10-02-2005, 18:11
Location: Sibenik
Contact:

Post by Dale »

ej evomene opet .
one cetiri ledice ,koja je za sta???
kad upalim svijetle mi dvije ,nekad tri??

kojim cu tasterom pod ona dva pritisniti da nauci kartice i kako cu znat da ih je naucio??
molim te dami malopojasnis kako to sve radi. :)
idemo ljeto
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Ovako ide...

Kad je prvi put ukljucis svijetle dvije LEDs.

Sad trebas pritisnuti jedan taster (vjeruj mi ne sjecam se koji) i onda ce brava da ukljuci relej na trenutak. Sad kad primaknes karticu brava ce da dva puta ukljuci rejel. Sad je naucena prva kartica. Opet pritisni taster i nauci drugu pa trecu... svih 6 komada.

Ako ne zelis da naucis recimo petu i sestu (imas samo 4 kartice) trebas drzati onaj drugi taster i pritisnuti prvi (onaj za ucenje kartica). Relej takodje dva-tri puta ce da se upali da ti da do znanja da je programiranje trenutne kartice preskoceno. To opet ponovis da preskocis i sestu karticu.

Puno zurim pa sam ti ovo na brzinu napisao, cujemo se.
User avatar
trax
Administrator sajta
Administrator sajta
Posts: 3509
Joined: 08-01-2005, 18:04
Location: 75k, BA
Contact:

Post by trax »

Ako hoces da bravu "formatiras" pobrises joj sve kartice, onda prije paljenja drzi taster (onaj na pinu: PORTB-3 od PIC-a) kad je upalis onda pusti taster - sad je brava u program modu (kao kad si je prvi put ukljucio)

aj sretno
Post Reply