I've always loved magstripe systems. A while back, I stumbled upon the
Stripesnoop project and thought that it looked like an awesome project. After
a while I found a minor subproject on the hardware page. It was a
cokemachine.
I went through their design, and thought that it was rather bulky to use an
x86 computer for such a simple task, and decided to build my own, better
machine. At first, all I wanted was a fridge that could eject a can when the
correct card was swiped through a reader. But that soon changed, as I started
to add more and more ideas to the project.
The current version of my perfect cokemachine is as follows: Refrigerated
compartment with 4 or 8 slots for misc. beverages. (I've estimated that I can
fit up to 48 33cl cans in each slot, ie a maximum of 128 litres of pop... Mmm
that's got to be healthy!). Color coded and otherwise unmarked keypad, keys
change color according to their function. For example green for beverage
available in slot, yellow for low quantity in slot and red for empty.
Alphanumeric status LCD for maintenance, temperature and so forth. Unregistered
purchase with coin-counting assembly. Registered purchase with magstripe
membercard containing a unique ID number. The ID number on the card will get
looked up on a SQL server via Ethernet, to validate the ID and check the
available credits on that account. The master card (or rather any card linked
to a super user account) will get access to the maintenance menu controlled
from the earlier mentioned keypad. In maintenance mode one will be able to
change the price of each slot (granted that the account has the right
accesslevel).
Was that all? ..I think that's all... For now. =)
Oh yeah, everything will be controlled by an Atmel AVR microcontroller.
What's been coded so far:
[ ] keypad [x] LCD [ ] magstripe reader [ ] can-ejector [ ] ethernet controller [ ] SQL access
What's been built so far:
[ ] keypad [x] LCD [x] magstripe reader [ ] can-ejector [ ] ethernet controller [ ] can storage
Project files:
archive 512 B, 2012-01-12 enc28j60 pdf 1.4 MB, 2012-01-12 hd44780 c 2.2 kB, 2012-01-12 view hd44780 h 1.5 kB, 2012-01-12 view magstripe c 3.2 kB, 2012-01-12 view magstripe h 1 kB, 2012-01-12 view
2008-01-09
I found the keypad I want to use for this project! Well, it's not as much of a
keypad as it is a bunch of keypad components... But it's what I want and
"need". It's this little thing, sold by
Sparkfun electronics and I think that it will be perfect for the task
The buttonpad can be used together with this
breakout board and theese
RGB LED's to make a complete keypad.
2008-01-07
The code for the hd44780 LCD module is done and works like a charm! I only
wish the magstripe code would be just as nice to me =(
..In the beforetime, in the long long ago..
I thought I should mention all the components and parts I've found so far. ie
before starting this project-page.
The microcontroller in the project, is the Atmel AVR, ATmega8515 (I had some
over from a previous project..) but that will change someday.
The ethernet controller, is this seemingly magical little chip by Microchip
called the ENC28J60. It's a T-base10 ethernet device that's controlled by SPI
(Cool!)
The magstripe reader, is a generic TTL reader with inverted Clock Data and Card
Present line. The one I'm currently playing with is made by Hitachi-Omron,
called 3S4YR-HNR4. This one is a bit special though, since it has been modded
by the security-company that provided the equiment to the place I got the
reader. (No, I didn't steal it, they changed to an RFID system and threw it in
the dumpster). The small modchip, controlled by three wires (activated by a
high potential) contains a small high-pitch buzzer and two LED's (red and
green).
The LCD's are your generic-find-everywhere hd44780 module, 16x2 characters. I
will change to a 20x4 module when I get my hands on one.
The keypad is a standard telephone-style 4x4 matrix keyboard (no LED's...)
I have sortof been promised a coin-slot-machine-thingy by a friend of mine.
There's no data on the device whatsoever, and we don't even know if it's
operational... But we'll find out soon enough.