This is an old revision of the document!
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:
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 |
Total 496.27 lei
The software consists of 4 source files — two for each board (ESP8266 and ATmega328P on both controller and robot sides).
The hand controller acts as a WiFi client. It reads user input from buttons or an accelerometer and sends commands to the robot over WiFi.
The board used combines two microcontrollers:
The `LCD shield` is used as both a display and a keyboard (for entering IP addresses when switching between multiple target devices).
The ATmega328P sends user input as a command string to the ESP8266, which then formats and transmits the command as an HTTP `GET` request to the robot server.
The hand controller also can activate the bomb when the arm is controlling and the SELECT button is pressed.
The robot acts as a WiFi server, waiting for incoming requests from the hand controller.
On receiving a command:
Although HTTP is not the most efficient communication protocol for this use case, it was sufficient for proof of concept and ease of implementation.
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.