The main components of the note acceptor are:
- Innovative Technology NV4 note acceptor
- MFRC-522 RFID reader (Ebay)
- 20x4 I2C LCD display (HCARDU0023)
- Arduino Uno
- Wiznet based Ethernet shield
NV4 note acceptor
The NV4 note acceptor is configured to use serial @ 300bps to communicate with the Arduino - fortunately there was a detailed operations manual online that included the protocol used by the note acceptor. This along with a TTL serial interface made the NV4 note acceptor very straightforward to use with an Arduino.
The RFID is an MFRC-522 based board as avaialble very cheaply on Ebay, and is using an RFID library by miguelbalboa.
There are 3x IDC 10 way connectors (for the RFID reader, LCD and note acceptor) and a connecter for a cancel button with LED on a protoshield along with voltage regulator and terminals for power. The note acceptor requires 12v, so the voltage regulator is to provide 5v for the Arduino & LCD. The Arduino pin assignments are at the top of Config.h.
The Arduino is connected to holly over Ethernet using MQTT (specifically using the pubsubclient library), and the server side is effectively implemented as a second vending machine. As such, the messages sent to and from holly are the same as the vending machines cashless device, except they are sent over an MQTT connection, instead of UDP/IP.
This flowchart shows the messaging between the Arduino and Holly (a more detailed description of the messages is on the vending machine page:
As the server side code controls the vending machine as well as the note acceptor (and the vending machine came first), the messages are little vending-machine oriented.
The finished note acceptor currently lives in the members storage room, next to the jar previously used for payments.