NoteAcceptor

From Nottinghack Wiki
Jump to: navigation, search

The idea of the note acceptor is to make paying off Vending Machine / snackspace / Laser cutter bills much quicker and easier; it can also be used to find out your current balance.

Main components

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.

Nv4.jpg

RFID Reader

The RFID is an MFRC-522 based board as avaialble very cheaply on Ebay, and is using an RFID library by miguelbalboa.

Protoshield

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.

Note proto.jpg

Network Connection

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:

Note flow.png

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.

Location

The finished note acceptor currently lives in the members storage room, next to the jar previously used for payments.

Note finished.jpg

Source code

Source code for the firmware is in the NoteAcceptor repo on Github; the source code for server side part is in the instrumentation repo - the most relevant part is nh-vend.cpp.