Grant Gibson led a team over at Bright Signals which was tasked by a client with creating a prototype vending machine which would incorporate touchscreen product selection and NFC payment tokens.
A single AC motor powered various mechanisms to vend cans, and that part worked, but it was impossible to test it fully due to the absence of one of the circuit boards.
Due to the requirement for NFC payment, Gibson and his team decided to drop all the electronics currently in the machine and replace them with a Raspberry Pi and some relays. A series of microswitches determined whether a can slot was empty or ready and these were hooked up to the Raspberry Pi to detect the machine’s state. A Python script was written to read the machine state and a simple inventory system allowed the mechanism to switch over to a different ‘column’ of cans if it detected that a column was empty.