Project: Cleaner robot using Magician Chassis, Arduino, distance sensor and hand sweeper

This is a cleaner robot so you can give to your mommy or just use to clean your bedroom =P.

Material List:

1x Arduino UNO R3

1x Magician Chassis

1x Shield Motor Driver (Shield 4Power)

1x Distance Sensor

1x Servomotor

1x Hand Sweeper

1x Battery

Project Cleaner robot using Magician Chassis, Arduino, distance sensor and hand sweeper1. How it works

When the robot is on, it moves forward and rotates the hand sweeper (for cleaning). If the sensor detects a wall in front of it, the robot will turn to the left and keeps moving forward.

2. Adaptations

We have done adaptations to the servomotor so it could turn 360º the hand sweeper, as we can see in the pictures below:

To fix the distance sensor we used a tape foam double sided:

3. Robot Pictures

4. The Sketch

#include <S4power.h>
#include <Servo.h>
S4Power s4power;
Servo limp;  //Attach “limp” for use the commands of the servo.h
int count1 = -20;  //Speed of the Motor 1 (M3)
int count2 = -30;  //Speed of the Motor 2 (M4)
int sensorValue;  //Variable for get the distance sensor value
int vass = 9;  //Attcha the D9 pin for the variable vass, cause the same will be used for control the servomotor

void setup()
{pinMode(vass, OUTPUT);  //Attach the pin D9 (vass) as OUTPUT
s4power.Config();  //Configure the Motor Driver Shield (4Power)
limp.attach(vass);  //Link the pin D9 to servomotor
limp.write (-180); //Roll the hand sweeper}

void loop()
{sensorValue = analogRead(A5);  //Read the sensor value using the pin A5 and put int the variable.
if (sensorValue > 230)  //If the sensor value more than 230(Near the wall), turn the robot.
{s4power.M3.speed = 0;  //Stop Motor 1
s4power.M4.speed = 0;  //Stop Motor 2
s4power.M3.Update();  //Update Motor 1
s4power.M4.Update();  //Uptade Motor 2
delay(500);  //Wait 0,5 seconds

Project Cleaner robot using Magician Chassis, Arduino, distance sensor and hand sweeper Schematics4power.M3.speed = -40;  //Motor 1 move forward
s4power.M4.speed = 40;  //Motor 2 move backward
s4power.M3.Update();  //Update Motor 1
s4power.M4.Update();  //Update Motor 2
delay(500);  //Turn for 0,5 seconds}

else
{s4power.M3.speed = count1;  //Motor 1 move forward
s4power.M4.speed = count2;  //Motor 2 move forward
s4power.M3.Update();  //Update Motor 1
s4power.M4.Update();  //Update Motor 2}}

 

For more detail: Project: Cleaner robot using Magician Chassis, Arduino, distance sensor and hand sweeper


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top