Turning a vending machine into a world-dominating robot.
Improve the vending machine to make it fit for the purpose of dispensing a range of goods (particularly popular electronics modules), accept other payment mechanisms and provide control / reporting over the Internet. Also, provide a group project for the Wednesday evening robotics (ENR) sessions.
Regarding bikeshedding … Experience suggests that just asking for ideas on the forum is a great way to get 400 people who never intend to visit the space arguing that it should be red, so let’s try to direct the conversation as much as possible. (Also, CLEARLY it needs to be “police box” BLUE;-)
Project Lead/Champion: This Project needs a Champion! (May be this should be determined by the Project Members or as required?)
Project Members: This Project needs some Members!
The existing system works.
The coin changer works.
You reprogram the prices using a button on the board
The compressor is broken and needs to be removed.
The dispensers work.
The dispensers and coin changer are 24v.
We have a manual (of sorts) http://www.gtp.com.au/espressotemp/inewsfiles/vending-Saeco-Smeraldo36-56%20user-manual.pdf
“Datasheet”(well thats what they call it): http://www.saecovending.com.au/download/pdf/datasheet/smeraldo-en.pdf
- This edit attempts to explain how the system works, but my understanding is limited so this may contain errors. Please rewrite this to better reflect how it ACTUALLY works.
A range of electronics from our favorite sponsors and resellers.
Members excess stock of parts (and stuff)
Cables, usb sticks, neopixels, packets of M3 bolts and nuts
Sample list based on what's been popular with group orders
- Neopixel sticks of 8 (Adafruit)
- Micro Servos
- Right angle brackets for 20mm extruded tubes
- 12 or 16ch PWM servo driving boards
- Veroboard / experimenters board
- Debug/programming cables (ftdi-like)
- Pi Plate (display + buttons for Pi)
- WS2811 ics, short joinable strips of WS2812Bs
- Servo extension cables
- MicroSD cards w/SD adapter suitable for Pi, Beaglebone
- Learn to solder badge kit as used at fairs
- OpenBlink surface mount kit
- Blank kinsten pcbs
Sell products (as obvious as it seems, it needs to be mentioned explicitly)
Be a tool that can be relied on, not just a project that is constantly being worked on
Record sales and stock control: Stock feeder status: Empty ? Quantity left ?
Not attempt to sell items that are out-of-stock
Set the prices for items
Support the coin changer, particularly for small value items.
Support more expensive items through either members swipe cards, single use codes, eftpos, TidyClub(preferred) or some other method.
Be well documented.
Dispense both large and small items.
Replace the tube lighting with neopixels (Lachlan is already measuring it in his mind.)
Provide a secure way to monitor stock levels (possibly through tidyclub).
Provide receipts for purchases (some may be expensive and/or tax deductable)
Be modular enough that we can extend it later (maybe a credit card facility that loads up your tidyclub account/pays your membership fees/etc)
Be Open Source/Hardware so the whole world can tremble at our name.
Use a Raspberry Pi/Arduino/combination, guaranteeing our entry on Hackaday and makezine.
Forced access and tilt alarm.
Large LCD display to show information on items being sold.
Sound system to promote sales and for fun.
The following document (see link) covers the requirement specifications as discussed Wed night (19/11/14).
The implementation details are up to those who have responsibility for that area (see above document).
Only where one part of an area interacts/impacts with another (ie an area that is the “Role/Responsibility” of someone else) is there a need for a mutual agreement (in writing) on the implementation.
Supports 3 different communication protocols, MDB, EXEC and BDV …
BDV is only used in German speaking countries
EXEC is a propriety Mars system.
MDB stands for “Multi Drop Bus” and has been an open standard since the 80’s
MDB links to using it with Arduino …
Task List, come and join in
Due to the lack of documentation we need to reverse engineering the current hardware.
1. Backend Code