I had some more time to futz with the Access Control devices that TomG donated to the makerspace. I now have the LCD, keyboard and buzzer under control. The last big thing to tackle is the RFID card reader, but I don’t actually have an RFID card at the moment. After that I’ll work on an indoor unit to talk to this unit, check in with a central security db and run the door strike.
Below is the little game I programmed to demonstrate control of these peripherals.
So TomG brought home a pretty sweet little haul from his recycling business last week. Some seven exterior access control units that featured a keypad, 2×16 LCD, an RFID reader, and RS-232 link to talk to an interior unit that runs the door strike or whatever. One even had a track 1 magstripe reader! (The others have a slot but no reader).
The really cool part is that is the the unit is powered by the venerable ATmega32, has an SPI programming port on it and is not code-locked.
I spent around two hours last night mapping out all the circuit board connections between the MCU and the peripherals. (OK, some of that was really spent jawing :) But then I hit a brick wall. I decided to use BASCOM to try to take control of the LCD. I beat my head against that brick wall for another two hours trying to get BASCOM to properly control the LCD. It looked for all the world like either BASCOM’s LCD driver and/or the LCD itself was running in eight bit mode. The problem was the the PCB was wired for four bit mode.
Today, after work, I decided I should really give AVR lib a crack at the LCD. For one thing, if there were some slight bit of off-Hitachi behavior I could easily modify AVRLib’s driver code. However, in just a few minutes and without any modifications other than normal configuration I was up an running! Woot!
So now we’ll have nice little access control devices that accept a variety of means to gain access to the site or a piece of equipment. Between the RS-232 and a few spare pins we could even augment the device with more peripherals.
Now that I have control of the LCD, my next step will be to read the keypad and get that interacting the LCD screen. Fun stuff!