Tommy Ituenisaac umoh
Created June 30, 2020 © Apache-2.0

ATOM-DRIP Automated Mobile Dispenser

The ATOM-Drip is mobile and unique, it also presents rare entrepreneurial opportunity, ultimately transforming health safety technologies.

AdvancedFull instructions provided4 hours24
ATOM-DRIP Automated Mobile Dispenser

Things used in this project

Hardware components

DC-DC CHARGE PUMP, DOUBLER/INV
DC-DC CHARGE PUMP, DOUBLER/INV
×1
DS1100-SK Programmable RS232 Controller (The device. Power adaptor included)
Tibbo Technology DS1100-SK Programmable RS232 Controller (The device. Power adaptor included)
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

12V, 40W Soldering Pencil Set for RT3 Soldering Tips with Safety Rest contains Stop and Go Function
12V, 40W Soldering Pencil Set for RT3 Soldering Tips with Safety Rest contains Stop and Go Function
Distance Meter, Laser
Distance Meter, Laser
Tape, Translucent
Tape, Translucent

Story

Read more

Custom parts and enclosures

ATOM Drip Custom FIle

Please see images invention

Schematics

ATOM-DRIP Automated Hand Sanitizer Machine

Please find attached photo file

Code

ATOM Drip code Text

C/C++
The code is attached
/////////////////////////////////
//Aurthor::isaac umoh///////////
//Date::15:May:2020////////////
/////////////////////////////////
#define SOAP        9
#define WATER       8
#define BUZZER      11
#define trig        2
#define echo        3

//VARIABLES TO STORE DISTANCE
float distance;

//will store last updated time
unsigned long previousMillis = 0;    


bool soap_flag = true;
bool water_flag = false;
bool flag = true;
void setup() {
  Serial.begin(9600);
  Serial.println("COVID19 Solution");
  pinMode(SOAP, OUTPUT);
  pinMode(WATER, OUTPUT);
  pinMode(BUZZER, OUTPUT);
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
}

void loop() {
  distance = getDistance();
  Serial.println("Distance: " + String(distance));
  delay(100);
  
  if(distance <= 10 && soap_flag == true && water_flag == false && flag == true) {
      uint32_t start_time = millis();
      while((millis()- start_time) < 2000)  { //sample for 2 Sec
        digitalWrite(SOAP, HIGH);
      }
      flag = false;
      digitalWrite(SOAP, LOW);
  }

   if(distance >= 12 && flag == false) {
      soap_flag = false;
      water_flag = true;
   }

  if(distance <= 10 && soap_flag == false && water_flag == true && flag == false) {
      float dist;
      while(dist <= 10) {
        dist = getDistance();
        digitalWrite(WATER, HIGH);
      } 
        flag = true;
        digitalWrite(WATER, LOW);
  }

  if(distance >= 12 && flag == true) {
      soap_flag = true;
      water_flag = false;
   }
}


float getDistance() {
  long duration;
  float distance;
  digitalWrite(trig, LOW); 
  delayMicroseconds(2); 
  digitalWrite(trig, HIGH);
  delayMicroseconds(10); 
  digitalWrite(trig, LOW);
  duration = pulseIn(echo, HIGH);
  distance = duration / 58.2;
  delay(50);
  return distance;
}






//  if(distance <= 10 && soap_flag == true && water_flag == false && flag == true) {
//      digitalWrite(SOAP, HIGH);
//      delay(1000);
//      flag = false;
//      digitalWrite(SOAP, LOW);
//  }
//
//   if(distance >= 12 && flag == false) {
//      soap_flag = false;
//      water_flag = true;
//   }
//
//  if(distance <= 10 && soap_flag == false && water_flag == true && flag == false) {
//      digitalWrite(WATER, HIGH);
//      delay(1000);
//      flag = true;
//      digitalWrite(WATER, LOW);
//  }
//
//  if(distance >= 12 && flag == true) {
//      soap_flag = true;
//      water_flag = false;
//   }

Credits

Tommy Ituen

Tommy Ituen

1 project • 1 follower
isaac umoh

isaac umoh

1 project • 0 followers
Thanks to ISAAC UMOH.

Comments