Introduction: Arduino ROOMBA + Autonomous Steam Cleaner

So from high demand on reddit, I guess I’m making a tutorial for this! Here we go,

Step 1: Cutting Cardboard or If You Have a Chassis Use That.

Cut however but you want it to be!
I used 4x5 inches,
Next you’ll want to cut 2 small pieces of cardboard 3 inches long and 1 inch wide. Glue them together

Afterwards you’ll need a plastic vase for your cloth or rag.

Step 2: Assembly

You can use your Zip ties or Hot glue here

Step 3: Circuitry

Just follow the schematic I made for you and ask questions in the comments if you need!

Step 4: Programming

Just copy paste the code I gave you and if you need to change around the motor speeds to even the turns out go ahead!

#include //Adafruit Motor Driver Shield library

AF_DCMotor motor1(3); //motor1 connected to M3
AF_DCMotor motor2(4); //motor 2 connected to M4

long duration; //duration of ultrasonic pulse
int distanceCm; //distance in cm

void setup()
{

pinMode(A1, OUTPUT); //Analog pin A1 connected to TRIG
pinMode(A0, INPUT); //Analog pin A0 connected to ECHO

motor1.setSpeed(255); //motor speed set to max. range:0-255
motor2.setSpeed(255);

motor1.run(RELEASE); //stop both motors
motor2.run(RELEASE);

}

void loop()
{

digitalWrite(A1, LOW);
delayMicroseconds(2);
digitalWrite(A1, HIGH); //give a pulse of 10us on TRIG
delayMicroseconds(10);
digitalWrite(A1, LOW);
duration = pulseIn(A0, HIGH); //check time elasped in receiving back the pulse on ECHO
distanceCm = duration*0.034/2; //convert to distance in cm

if(distanceCm <= 20) //if distance less than 20cm make the turn
{
motor1.run(FORWARD); //to turn motor to righ change to motor1.run(BACKWARD)
motor2.run(BACKWARD); //and motor2.run(FORWARD)
delay(500); //play with delay to set the angle of turn
}
else //else keep moving forward
{
motor1.run(FORWARD);
motor2.run(FORWARD);
}

}

Step 5: Troubleshooting

So I’m guessing these will be your problems

-Wheels aren’t moving
Use a higher power battery, 9V will work for a little while but you’ll have to tweak the code to set the motor powers to 255.

-Constantly turning
Make sure your ultrasonic sensor is connected correctly!
Your motors may be on backwards, if so change them or change the directions in the code.

-Wheels don’t move but you hear a buzzing
Use more power!!!!!

-anything else
Leave it in the comments below!

Step 6: Finished

Put some water or windex in front of the cloth and you get this!

Arduino Contest 2020

Participated in the
Arduino Contest 2020