'''17:11, 10 February 2013 (CST):''' Separated the DEBUG messages and RETURN messages into different message-types so that the host program can interpret each message correctly. The Arduino code has a #define to compile out debug messages if needed. A [https://github.com/tac0010/cash-caching-automaton/wiki/CasCA-Command-Reference-Guide Command Reference Guide] (CRG) has also been started on the GitHub Wiki to provide information about interfacing with the Arduino from the host software over serial.

'''17:11, 10 February 2013 (CST):''' Separated the DEBUG messages and RETURN messages into different message-types so that the host program can interpret each message correctly. The Arduino code has a #define to compile out debug messages if needed. A [https://github.com/tac0010/cash-caching-automaton/wiki/CasCA-Command-Reference-Guide Command Reference Guide] (CRG) has also been started on the GitHub Wiki to provide information about interfacing with the Arduino from the host software over serial.

+

+

'''23:32, 13 February 2013 (CST):''' We're successfully dispensing coins and activating the light via serial commands on a laptop; check out the [http://www.youtube.com/watch?v=Kk33c7nKC5I first test video]. Coin counts are also now stored in the EEPROM of the Arduino, so that the count values are persisted across reboots of the Arduino, which occur any time a serial connection is established.

Contents

Overview

The Cash-Caching Automaton, or "CasCA", is a machine designed to dispense coins to Makers for use with the drink, candy, and snack machines. Many people don't carry around cash or change, but the vending machines at the shop currently only accept coins or dollar bills. This machine will make use of personal accounts assigned to Makers that may be funded by PayPal, Bitcoin, and other manual forms of payment, like checks or cash. Below is the current list of desired features:

The machine should be able to reliably dispense a user-selectable number of quarters (not too few, or too many)

Accounts should be automatically fund-able at the machine via PayPal or Bitcoin

Accounts may be manually funded via check or cash

Can show account balance on screen

MUST have secure connection to a secure database for transactions

Easy to physically refill with quarters

Automatic email notification when low on quarters

Display a message on a screen when low on quarters

Able to dispense coins without an account when using PayPal or Bitcoin

Physical and account-based intrusion detection and notification

v0.1. Requirements

Only dispense $0.50

Determine amount in machine

Dispense change

Don't charge if there isn't any money.

USB Member Authentication

Manual Deposit

Red empty light

Remove dollar acceptor

Ideas

Dispenser

We've purchased a old change machine from a guy out in Trinity. It is a small, tabletop unit that should work quite well for the quarter dispenser, since it already handles giving out quarters and checking for low levels. It is also already lockable and theft-resistant. The machine's dollar acceptor did not work, so we will not be able to retain the bill-to-quarters functionality.

A previously proposed design for the dispenser was to use a tall 1" i.d. pipe (PVC) to store the quarters to be dispensed. The bottom of the pipe would have small slot where a single quarter may slide though and a sensor to detect whether there are any quarters remaining. A servo would move forward to push a quarter out of the slot, and move back to let the stack of quarters slide down.

Materials

TBA

Electronics

v0.1 Electronics

Arduino Uno

Controls the change machine (dispensing, activating the light)

Keeps track of the number of coins remaining in the machine

Raspberry Pi or Dockstar

Runs the transaction DB to keep track of balances

Runs host-software that listens for USB devices and instructs the machine to dispense coins

Two-channel relay module

Electronically handles turning on and off the dispenser solenoid and front light

Future Ideas

Cost Analysis

TBA

Progress Log

22:57, 5 November 2012 (CST): The small desktop change machine has been acquired and tinkered with. Jimshoe has hooked up a switch that will manually trigger the dispensing of up to four quarters at a time. This switch will be replaced by a transistor or relay that will be controlled electronically.

22:57, 21 November 2012 (CST): Code has been written that interprets commands over serial and calls different functions based on the commands and inputs. This code has been committed to the new CasCA git repository on GitHub.

23:17, 16 December 2012 (CST): Successfully tested relay board with some coin-dispensing Arduino code additions. Added some simple money-tracking to the Arduino code: it can now be refilled, quarters can be dispensed, coin levels checked, and no attempts to dispense coins will be made if not enough coins are in the machine.

00:21, 24 January 2013 (CST): Added basic support for the status light on the machine. When no money is available for withdrawal, the light will blink three times and then stay on. When the machine is refilled, the light will turn back off.

17:11, 10 February 2013 (CST): Separated the DEBUG messages and RETURN messages into different message-types so that the host program can interpret each message correctly. The Arduino code has a #define to compile out debug messages if needed. A Command Reference Guide (CRG) has also been started on the GitHub Wiki to provide information about interfacing with the Arduino from the host software over serial.

23:32, 13 February 2013 (CST): We're successfully dispensing coins and activating the light via serial commands on a laptop; check out the first test video. Coin counts are also now stored in the EEPROM of the Arduino, so that the count values are persisted across reboots of the Arduino, which occur any time a serial connection is established.