Circuit Documentation
Summary
This circuit is an alcohol dispenser system that uses an ultrasonic sensor to detect the presence of a hand and activates a water pump to dispense alcohol. The system is controlled by an Arduino UNO microcontroller.
Component List
Ultrasonic Sensor
- Description: Measures distance by using ultrasonic waves.
- Pins: +VCC, Trigger, Echo, GND
Arduino UNO
- Description: Microcontroller board based on the ATmega328P.
- Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
Resistor
- Description: Limits the current flow in the circuit.
- Pins: pin1, pin2
- Properties:
Battery 12V
- Description: Provides power to the circuit.
- Pins: +, -
NPN-Transistor
- Description: Acts as a switch to control the water pump.
- Pins: E, C, B
5V Mini Water Pump
- Description: Dispenses alcohol when activated.
- Pins: positive pin, negative pin
Wiring Details
Ultrasonic Sensor
- +VCC: Connected to Arduino UNO 3.3V
- Trigger: Connected to Arduino UNO D5
- Echo: Connected to Arduino UNO D4
- GND: Connected to Arduino UNO GND
Arduino UNO
- 3.3V: Connected to Ultrasonic Sensor +VCC
- D5: Connected to Ultrasonic Sensor Trigger
- D4: Connected to Ultrasonic Sensor Echo
- GND: Connected to Ultrasonic Sensor GND
- D6: Connected to Resistor pin2
- 5V: Connected to NPN-Transistor B
Resistor
- pin1: Connected to NPN-Transistor C
- pin2: Connected to Arduino UNO D6
Battery 12V
- +: Connected to 5V Mini Water Pump positive pin
- -: Connected to NPN-Transistor B and Arduino UNO 5V
NPN-Transistor
- E: Connected to 5V Mini Water Pump negative pin
- C: Connected to Resistor pin1
- B: Connected to Battery 12V - and Arduino UNO 5V
5V Mini Water Pump
- positive pin: Connected to Battery 12V +
- negative pin: Connected to NPN-Transistor E
Documented Code
#define trigger 5
#define echo 4
#define Relay 6
float time = 0, distance = 0;
void setup() {
Serial.begin(9600);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
pinMode(Relay, OUTPUT);
delay(200);
}
void loop() {
measure_distance();
Serial.println(distance);
if (distance < 5) {
digitalWrite(Relay, HIGH);
} else {
digitalWrite(Relay, LOW);
}
delay(100);
}
void measure_distance() {
digitalWrite(trigger, LOW);
delayMicroseconds(2);
digitalWrite(trigger, HIGH);
delayMicroseconds(10);
digitalWrite(trigger, LOW);
delayMicroseconds(2);
time = pulseIn(echo, HIGH);
distance = time * 200 / 20000;
}
This code is for the Arduino UNO microcontroller and is responsible for measuring the distance using the ultrasonic sensor and controlling the water pump based on the measured distance.