Puppy-nator: Re-defining the Safety of Human - Young Canine Interaction
by pnator in Circuits > Arduino
439 Views, 1 Favorites, 0 Comments
Puppy-nator: Re-defining the Safety of Human - Young Canine Interaction
A robotic device with the (useless) purpose of safeguarding humans from the dangers imposed by youngster canine species (aka “puppies”) by means of distraction, evasive movements, and bait.
Functions
1. Attention-grabbing sequence:
Puppy-nator can be controlled with a remote control through an IR receiver to catch the attention of the subjects (puppies.)
2. Evasive movements:
With its ultrasonic sensor, Puppy-nator runs away from the subjects when they get too close to distract the dangerous puppies.
3. Bait release:
If the puppies are able to catch the Puppy-nator they can push the joystick on the platform to rotate the arms of the servo to release the bait (any toy or treat) for maximum distraction span.
Supplies
Electronics
- Arduino UNO
- 2x DC motors (ours: 6 V 250 RPM hobby gear motors)
- 1 mini servo motor (6V 9 gr.)
- L298N or L293D motor driver
- Joystick card (without cap)
- Ultrasonic sensor (ours: HC-SR04)
- IR receiver
- Mini breadboard
- Jumper wires (M-M, M-F)
- 2x 9 V batteries
- TV remote control
- 9V to DC barrel adapter
Hardware
- Acrylic sheet for laser cutting the platform
- 2x wheels
- 2x caster wheel
- 4x spring door stoppers
- 8 #6-32 x ½ screws with nuts
- 6 #8-32 x 13/4 screws with nuts
- 14 cup washers that fit both #6 & #8
- 12 rubber washers that fit #8- 8 screws sized ½ or that fit the door stopper springs
- 6 separators sized 1 in
Tools
- Screwdriver
- Zip-ties
- Electrical tape
- Bait
Preparing the Platform
We got our platform laser cut out of acrylic sheets according to the attached file. You can make yours out of different materials or hand-made components. We used Lego and Knex toy pieces to build our prototype.
Electronics
- Prepare the breadboard
Create power and ground lines on the breadboard by connecting a wire from Arduino’s 5V to one side and another wire from Arduino’s ground to another. Connect wires over the bridge to connect the two sides. All the other power and ground lines from the components will be connected to these rows.
2. DC motors and driver
First, connect two cables to the ends of both motors.
We need to use a motor driver to be able to control the direction and speed of the motors, both L293D or L298N would work as they allow the control of 2 motors.
L293D:
Place the driver on the mini breadboard and connect the jumpers as shown in the diagram.
IN1 and 2 are for forward and backward movement of the motors and EN pins are for adjusting the speed. The order of the two wires from the motors and IN cables do not matter as that can be arranged in the code.
Enable wires must be connected to pins marked ~PWM on Arduino to read analog results to change the speed of the motors.
L298N:
Connect the cables from the motors to two OUT pins on each side.
6 pins in the front are for IN1, IN2 and enable pins of each motor. Attach a jumper to each of them. The two on the sides are EN and must be connected to PWM pins on Arduino. Take off the jumper on the driver if there is any to attach an M-F wire.
Connect + wire from 9V to 12V input in the front and a cable from GND to the ground line on the breadboard. As we are using separate sources to power the motors and the Arduino they must connect to a common ground.
3. Ultrasonic sensor
An ultrasonic sensor is added to make the Puppynator run away from the puppies when they approach and ensure it will not hit any obstacles. Wire it as shown in the diagram.
4. Joystick and servo motor
The servo motor to release the bait on top will be activated by a joystick. Connect them to breadboard and Arduino as shown. Note that the X and Y direction pins from the joystick should be connected to analog pins on Arduino.
5. IR receiver
An IR receiver can be used to control the Puppy-nator and catch the attention of the puppies through any TV remote control.
Putting the Platform Together
Once you have the acrylic sheets cut you can put the platform together as described in the images.
Code
Upload the merged code and attach another 9V battery to Arduino with a DC barrel adapter to be able to power it independently and the other sensors, servo, and joystick. We have also included codes for different components separately to test them out first.