My son has recently become interested in starting a vending machine company, dealing in collectable cards and small art projects (books, stickers etc.). He has already purchased a few vending machines, but they are mostly limited by fixed pricing ($1.00 or $1.25 max depending on the machine types). I have one of the token vending machine that was included in his purchase that had been stripped of all of its coin acceptors (turn knobs), which I will used to try out some more flexible approaches to pricing. I have currently purchased some programmable coin acceptors that can accept up to four different coin types, but I think it would be pretty cool to use some RFID or NFC devices that could be loaded with money and used to purchase product from the machine. I really like the RFID or NFC approach, as the machines themselves might not need to hold as much (if any) cash, which could be attractive to thieves.
My project concept is to build an interface that could accept either coins or electronic payment (RFID/NFC), while providing the user interface to display cost of item, value of coins inserted or balance of RFID/NFC device. Once a purchase is made, the interface would dispense change or adjust the balance on the RFID/NFC device and dispense the product (driving a stepper motors to operate the dispensing device).
Here is a rough sketch of the User Interface for the vending machine:
I am currently thinking of a small LCD panel, with a 4 by 20 character display. The Coin Acceptor is an Adafruit 787 device, which I plan to use to accept $0.25 and $1.00 coins. I will need to research my RFID/NFC reader options as well as my RFID/NFC devices. Ideally, I would like these devices to be relatively inexpensive as they might not be returned when they are empty. The Coin Return/Change module will be a 3D printed design, which will hold all of the inserted coins until a purchase is completed (Oh yeah, I will need a 'Buy" button). I plan on using a small ATmega/ATtiny processor to provide all of the logic functions for the User Interface. The User Interface will be enclosed in a sturdy metal box (holding any coins accepted) which will be mounted to the side of the vending machine.
The microprocessor will be programmable to allow the price per object to be modified in the field using the LCD and an internal programming pad.
The old knob style coin acceptors (x4) will be replaced with a metal plate, holding the stepper motor and homing sensors that will be used to drive the object dispenser. I will also include an indicator on these devices to identify the 'selected' dispenser. Here is a sketch of the Stepper Motor plate: