BroomBot

BroomBot

A garbage detecting and collecting automated machine.

Under the guidance of Yashas Shetty.

By
Ashwini Sukhdeve,
Harsh Panchal,
Kunal Singh,
Pawanjot Singh,
Pratik Mistri,

Brief

To build an automated robot/machine that can sense and dispose garbage in its path.

Design Process

The project started out with brainstorming on the different stakeholders and related areas in the campus ranging from students to the canteen staff. Various functions and processes were discus sed with a perspective of introducing technology to facilitate the existing operations. We selected the regular cleaning by the housekeeping staff using brooms. As there is a lot of small scale garbage mostly paper-based, cleaning at regular intervals becomes difficult for the staff.

Concept Generation

For the final concept, the whole machine was divided into smaller components, each performing a task.

The following sub tasks were decided as the key machine operations:
• Move about in the space of room and sense garbage in its path
• Collect the garbage. This process was analogous to ones process while collecting garbage using a broom and a dust pan.
• Controlling motion of the machine in sync with the above tasks.

Basic Electronic Components

• Arduino Demilanove Board
• 2 5V Relay
• 6V DC Motors
• 180o Servo Motor
• 9V Batteries
• Sharp Distance Sensor

Check video on vimeo here

Program

#include <Servo.h> 

Servo Top;  

int pos = 0;    
int GarbageSensor = A0;
int WallSensor = A1;
int RelayPin1 = 4;
int RelayPin2 = 5;

int val;

void setup() 
{ 
  pinMode(GarbageSensor, INPUT);
  pinMode(WallSensor, INPUT);
  pinMode(RelayPin1, OUTPUT);
  pinMode(RelayPin2, OUTPUT);

  Top.attach(9); 
  Top.write(0);
  Serial.begin(9600);
} 

void loop() 
{ 
  val = analogRead(GarbageSensor);
    Serial.println(val);
    if(val > 300)
  {
    collect();
  }

 else 
 {
  digitalWrite(RelayPin1, HIGH);
  digitalWrite(RelayPin2, LOW);
} 
}

void collect()
{
  digitalWrite(RelayPin1, HIGH);
  digitalWrite(RelayPin2, LOW);
  delay(250);

  digitalWrite(RelayPin1,LOW);
  digitalWrite(RelayPin2,LOW);

  Top.write(120);
  delay(500);
  Top.write(0);

}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License