Arduino Powered Automatic Sweeper

So one day I decided to buy a roomba but its too expensive for I am a student and still my priority is my school,

and an idea flashes to my mind stating how 'bout make one, I have a decent background on programming and arduino so why not?

Supplies:

Step 1: Outsourcing Materials

The part for the projects are listed below:

  • Arduino pro mini or any arduino board

I just used pro mini because it is more efficient and smaller

  • L298n motor driver

This motor driver is used to drive the two motors powering the sweeper

  • Push broom

if you don't know what a push broom, it is like a broom with several brushes

and spins as you push it through and collects the dirt

  • 2 DC brushed motors

I just used some misc DC motors i got from broken toy cars

  • Two Ultrasonic Sensors

to sense and avoid walls and obstacles

  • DC power jack

To charge the power banks

  • Power banks

to provide the power needed for the board and motors

  • two USB males cables

to connect to power bank

Step 2: Tools Required

  • A Dremel tool

to cut and put hole where it is needed

  • A Soldering iron

to solder wires, of course.

  • Pliers

to cut wire and help bend the wires

  • glue gun (optional)

to hold the motors together but if you don't just use zipties

  • Screwdriver

to fasten and loosen the screws of several components

Step 3: Finding Where to Put the Motors and Sensors and Paint Job

I estimated where to put the sensors by just putting them above and i marked the circles which will be later then cut by the dremel and while I'm at it i painted it with a metallic blue spray paint

Step 4: Putting Holes

  • So i put four holes in front of the upper body broom two on the left and two on the right for the sensors to go in
  • and i also put two rectangular holes in the bottom of the lower body of the broom for the motors to go in

Step 5: Puttng It All Together

I hot glued all the sensor and motors to the body, for the motors i put it in the lower body and supported it with wooden dowels so it will not jiggle around. for the sensors i also hot glued them in their proper holes, i also made a breakout board for the pro mini so it will be easier to wire and trouble shoot. while the motor driver is in the front of the cleaner

Step 6: Code

the code was made in the Arduino IDE and it is c plus modified, of course. if you want to download the code just press the link down below. so there a re two parts of the code in layman's term, the first part's job is to get the data form the sensors so the board can analyze it and the second part's job is to assign which motors spin and maneuver, that's it just two simple parts. if you are wondering how did i upload the code, i just use an arduino uno to upload

Step 7: Hardwiring It

i used #12 gauge hookup wire to connect every thing to its proper place. fritzing schematic is given above .

the VCC and GND of the sensors are connected to the power banks which supplies 5 volts and trig pin an echo pin is connected to their appropriate pins. also the pins for controlling the motor is defined in the code

Step 8: Closing It Up

i put the power bank on top because there is no space for the two massive powerbank inside i also put it on the front to add weight hence putting more traction on the front wheels which is driving the brush. i also screwed all the things back again

Step 9: Finishing Touches

this is the last step of this long instructable hope you enjoy making it and feel free to modify and change it.

Arduino Contest 2019

This is an entry in the
Arduino Contest 2019

Share

    Recommendations

    • Fandom Contest

      Fandom Contest
    • IoT Challenge

      IoT Challenge
    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest

    4 Discussions

    0
    None
    ferslashpop

    4 weeks ago

    have you ever think about the "auto dock-charging" station? roomba does it, but i have searching a while if some one has a simple solution for a auto charge and... no one has...

    2 replies

    I think wireless charging is good and less complex but its so inneficient and take longer to charge

    I have thought of it though but it was too complex for me and im still thinking how do i make it auto charge