Automated Bartender

0 views
Skip to first unread message

Cristy Borovetz

unread,
Aug 4, 2024, 3:52:22 PM8/4/24
to pohasubwolf
Helloevery Blynks friends

I made this automated bartender to makes different kind of drinks

The story behind this is coz my fianc she likes some time to drink the Cadillac margrita and Long Island and me I like to drink vodka and whyski some times so I decided to make this bartender

I used particle photon and I used Blynk also Amazon echo Alexa to order by voice and by Blynk with tablet .


Build yourself a low-cost easy to assemble bluetooth controllable robotic bartender using an Arduino Uno. This easy Arduino based project can be 3D printed and is a cool Arduino project for beginners.


The aim of this project was to create a bar robot that was low cost and easy for anyone to write their own programme for. Many others out there soon get very expensive and often requires mains electrics - this is cheaper by design and runs entirely on 8 AA batteries. (Also makes it easy to take into the garden or a friends place).


I used a piece of wood 18mm thick, 120cm long and 45cm deep. (The wood I used was 18mm MFC but any type would be fine as long as it is sturdy enough to be used as a table top). I then bought four table legs from IKEA which I screwed to it.


You also want to insert a nut into the gap indicate (check the images) and part thread a longer bolt onto this. Later we will use this to help create tension on a timing belt (the rubber band with teeth on it used to pull the drinks paddle back and fourth along the steel rods).


Now we can add two steel rods to the assembly. Mine are 1m long (this can be altered if you want your bar robot to have more or less optics - just remember to also reduce the space between the two components which we have already screwed down into the table).


We will be using a RGB LED (this is one with Red, Green and Blue emitters all in one component which share a common cathode). You'll need to solder a wire to each of the LEDs legs. The wires need to be 180cm or greater as they will have to run through the drag chain to our Arduino Uno. I'd recommend using four separate colour wires so that you can follow the wiring through later.


Now we can fit our two NEMA 17 stepper motors. Thread their leads though the cable outlet in preparation for connecting them - ensure you the get the cable the right way around (the end with the white connector. Pop them into their respective positions (see the image above) ensuring that their cable connections are both facing inwards. Turn the paddle over and we can hold these in place with some M3x10mm bolts. Put a couple of washers on each bolt before screwing in to help secure the motor.


You'll need to make a hole through the table top about 16 mm wide halfway along the distance of the steel rods. The centre of the hole needs to be 25mm back from the front rod. This is important so that the chain is not twisted in relation to where it exits the paddle.


Remove both rods from the right hand side of the barbot and thread them through the linear bearings. You need to do this carefully so as not to dislodge any of the balls from inside the bearings. When inserting the paddle make sure the short side with the chain attached is facing the hole we just drilled.


Now we can print and add a guide tube into the hole we drilled to help smarten it up a bit. The file to print is 'Table_Tidy.STL'. You should be able to just push it into the hole - make sure that the flat edge is facing away from the paddle and chain we've been working with.


Thread all the cable down through the hole and then curl the cable chain under itself back towards the cable tidy as shown in the images. You can fix this in place against the flat edge of the cable tidy with a screw through the hole in the last piece of the cable chain.


We now need to make another 16mm hole at the right hand end, the location is not so important but near where I have drilled mine is ideal. Then we can print another tidy and insert it 'Table_Tidy_End.STL'.


Now we will solder three 1m cables to this switch. If you have three different colours it's bet to use each of them so we can trace the wires with more ease later. Once soldered to the switch you can thread them though the adjacent cable tidy to keep them out of our way.


Take the pulley for the timing belt and attach to the shaft of the stepper motor for our X axis. (Don't forget you can find a link to all the parts at the top of this guide). Ensure one of the grub screws is firmly attached to the flat side of the shaft.


We can now take one end of the teethed belt and thread this thought the horizontal slot on one end of the paddle, push it through, wrap it around the pin so that the teeth come together and lock in the middle. Push this into the groove and this will hold it into place.


Take the other end, thread it around the pulley wheel on our stepper motor shaft and then bring it back to the paddle. You then need to thread it through the other horizontal slot and push it in until it appears out the other side of the paddle. Grab this and then again take it to the other end of the robot and thread it around our plastic idler wheel we printed.


Bring it back to the paddle one more time and thread it through the top horizontal slot. Pull it through and then trim it to length leaving enough to wrap it around the pin again and have it's teeth interlock with itself in the narrowest part of the passageway.


We'll now require two threaded rods to be printed. That's file 'main_rod2.3.STL'. It's worth taking the time to print these with a detailed layer height to help reduce any friction. You'll also need to print 'Dispenser_Paddle_V2.STL' again use a detailed enough layer height. This part will also require supports.


If you don't have a note of which wire is connected where (or if you used four wires all of the same colour) we'll figure out which is connected to what now. You'll need an Arduino Uno, Mini breadboard, three 270 Ohms resistors and some jumper wires to do this.


Once you have completed the wiring, peel off the self adhesive backing on the bottom of the breadboard (you can use glue if yours is not self adhesive) and attach it to the table roughly in the position shown. This will end up being behind the back board an thus hidden from site. :)


Find the cable coming from your X-axis stepper motor (thats the one which will be pulling and pushing the paddle along the two steel rods.). Glue this to the edge of the table near the end of the motor shield above the USB port of the Arduino.


I've turned my table onto its side so that I can wire my two Z axis stepper motors together on the underside of the table. First I glued them both on the underside in close proximity to one and another.


You'll then need four 60 cm lengths of wire and two about 8cm long. If you can match the colours of the 80cm wires to those used on the cable that came with your stepper motor then things will be a little easier later.


First take the two small 8cm wires and connect them as shown in the image. Make sure when you do this that your lead ends have been glued to the table in the same orientation (so that the colours run in the same order from left to right on each).


Before we work on adding the power for the project you need to remove the shown jumper from the motor shield. This will isolate the power from the Arduino to that on the stepper motor (as we will be using 12v to power the motor shield and this is no ideal for the UNO).


Connect the positive and negative wires to their respective terminals on the motor shield and insert the batteries. When you're not using the bartender you can remove one for the batteries to break the circuit.


Connect the USB to the Uno again and upload the code 'test 1'. All going well your robot should spring into life, light the RED LED and home it's X axis against the contact switch. It will then turn green to show it's homed and will then try to dispense an imaginary drink. If it has - well done all is going just swell! :)


To assemble the optics and backboard you'll need something to use as a frame we can attach the optics to. I have chosen to use another piece of 18mm MFC, it needs to be about 40cm high and the same length as your table.


To attach this to the table I'm using some generic low-cost shelf support brackets. First I screw them onto the new backboard. As you can see in the photos I used a peace of scrap wood when attaching the brackets to ensure they are fitted in the correct position.


Now we are rest to fix this to the rest of the barbot we need to ensure it is secured in the correct position. Place it on the desktop and then slide the paddle on its rods all the way to one end and use a ruler to position this new backboard about 26mm from the rear of the paddle. Repeat this at the other end of the metal rods.


Next we need to level the paddle, place a straight object such as a ruler across the two threaded uprights and turn them behind until the two uprights and the optic pusher are all level with one another. At this point you can position the first optic on the backboard so it is about 5/7mm away from the optic pusher and tops of the rods. (As they all must be able to pass under it).


Before you upload the main program you should remove all the optic and the optic pusher from the paddle. As we have not yet tweaked the code for your robot we want to avoid any collisions that might damage something.


We will send the requested drink to the Arduino using its serial connection we send the drinks order there's a series of values separated by commas also known as a CSV this is an example order it consists of six groups each with free values each group represents an optic on our barbot.


Let's look at the first grouping of three. The first number 50 in this case represents the distance the Barbot has to move from its current position to reach this optic. As this is our first optic it is the distance from the contacts switch. This is recorded as tens of steps so this 50 represents 500 steps of the stepper motor.


The next value represents how long to dispense a drink for, by that I mean once the paddle is on the optic how long it should wait before retracting and closing the optic again. This is recorded as tenths of a second. This example therefore represents a one-second pause. The optics that are designed to dispense a measured amount of alcohol and will only dispense that amount but when we get to the free-flowing optics we can increase this delay to increase how much is dispensed.

3a8082e126
Reply all
Reply to author
Forward
0 new messages