Phone : +8801894-801150 Email : projects.zeronebd@gmail.com
support 24/7

#MRD148 Automatic 10 Bottle Filling, Counting & Missing Bottle Detection System.

Automatic 10 Bottle Filling, Counting & Missing Bottle Detection System.this is the liquid bottle filling automation & management system demo project of engineering final year student.This project is applicable to Electrical and Electronics Engineering students and Mechanical students. This is really an innovative project.

Project Fee:Negotiable

Project Discount:0

Project Duration:7 Days

About This Project:

The field of automation has a notable impact in a wide range of industries beyond manufacturing. Automation plays an increasingly important role in the world economy. Filling is a task carried out by a machine that packages liquid products such as cold drinks or water. In past, humans were the main method for controlling a system. More recently, electricity has been used for control and electrical control is based on microcontrollers for various purposes like medicines, pharmaceutical plants, chemical plants etc. There microcontrollers control the complete working of the system. It is common to use microcontrollers to make simple logical control decision. The automation in bottle filling industry comes with increased electrical components. Essential requirements of each component in the system is important to be studied in ordered to understand how each part works in coordination with other parts in the system. The way our 10 Bottle Filling Machine Using Arduino works is that we take the 220V rms from the supply voltage and then give it to the SMPS, the SMPS has a step-down transformer inside that stepped that voltage down to 5V. We feed this voltage to the Arduino Nano for it to run. The Arduino Nano is the main brain of this system. Once the system is on, the bottles will continue to rotate and the pump will fill the bottle with liquid with the help of a DC Pump motor. Here the bottles are moved by the used of stepper motors. After fill the bottle one by one and the motor will change the position of the bottle. In addition, the system is equipped with an IR sensor that will count the bottles, the empty space will not fill the liquid, turn the system to the next slot. Here an ultrasonic sensor with microcontroller is fitted which will check the amount of liquid in the liquid tank. This system has two buttons. After pressing 1st button system will fill the bottle with 500ml liquid, and pressing the 2nd switch system will fill 250ml of liquid. This is the main working procedure of our system.


Block Diagram:


Figure: Block Diagram of Automatic 10 Bottle  Filling, Counting and Missing Bottle Detection System.

Circuit Diagram:


Figure: Circuit Diagram of Automatic 10 Bottle  Filling, Counting and Missing Bottle Detection System.

"Customization of code, circuit, hardware may be required for full project implementation."

Required Instruments:

-        SMPS(Switch Mode Power Supply.)

-        Ultrasonic Sensor.

-        IR Sensor.

-        LCD Display.

-        Stepper Motor Driver.

-        LCD Display.

-        i2C Module.

-        Pump Motor.

-        Stepper Motor.

-        Arduino Nano.

সল্পমূল্যে ইলেকট্রনিক্স পার্টস কিনুন : www.zeronetechbd.com/

Advantages:

There are many advantages of our project because of its accuracy. Some of the advantages are pointed out below:

-        Better utilization of electrical machineries.

-        Consistency good.

-        Increase production speed.

-        Simple operation System.

-        Filling Versatility.

-        Scalable.


Applications:

The application areas for this project in this modern and practical world are huge and some of these are given below:

-        It can be used in industrial area.

-        Medicine factory.

-        Food/juice Factory

-        Chemical Factory.

-        Mineral Water Factory.

N.B: Any modification of this project can be done as per your requirement. We will make the project according to your needs. Contact us with your any innovative engineering projects idea. We will help you to implement your project.

Office:

Road#04, Plot#03, Sec#6/Ka,

Mirpur-2, Dhaka-1216

(Opposite of the Mirpur Cricket Stadium

4 No. Gate.)


Facebook: fb/zeroneprojects

YouTube:YT/zeroneprojects

e-Mail :

projects.zeronebd@gmail.com

☎️Contact:

01676 99 80 99 , 01714 80 84 02


CODE

#include 
#include 
#include 
LiquidCrystal_I2C lcd(0x27 ,16, 2);
const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
#define trigPin 2
#define echoPin 3
int fillingsensor =4;
const int  Up_buttonPin   = 5;    // the pin that the pushbutton is attached to
int pump = 6;
int switch1 = 7;
int switch2 = 8;

bool bPress = false;
int filling;
int buttonPushCounter = 0;   // counter for the number of button presses
int up_buttonState = 0;         // current state of the up button
int up_lastButtonState = 0;     // previous state of the up button

void setup() {
  // set the speed at 60 rpm:
  myStepper.setSpeed(200);
  Serial.begin(9600);

 lcd.init();
 lcd.backlight();  
 lcd.clear();
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
 pinMode( Up_buttonPin , INPUT_PULLUP);
 pinMode(fillingsensor, INPUT);
    pinMode(pump, OUTPUT);
 pinMode(switch1, INPUT);
 pinMode(switch2, INPUT);

}

void loop() {

   Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(1000);


 filling = digitalRead(fillingsensor);
    if(digitalRead(Up_buttonPin))
   checkUp();
       if( bPress){
       bPress = false;

   }
  float duration, distance;
  digitalWrite(trigPin, LOW); 
  delayMicroseconds(2);
  
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

   
  duration = pulseIn(echoPin, HIGH);
  distance = (duration / 2) * 0.0344;
  int water = distance *7.2;

    Serial.print("Distance = ");
    Serial.print(distance);
    Serial.println(" cm");
    Serial.print("Distance = ");
  lcd.setCursor(0,0); 
        lcd.print("House Dry:"); 
    lcd.print(water);
    lcd.println("%");
    delay(200);
     checkUp();

if(filling==LOW && switch1 == HIGH && switch2 == LOW){
digitalWrite(pump,HIGH);
delay(7000);
digitalWrite(pump,LOW);
        
    lcd.setCursor(0,0); 
    lcd.print("House Dry:"); 
    lcd.print(water);
    lcd.println("%");
delay(100);        
checkUp();
}
if(filling==LOW && switch1 == LOW && switch2 == HIGH){
digitalWrite(pump,HIGH);
delay(10000);
digitalWrite(pump,LOW);
        
  lcd.setCursor(0,0); 
  lcd.print("House Dry:"); 
  lcd.print(water);
  lcd.println("%");
delay(100);        
checkUp();
}
if(filling==LOW && switch1 == LOW && switch2 == LOW){
    digitalWrite(6,LOW);
   checkUp();
  lcd.setCursor(0,0); 
        lcd.print("House Dry:"); 
    lcd.print(water);
    lcd.println("%       ");
}
if(filling==HIGH&& switch1 == HIGH && switch2 == LOW){
    digitalWrite(6,LOW);
   checkUp();
  lcd.setCursor(0,0); 
        lcd.print("House Dry:"); 
    lcd.print(water);
    lcd.println("%       ");
}

if(filling==HIGH&& switch1 == LOW && switch2 == HIGH){
    digitalWrite(6,LOW);
   checkUp();
  lcd.setCursor(0,0); 
        lcd.print("House Dry:"); 
    lcd.print(water);
    lcd.println("%       ");
}
if(filling==HIGH&& switch1 == LOW && switch2 == LOW){
    digitalWrite(6,LOW);
   checkUp();
  lcd.setCursor(0,0); 
        lcd.print("House Dry:"); 
    lcd.print(water);
    lcd.println("%       ");
}

  delay(100);
}


void checkUp()
{
  up_buttonState = digitalRead(Up_buttonPin);

  if (up_buttonState != up_lastButtonState) {

    if (up_buttonState == LOW) {
        bPress = true;

      buttonPushCounter++;
      Serial.println("on");
      Serial.print("number of button pushes: ");
      Serial.println(buttonPushCounter);


        lcd.setCursor(9,1);
  lcd.print(buttonPushCounter);
  lcd.setCursor(3,1);
  lcd.print("Total:");
 delay(200);
    } else {

      Serial.println("off");
    }
    // Delay a little bit to avoid bouncing
    delay(50);
  }
  
  up_lastButtonState = up_buttonState;
}