Anonymous

Equipment/Vending machine: Difference between revisions

From London Hackspace Wiki
no edit summary
No edit summary
No edit summary
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 ==
3,313

edits