Introduction: Sourino – the Best Toy for Cats and Kids

About: Hey ! My name is Electrocat, I am 13 years old and I'm passionate by electronic, programming and 3D printing.

Imagine long parties with kids and cat playing Sourino.

This toy will amaze both cats and kids. You will enjoy to play in remote controlled mode and drive crazy your cat. In autonomous mode, you will appreciate to let Sourino moving around your cat, or to look a the way it finds to avoid obstacles in your room. It's a fantastic journey around innovative technologies. In this Instructable, you will do 3D printing, mechanical assembly, electronics, wiring and software installation on Arduino.

Initially, I was inspired by my cat. I wanted to create a toy to play with it such as a mouse. “Sourino” is coming from mouse in french “Souris” and “Arduino”. At the beginning, the prototype was remote controlled only. Then, I discovered the ultrasonic sensors and the power of them to make the mouse “finding her way” by itself. The Sourino became a unique toy with dual mode : automatic and remote controlled.

In this instructable, you will find, full documentation package to make it from end to end. Starting with full bill of material, 3D printing files, electrical diagrams and software. You find full mounting, wiring and software installing instruction to make it great.

Enjoy !

Step 1: Watch the Video !

Step 2: Gather the Parts & Tools :

I bought the parts on different websites. You will find the bill of materials with links below.

Parts :

Wheels, Quantity : 2, AliExpress /!\ Choose option [A] or [A-Black]

Roller, Quantity : 1, A4 technologies

Screw CLZ ST 2,2 x 8 – C, Quantity : 9, Fixnvis

Screw CLZ M2x6, Quantity : 2, Fixnvis

Nut H M2, Quantity : 2, Fixnvis

Screw CLZ M3x10, Quantity : 2, Fixnvis

Screw FZ M3x10, Quantity : 2, Fixnvis

Nut H M3, Quantity : 4, Fixnvis

Arduino Nano, Quantity : 1, Arduino Store

Power controlller, Quantity : 1, Amazon

IR receiver + IR remote, Quantity : 1, Amazon

Ultrasonic sensor, Quantity : 3, Amazon

9V Battery, Quantity : 1, Amazon

9V Battery plug, Quantity : 1, Amazon

Female jumper wires, Quantity : 1 pack, Amazon /!\ Choose option [ 1x40P Female-Female(20cm/2.54mm) ]

Wires, Quantity : 1 pack, Amazon /!\ Choose option [20 AWG]

Motors, Quantity : 2, AliExpress /!\ Choose options Speed : [200RPM] and Voltage : [6V]

Heatshrink tubing diam. 2-4 mm

Tools :

3D printer, GearBest

Arduino Nano cable, AliExpress

Soldering iron

Tin

Regular set of screwdriver

Step 3: 3D Print Parts

Now, time to print !
Print all parts once, except "Supp_US_P2_cotes.stl" to be printed twice.
I designed parts with FreeCAD and printed with my Alfawise U30 Pro.

Here is settings for 3D printing :
Material : PLA
Nozzle temperature : 200 °C
Heatbed temperature : 60°C
Infill : 30%
Layer height : 0,1 mm
Supports : Yes (But not for all parts if you rotate them)
Raft : No

You will find links to my website for download the files below :
STL Files
FreeCAD Files

Step 4: Assemble Motors Onto the Body

To assemble motors, you need motors and parts provided with and wheels.
Prework : Solder red and black wires on motors (Length : 5cm / 2 inches).
First put the nuts into the support.
Then, put the support on the motor.
To finish, screw the motor on the body and pass the wires trough the hole in the body.
Finally put the wheels on motor shafts.

Step 5: Screw Power Controller Onto the Body

To screw the power controller you need the power controller and 4 screws CLZ ST 2,2 x 8 – C.
You have just to screw in the four corners.

Step 6: Mount Arduino Nano Onto the Body

For this step you need the Arduino Nano, 1 screw CLZ ST 2,2 x 8 – C and the locker (“Maintien_Nano.stl”).
First, mount the Arduino like in the pitcure.
To finish, screw the locker (“Maintien_Nano.stl”).

Step 7: Assemble Ultrasonic Sensors Onto the Body

To assemble the ultrasonic sensors you need :
- 3 ultrasonic sensors
- 2 FZ M3x10 screw
- 2 H M3 nut
- 2 side holders (“Supp_US_P2_cotes.stl”)
- 1 central holder (“Supp_US_P2_millieu.stl”)
- 1 sensors main frame (“Supp_US_P1.stl”)
Prework : straighten the pins of the 3 ultrasonic sensors.
To start, assemble the 3 ultrasonic sensors on the on their holders (“Supp_US_P2_cotes.stl” and “Supp_US_P2_millieu.stl”).
Then, screw the main frame (“Supp_US_P1.stl”) on the body with 2 screws FZ M3x10.
Last, mount the 3 ultrasonic subsets. Mind the difference (hook location) to keep the central sensor at the center and side subsets on both sides.

Step 8: Screw IR Receiver Onto the Sensors Main Frame

For this step you need the IR receiver, 2 screws CLZ M2x6 and 2 nuts H M2.
Then, you have just to screw it on the sensor main frame.

Step 9: Screw Roller Onto the Body

To mount the roller you need the roller, 2 screws CLZ M3x10 and 2 nuts H M3.
And just screw the roller on the body.

Step 10: Wiring

The wiring diagram is on the picture above.
The Fritzing native file is attached at the end of this section.
Tips for wiring :
- Do not cut wires of the battery plug. Pass the wires oh the battery plug through the hole of the battery enclosure. Make a knot of the two wires outside of the enclosure to prevent tearing on the plug of the power controller.
- Wire first the common GND (black) and the common Vcc (red). To do so, I recommend to cut one extremity of jumper wires and to weld them together as shown on pictures above. Mind black and red wiring are different.
- Signal wires from Arduino to power controller should pass under the Arduino.
- Do not fold to sharp wires to not damage them.

Step 11: Upload Software

Now you need to upload the software.
Prerequisite :
- Arduino IDE : Arduino
- Arduino Nano cable (USB to mini USB)
- Plug 9V battery.
- Install the library “IRremote” by “sheriff” trough the library manager of the Arduino IDE.

You will find the Arduino code (.ino file) at the end of this section.
Select “Arduino Nano” for the board drop list.
Select “ATmega328P” or “ATmega328P (Old Bootloader)” for the processor drop list (it depends on your Arduino Nano).
Select “AVRISP mkII” for the programmer drop list.
Select the right serial port (it depends on your computer OS).
Now, you will upload the code.

Tip in case of upload failure:
All along compilation is running, press reset button on the Arduino Nano. When displaying “Uploading...”, release reset button.

Step 12: Functional Testing

You need to test the Sourino for verify the motors wiring.
To do so, plug the 9V battery, press “#” button on the remote then press “▲” button on the remote controller.
Normally, the Sourino moves forward. If the Sourino turns or moves backward, invert wires of motor which turns in the wrong direction directly on the power controller (No need to unsolder wires on the motors).

Step 13: Mount Bodyshell

Currently, the Sourino works well. Now the final touch. Let’s screw the bodyshell !
You need just 4 screws CLZ ST 2,2 x 8 – C.
Then, just screw the bodyshell (Coque.stl) like on the picture.
To finish, take the cap of the battery enclosure (Bouchon_batterie.stl) and put it on the rectangular hole infront of the battery enclosure. If is too hard to remove the cap with your nail, you need to file it.

Step 14: Play !

Now you are done !
The picture above describes the buttons of the remote control.
Hope you enjoy this instructable. If you have made this project, please post a make :)