technology workshop craft home food play outside costumes
Snack Vending Machine powered by Arduino
by Sevenmojoe on January 10, 2017
Table of Contents
Snack Vending Machine powered by Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Intro: Snack Vending Machine powered by Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Step 1: Sketch the concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Step 2: Create 3D model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Step 3: Design coin slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Step 4: Prepare and test every component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Step 5: Build a spiral mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Step 6: Using sensors and magnet for coin filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Step 7: Using infrared sensor for product detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Step 8: Use LCD for information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Step 9: Finishing and testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Step 10: Room for improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
http://www.instructables.com/id/Snack-Vending-Machine-Powered-by-Arduino/
Intro: Snack Vending Machine powered by Arduino
Hello, greetings from Indonesia.
This snack vending machine is my final project. This project was actually finished in end of 2015.
The aim of this project is to create a vending machine, powered by arduino microcontroller, using "any cheap and easy to get" components available in local store.
Goals: The vending machine has to accept certain amount of money (in coin), before let customer choosing their product, and of course delivering product.
So, this is what i did to achieve that goals:
Step 1: Sketch the concept
First think first, the concept.
This sketch is my very first idea of what i might build. Its gonna be a snack vending machine, accepting coin as a payment, and using Acrylic case.
Pick and mature your concept, try to think about anything, any scenario, any condition.
Try to sketch everything, nobody cares if your drawing is ugly, seriously look at my drawing. :D
The right time to think about the un-thinkable is before the project even started.
http://www.instructables.com/id/Snack-Vending-Machine-Powered-by-Arduino/
Step 2: Create 3D model
Maybe this step is not necessary for every people, but for me, and for this project, its crucial.
I create solidworks model. And i mean really fully completed model. I need to determine the dimensions of the product, in this case, a snack packages. The size of
accepted coins, the size of rejected coins, size of coin slot, size of coin ramp, size of push button, sizes of almost everything. This step include compare, pick, and
measure the size of Arduino Microcontroller used. What sensor used, or will possibly use in the future, where to placed, whats the dimension and sizes, where accepted
coins goes to, i also think about where i should put a monochrome LCD (its not necessary but i insist).
And finally, still in solidworks model creation, dont forget to create holes for screw, for every parts.
The case are made from Acrylic material, and cutted using laser cutting method. Thats why i create model as detailed and accurate as i can, because the more accurate
my model, more preccission case i will get.
Step 3: Design coin slot
To filtering coins, first i am using coin dimension.
By designing slot coin, i can determine what coins size are allowed to enter the machine.
Then second filter, i determine what coin size are allowed to accepted and rolling down to the coin holder.
Because by using gravity force, if coin sizes (diameter) are smaller than the length of coin ramp/track, then it will falling down and rejected.
On the pic above, coin on the left wont enter slot coin.
Coin on the middle will fall and rejected.
Coin on the right is accepted coin, goes down to coin holder.
This is video when i doing some coin testing, it will show you how this method working.
http://www.instructables.com/id/Snack-Vending-Machine-Powered-by-Arduino/
Step 4: Prepare and test every component
Get your arduino ready, prepare every things needed.
This is what i use:
1 Arduino Uno. (should be use Arduino Mega, more IO)
1 Sensor shield.
3 Infrared (reflective) or line follower sensor, used for product detection.
1 Proximity (electromagnetic) sensor, used for coin sensor number 1.
1 Distance interupter (infrared/optocoupler) sensor for coin sensor number 2.
1 Power Supply 6V for DC motor.
3 DC motors, 6V, complete with the wheels, relay for DC Motor, and stuff, namely LCD (nokia 5110 LCD), LED, Push button, speaker (silent is boring). Note: lots of them
are not on the pic.
Test every component, LCD push button, relay, LED, just try to combine everything and learn different logic and coding. Make sure you know about what you do. Try to
test to the limit, find the limit, but dont break it.
Why use resistor, what happen when this, or that, why sensor reading are not stable, what value actually readed by sensor, etc.
I did do the test and found that proximity sensor reading are "not clean", need to add a resistor to calm it down.
Infrared sensor perform very bad and not normal under direct sun (i know about this before, but never actually feel the impact, until now). The solution is using some duct-
tape to isolate around the receiver part of infrared sensor, as show on the pic.
http://www.instructables.com/id/Snack-Vending-Machine-Powered-by-Arduino/
Step 5: Build a spiral mechanism
This is one of the most important part on vending machine, delivering mechanism.
I am using spiral mechanism, with alluminium wire (2mm wire diameter), manually shaped into spiral with the help of 9cm diameter PVC Pipe.
Spiral wire are tied to a wheel using cable ties. When DC motor ON, wheel rotating, and spiral wire will rotate. Rotating spiral are actually converting rotational into
linear movement of product.
http://www.instructables.com/id/Snack-Vending-Machine-Powered-by-Arduino/
Step 6: Using sensors and magnet for coin filtering
First pic is coin sensor number 1, it using proximity sensor, or induction electromagnet sensor.
When accepted coin pass this sensor, it will trigger arduino to start counting time (in millisecond).
if sensor1 triggered then start counting time in millisecond.
And when accepted coin pass coin sensor number 2, a distance interupter sensor, arduino will stop counting time, and get the time required for that particular coin, to
travel from sensor number 1 to sensor number 2.
if sensor2 triggered then stop counting time in millisecond. "travel times" is xxx millisecond.
Using a magnets, attached alongside coin ramp, i can filter between coin that did not affected from magnetic field, and coin that being affected from magnetic field. Coins
that affected by magnetic field will rolling down slower (just about 300 to 500 millisecond slower), but than again it depend on how many magnets attached along side
coin ramp.
Dont use too many magnet as it will jam and make coin stop in the middle of coin ramp. We dont want that to happen, because we need to counting time for every coin,
to get "travel times" between sensor number 1 and number 2. This "travel times" (in millisecond), are used for arduino to determine the value of accepted coin.
if "travel times" more than or equal to "yyy" millisecond, then its "aaa" coin, else it is "bbb".
This is a video when i testing this method, filtering coins using magnet.
Step 7: Using infrared sensor for product detection
I am using 3 infared sensor for product detection when fall from being pushed/moved by spiral mechanism.
When product fall, it will trigger infrared sensor, sending OFF signal to DC Motor (via relay).
So basically all we want is, when product falls, spiral mechanism simply stop rotating.
This video show how product detection working in this vending machine.
http://www.instructables.com/id/Snack-Vending-Machine-Powered-by-Arduino/
Step 8: Use LCD for information
In this project, i make the LCD showing information (in Indonesian currency) about accepted coin value, everytime customer enter a coin. It also will show how much total
balance from accepted coin, and other general instruction about step by step to operate this machine.
Step 9: Finishing and testing
Finally, finished Snack Vending Machine.
After 3 months, or so, i am ready to do some final test to this machine, from payment/coin test, product selection, and product delivery.
This is Snack Vending Machine final test video, BIG thanks to Arduino, and Google.
I hope this project help some of you, maybe give you some inspiration or idea, about building and creating the next Arduino powered vending machine.
http://www.instructables.com/id/Snack-Vending-Machine-Powered-by-Arduino/
Step 10: Room for improvement
Add some coin changes mechanism.
Accept paper money, bitcoin, digital payment.
Show product stock on LCD.
Notify via internet/network every time transaction happen.
Notify when product stock empty, and etc.
This Snack Vending Machine is the 1st Winner of Dayang Sumbi Innovation Award.
Special thanks: ITENAS Bandung, Department of Mechanical Engineering.
Related Instructables
Rotary Vending Vending Priest Build your own Hacking a Smart Vending
Talking to a Prototype by by JimRD Electronic vending Machine by
vending kenshin1 Pencil machine to sokart
machine MDB Dispenser by release cans
with two SomyaG with SMS by
Arduinos by luis.leao
aggrav8d
http://www.instructables.com/id/Snack-Vending-Machine-Powered-by-Arduino/
Advertisements
Comments
1 comments Add Comment
Swansong says: Jan 10, 2017. 8:00 AM REPLY
This is a really cool project :) It would be awesome for gaming groups!
http://www.instructables.com/id/Snack-Vending-Machine-Powered-by-Arduino/