|
|
| Line 28: |
Line 28: |
| *Cheap microcontroller boards such as arduino, Minimus etc. | | *Cheap microcontroller boards such as arduino, Minimus etc. |
| *Blank printed circuit board stock (only fairly small pieces will fit) | | *Blank printed circuit board stock (only fairly small pieces will fit) |
| | |
| | == ToDo == |
| | |
| | * Check motors still run |
| | * Test position sensing again |
| | * Interface with coin/note reader |
| | * Make break beam for successful vend detector |
| | * Write software |
| | |
| | Later: |
| | * Make a new pcb for interfacing with VDU |
| | * Make replacement keypad |
| | * test interface with motors |
| | * add in i2c rfid reader |
| | * shorten and remake coin validator cable |
|
| |
|
| == Name== | | == Name== |
| Line 102: |
Line 117: |
|
| |
|
| See also the [http://mbed.org/users/Jasper/programs/vending/llg8y6/docs/main_8cpp_source.html mbed code]. | | See also the [http://mbed.org/users/Jasper/programs/vending/llg8y6/docs/main_8cpp_source.html mbed code]. |
|
| |
| ===Electronic Payment===
| |
| Is being organised by [[User:Jonty|Jonty]]
| |
|
| |
| ===Physical Payment===
| |
| Is being organised by [[User:Solexious|Solexious]]
| |
|
| |
| The vending machine will take physical cash in the form of coins and notes, but will not give change. Any left over cash will be taken and marked as a donation to the space. (This will be clearly displayed before purchase)
| |
|
| |
| Sadly the internals were damaged again, the coin and note section has been repaired.
| |
|
| |
| ToDo:
| |
|
| |
| * Make a new pcb for interfacing with VDU
| |
| * Make replacement keypad
| |
| * Make break beam for successful vend detector
| |
| * test interface with motors
| |
| * add in i2c rfid reader
| |
| * shorten and remake coin validator cable
| |
|
| |
| ===Arduino serial protocol===
| |
| The arduino will take input and physical payment, and make requests to its server (the server also takes the paypal payments). This is the proposed communication protocol.
| |
|
| |
| All strings are terminated with \n
| |
|
| |
|
| |
| '''Request check item:''' (to check if an item is in stock/available, this reserves 1 of the item for 5 mins to allow for payment to be taken)
| |
| *CHECK.[item location]
| |
|
| |
| '''Returns''':
| |
| *OK
| |
| *ERROR.[error text]
| |
|
| |
|
| |
| '''Request cash vend of item''':
| |
| *VEND.[item location].[payment amount in p]
| |
|
| |
| '''Returns''':
| |
| *OK
| |
| *ERROR.[error text]
| |
|
| |
|
| |
| '''Request paypal vend''': (paypal customers get a code, to insure they are getting their vend)
| |
| *PVEND.[code]
| |
|
| |
| '''Returns''':
| |
| *OK.[item location]
| |
| *ERROR.[error text]
| |
|
| |
|
| == Name == | | == Name == |