今回、マイクロコントローラーのシステムについて書きたいと思います。5年前に私が作ったものですが、現在でもまだ使えます。

ドアアクセスコントローラー(door access controller)は、ICカードに入っている個人番号を読み取って、EEPROMメモリに入っているカード番号リストを照合して、ドアを開けるシステムです。

大学生のときにアマチュア無線クラブに参加していました。クラブのメンバーがクラブ室に入れるようにこのICカードシステムを入り口に付けていました。

動き方は、ICカードをリーダーにかざすとカードの番号を読み取って、マイクロコントローラーに送信します。EEPROMメモリに登録されたカード番号と合致したら、リレー(電磁継電器)に信号が送られて、ドアが開きます。

使っているパーツは、Microchip PIC16F88 8ビットマイクロコントローラー、Microchip 24LC64 IIC EEPROMメモリ、MAX232 RS232ドライバ、4Mhz 水晶(セラミック発振子)です。

読み取れるカードは、HID 125Khz ICカードです。マイクロコントローラーにアセンブリ言語で組み込んだプログラムに入っています。Githubにasmファイル(アセンブリソースコード)をアップしてあります。 https://github.com/aldras/pic_hidreader

後で回路図とPCBレイアウトをアップします。


リンク


画像 Pictures

HID 125Kz card reader - all
HID 125Khz card reader setup
HID 125Kz card reader - PCB - top
PCB
HID 125Kz card reader - PCB - top
PCB
HID 125Kz card reader - PCB - bottom
PCB bottom
HID 125Kz card reader - reader - inside
HID reader inside
HID 125Kz card reader - reader - front
HID reader
HID 125Kz card reader - reader - bottom
HID reader bottom

This time I would like to share a project from 5 years ago that I did while at the university.  The project is a proximity door access controller.  This consists if a HID card reader connected to a PIC 16F77 microcontroller.

The main parts of the PCB consist of the Microchip PIC 16F88 microcontroller, a Microchip 24LC64 64kbit (8k byte) IIC EEPROM memory chip, a MAX232 RS3232 level shifter, and the 4Mhz clock crystal.

The setup basically works like this… a card is read by the card reader, the card number is sent to the microcontroller by the Wiegand interface.  The microcontroller searches the memory chip for the card number, if the card number is found it turns on a relay for a couple seconds.  If the card is not found the buzzer on the card reader is turned on for a few seconds.

The microcontroller can be connected to a PC through the RS232 serial connection (9600 baud 8N1 no parity) to log the cards read, add cards and delete cards.

The HID reader (purchased from a online Ebay auction) is connected to the PIC microcontroller by a three wire Weigand interface (0 data, 1 data, and ground).  More information can be found in this wikipedia article https://en.wikipedia.org/wiki/Wiegand_interface.

There is also general information about proximity cards here https://en.wikipedia.org/wiki/Proximity_card.

I have uploaded the assembly program to Github, feel free to download, use it, and modify it to your needs if you find it useful.  https://github.com/aldras/pic_hidreader.

I will be uploading a schematic soon as well, the connections to the microcontroller are in the asm file on Github, but to make it easier to understand I will try to get a schematic uploaded soon.


Links

Leave a Reply

Your email address will not be published. Required fields are marked *