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!