Introduction: Nagging Robot® | Disturbing at the Speed of Life
The easiest way to make sure you get angry every day. Nagging Robot® has the solution.
Nagging Robot® Annooy® 900
The Annooy® 900 was carefully conceived with cutting-edge DIY technology to annoy humans.
by Daniel Locatelli and TzuYing Chen
More power, better annoyance.
Power-Lifting Bore delivers 5X the angriness power* for improved annoy performance.
*(Compared to Annooy® 800 Series).
Intelligently spies on you.
A full suite of sensors intelligently captures your and your home data to navigates the robot around objects and under furniture to help thoroughly bother you.
This work is a parody with the iRobot® Roomba® as part of the assignment Useless Machine from the ITECH seminar Computational Design and Digital Fabrication at the University of Stuttgart.
This is a face following robot, it identifies a human face and tries to centralize it to the camera.
Step 1: Tools
Step 2: Parts
The parts listed below usually come with many Arduino starter kits available to buy online, such as this one.
- Arduino Uno compatible + USB cable
- Ultrasonic Sensor (x2) (usually the starter kits only have one ultrasonic sensor).
- Ardunio Protoshield + mini breadboard
- 9V battery
- 9V battery connection for Ardunio
- Jumper Cables
- Breadboard Power Module
While the list below displays the unusual parts that have to be bought separately:
Car Chassis Kit
There are some really inexpensive car chassis kits available to buy online, such as this one, or alternatively you can also buy these parts separated. We will need the following:
In this case, we decided to use a different chassis to give some style to the robot. Aside from the parts mentioned before, we also used these stationery items:
Step 3: Assembling the Chassis
This chassis uses a simple mesh to make it easier to attach and remove parts. But bare in mind that it is a metallic mesh, which means that electronic parts must not touch it directly as it could damage them.
First, organize the parts on top of the metallic mesh to understand how big you need the robot to be. In our case, the final size was determined by the size of our power bank + wheels. If you have a smaller power bank then you could make the robot even more compact! Then cut the metallic mesh forming a pixelated circle as shown in the image above.
To screw the universal wheel in place we used cork to level it to its correct place. Cut two pieces of cork with the shape of the base of the wheel and flue them together. Then screw the cork on top of the mesh in one of its extremes and on the other side screw the wheel.
Motors & Wheels
To put the motors in place you just have to use two small Hellerman cable ties for each and use the mesh to tight them. Be aware that the wheels are really close to the motors be careful to leave enough space for the wheel to spin freely.
Last but not least, we have to put the power bank in place. Here the only thing that you should be aware of is where the USB cable input is located, avoiding it to be facing the wheels. And then you can tight use two cable ties to lock it in place.
Step 4: Connecting Electronic Parts
The first thing to be done is to screw the Arduino Uno on one side of the cork and the L298N Motor Driver to the other side. This way we minimize the space needed without risking have electronic parts touching each other.
Then, attach the Protoshield + mini breadboard on top of the Arduino Uno. This will ensure that we have enough space and pins available to connect every sensor and actuators. In our case, we glued the mini breadboard on top of the Protoshield using the adhesive that comes with it.
Then we connected the 5V to one line of the mini breadboard and the GND to another line.
L298N Motor Driver
Then using 6 male-female jumper cables we connected the pins number 5, 6, 7, 8, 9, and 10 from the Arduino to the pins ENB, IN4, IN3, IN2, IN1, and ENA of the L298N Motor Driver. Here we decided to use six cables already glued to each other from the factory so we had a neat connection. Then we connect the ground and feed pins to the mini breadboard, battery, and motors. It should be like this:
- ENB - ENA respectively to 5 - 10 of Arduino
- 5V connects to the 5V line of the mini breadboard
- GND to the ground line of the mini breadboard
- 12V to the positive pole of the 9V battery, while the negative pole connects to the mini breadboard ground
- OUT1 and OUT2 to the Motor 01
- OUT3 and OUT4 to the Motor 02
The ultrasonic sensors have to be located in front of the robot so nothing interferes with its capture, so it should have a bigger cable so you have more flexibility. Their pin connections are as follow:
Ultrasonic Sensor 01
- Echo to Arduino pin 3
- Trig to Arduino pin 4
- Gnd to the ground line of the mini breadboard
- Vcc to the 5V line of the mini breadboard
Ultrasonic Sensor 02
- Echo to Arduino pin 12
- Trig to Arduino pin 11
- Gnd to the ground line of the mini breadboard.
- Vcc to the 5V line of the mini breadboard.
- UOR connects to pin RX0 (pin 0)
- UOT connects to pin TX0 (pin 1)
- 5V to the 5V line of the mini breadboard
- GND to the GND of the Arduino (the mini breadboard will be full
Power bank to Arduino
The last step is to connect the Arduino USB to the power bank
Step 5: Time for Coding
Before heading to the Arduino Uno we have to configure the ESP32-CAM. This camera has its own microcontroller the ESP32, which means that if we want to send our code using the Arduino IDE, we need to configure the IDE environment first, and we are lucky. Robot Zero One has already done a really detailed tutorial about it, so first go to that link and follow his step-by-step.
After that, you just have to upload the file PanningFastVer.ino attached here bellow to the ESP32-CAM.
Then for the Arduino code, you just have to upload the file UnoInput_Serial.ino attached here bellow.
Step 6: Enjoy!
Attach the camera to the side of your robot and have fun!
To make it have a futuristic nostalgia feeling, we have enclosed everything with one half of the acrylic ball. The robot also had the USB cable coming out which made it look like a tail. Kinda cute!