Designed by Ciocea Bogdan-Andrei, 333CA, May 2025
Contact: bogdan.ciocea@stud.acs.upb.ro
Github: BogdanCiocea
The device moves in response to user commands. It supports two input modes:
It can move in all primary directions: FORWARD, BACKWARD, LEFT, RIGHT, and diagonally.
Update: I added the bomb. Now the hand controller can activate it.
I've always wanted a dog, but I'm allergic to animal fur — so I built one that doesn't shed and eats less.
Simple as that.
Thanks to its friendly and interactive nature, the robot can be used for entertainment and companionship.
It can also serve as a carrier, helping users carry small objects.
Additionally, with a camera module added, it can be repurposed for filming videos or remote surveillance.
The hand controller includes the following components:
The robot includes the following components:
The bomb includes the following components:
List of components:
Component | Link | Datasheet | Price |
---|---|---|---|
LCD 1602 shield | Vendor | Datasheet | 24 lei |
Grove 3-Axis Digital Accelerometer | Vendor | Datasheet | 46.38 lei |
I/O Grove base shield | Vendor | Datasheet | 38.08 lei |
ATmega328P and ESP8266 Board | Vendor | Datasheet | 180 lei |
Gear Motor Dual Shaft | Vendor | Datasheet | 128 lei |
Micro Servomotor SG90 | Vendor | Datasheet | 12 lei |
Support for ESP32 camera module | Vendor | Datasheet | 61.32 lei |
HC-SR04 Ultrasonic Sensor | Vendor | Datasheet | 6.49 lei |
Buzzer | Vendor | Datasheet | 0.99 lei |
Led | Vendor | Datasheet | 0.30 lei |
Total 497.56 lei
The code was written in ArduinoIDE. I used these libraries:
The software consists of 6 source files — two for each board (ESP8266 and ATmega328P on controller, robot and bomb).
The hand controller acts as a master. It reads user input from buttons or an accelerometer and sends commands to the robot over ESPNOW.
The board used combines two microcontrollers:
The `LCD shield` is used as a display to show the user which command is transmitted.
The ATmega328P sends user input as a command string to the ESP8266, which then formats and transmits the command to the slaves (robot and bomb).
The hand controller also can activate the bomb when the arm is controlling and the SELECT button is pressed.
The robot acts as a slave, waiting for incoming requests from the hand controller.
On receiving a command:
The bomb acts also as a slave.
On receiving a command:
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.