Card Dealing Robot
Basically this robot distributes cards to the players on the table. This cool robot distributes the cards without any human assistance and this robo would bring uniqueness to the table.
This Instructable shows how to build this cool robot step by step.
Supplies
- Arduino uno (with cable)
- servo motor
- geared motor
- jumper wires
- laptop
- straws
- cardboard
- tape
- pair of scissors
Building the Base
FUNCTION
- So the Servo motor is one of the main part of the robot.This servo would be helpful in the determining the direction .
- We would be programming this servo to different angles per unit time for the required number of players.
STEP
- For this step we must attach a stiff base to the servo motor using the screw which would be provided with the servo.
Attaching the Card Ejector
- This motor determines number of cards sent out at a particular time.
- More the speed of this motor more number cards come out.
STEP
- Stick this motor onto the base which we made in the first step.
Mechanism Card Ejection
FUNCTION
- This acts as an axle to the geared motor and this axle is responsible for the ejection of the cards one by one.
STEP
- Take a piece of straw(length of the card ) and wrap it with rubber bands (for grip) and then attach it to the motor's axle.
Making the Card Holder
FUNCTION
- This box holds the cards in place when the robot is moving.
STEP
- Just cut a box or make a box and cut a hole for the straw axle.
- Then attach a small cardboard barrier to prevent multiple cards from falling.
Connecting the Dots
The circuit diagram will be attached with this step.
You can change the angle in the code for required no. of players.
CODE :-
#include
Servo myservo; // create servo object to control a servo // a maximum of eight servo objects can be created int pos = 0; // variable to store the servo position void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object }
void loop() { for(pos = 0; pos < 180; pos += 180) // goes from 0 degrees to 180 degrees { // in steps of 180 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(5000); // waits 5sec for the servo to reach the position } for(pos = 180; pos>=1; pos-=180) // goes from 180 degrees to 0 degrees { myservo.write(pos); // tell servo to go to position in variable 'pos' delay(5000); // waits 5sec for the servo to reach the position } }
Final Body Build
- Attach the servo motor to any type of rigid support and you are done.
- make sure the robot has proper balance