Stufin
Home Quick Cart Profile

Automatic Sanitizer Dispenser Control Board

Buy Now

Sensor Integration

The board connects to various sensors, including infrared, ultrasonic, or capacitive sensors, to detect the presence of a user's hand or object.

Dispenser Control

Upon detection, the board sends a signal to the dispenser motor to activate and dispense a predetermined amount of sanitizer.

Timer Control

The board features a built-in timer that allows for adjustable dispenser intervals, ensuring a consistent and controlled flow of sanitizer.

LED Indicators

The board is equipped with LED indicators that provide visual feedback on the dispenser's status, including power, sensor detection, and dispenser operation.

Communication

The board can integrate with various communication protocols, such as Wi-Fi, Bluetooth, or RS-485, to enable remote monitoring and control of the dispenser system.

Key Features

  • Microcontroller: The board is powered by a high-performance, low-power microcontroller that provides efficient processing and reliable operation.
  • Sensor Compatibility: The board supports a range of sensor types and brands, allowing for flexibility in system design and integration.
  • Adjustable Dispenser Settings: The board allows for customizable dispenser settings, including the amount of sanitizer dispensed, dispenser interval, and sensor sensitivity.
  • Power Management: The board features a built-in power management system that ensures efficient power consumption and minimizes heat generation.
  • Robust Design: The board is designed with a robust architecture that provides protection against electrical noise, surges, and short circuits.
  • Compatibility: The board is compatible with a range of power supplies, including AC-DC converters and batteries, making it suitable for various applications.
  • Expansion Capabilities: The board features expansion headers that enable the integration of additional components, such as displays, keypads, or communication modules.

Specifications

Microcontroller

[Insert microcontroller model number]

Operating Voltage

5V DC

Operating Frequency

[Insert operating frequency]

Sensor Interface

[Insert sensor interface type, e.g., digital, analog]

Dispenser Interface

[Insert dispenser interface type, e.g., relay, transistor]

Communication Interface

[Insert communication interface type, e.g., Wi-Fi, Bluetooth, RS-485]

Dimensions

[Insert dimensions, e.g., 50mm x 50mm]

Operating Temperature

-20C to 70C

Applications

The Automatic Sanitizer Dispenser Control Board is suitable for various applications, including

Public Facilities

Restrooms, hospitals, schools, and other public areas where hygiene is a top priority.

Commercial Spaces

Offices, restaurants, retail stores, and other commercial environments that require touchless dispenser systems.

Industrial Settings

Manufacturing facilities, warehouses, and other industrial environments where employee hygiene is essential.

By providing a comprehensive and reliable control system, the Automatic Sanitizer Dispenser Control Board enables the development of efficient and hygienic IoT-enabled sanitizer dispenser systems.

Pin Configuration

  • Automatic Sanitizer Dispenser Control Board Pinout Description
  • The Automatic Sanitizer Dispenser Control Board is a dedicated Printed Circuit Board (PCB) designed to control and monitor the dispensing of sanitizers in various applications. The board features a range of input/output pins that enable connections to various sensors, actuators, and peripherals. Below is a detailed description of each pin on the Automatic Sanitizer Dispenser Control Board:
  • Pinout Structure:
  • The Automatic Sanitizer Dispenser Control Board has a total of 24 pins, arranged in two rows of 12 pins each. The pinout structure is as follows:
  • Row 1 (Top Row):
  • 1. VCC (Power Supply): This pin provides power to the control board. Connect a 5V DC power source to this pin.
  • 2. GND (Ground): This pin serves as the ground reference point for the control board. Connect to the negative terminal of the power source.
  • 3. UART_TX (Transmit): This pin is used for serial communication and transmits data from the control board to an external device, such as a microcontroller or a PC.
  • 4. UART_RX (Receive): This pin is used for serial communication and receives data from an external device, such as a microcontroller or a PC.
  • 5. I2C_SDA (Serial Data): This pin is part of the I2C (Inter-Integrated Circuit) bus and carries serial data between devices.
  • 6. I2C_SCL (Serial Clock): This pin is part of the I2C bus and provides the clock signal for serial data transmission.
  • 7. SENSOR_VCC (Sensor Power): This pin provides power to external sensors connected to the control board.
  • 8. SENSOR_GND (Sensor Ground): This pin serves as the ground reference point for external sensors connected to the control board.
  • 9. MOTOR_CONTROL_1: This pin controls the direction and speed of the sanitizer dispenser motor.
  • 10. MOTOR_CONTROL_2: This pin controls the direction and speed of the sanitizer dispenser motor.
  • 11. LED_INDICATOR: This pin connects to an LED indicator, which provides visual feedback for the control board's status.
  • 12. reserved (Not Used): This pin is not used and should be left unconnected.
  • Row 2 (Bottom Row):
  • 1. PWR_LED (Power LED): This pin connects to a power indicator LED, which indicates the presence of power on the control board.
  • 2. SWITCH_INPUT (Switch Input): This pin connects to an external switch or button, which can be used to trigger the sanitizer dispenser.
  • 3. Timer_INPUT (Timer Input): This pin connects to an external timer or scheduling module, which can be used to control the dispenser's timing.
  • 4. flow_SENSOR (Flow Sensor): This pin connects to a flow sensor, which measures the amount of sanitizer dispensed.
  • 5. LEVEL_SENSOR (Level Sensor): This pin connects to a level sensor, which monitors the sanitizer liquid level.
  • 6. TEMP_SENSOR (Temperature Sensor): This pin connects to a temperature sensor, which monitors the ambient temperature.
  • 7. reserved (Not Used): This pin is not used and should be left unconnected.
  • 8. reserved (Not Used): This pin is not used and should be left unconnected.
  • 9. reserved (Not Used): This pin is not used and should be left unconnected.
  • 10. reserved (Not Used): This pin is not used and should be left unconnected.
  • 11. reserved (Not Used): This pin is not used and should be left unconnected.
  • 12. reserved (Not Used): This pin is not used and should be left unconnected.
  • Connecting the Pins:
  • When connecting the pins, ensure that you use the correct voltage levels and follow proper wiring guidelines to avoid damage to the control board or connected components. Refer to the datasheet and documentation provided with the board for specific connection diagrams and guidelines.
  • Note: The specific pin connections may vary depending on the particular use case and application. Always consult the documentation and datasheet provided with the board for specific connection guidelines and recommendations.

Code Examples

Automatic Sanitizer Dispenser Control Board Documentation
Overview
The Automatic Sanitizer Dispenser Control Board is a microcontroller-based board designed to control and automate the dispensing of sanitizers in various applications, such as public restrooms, healthcare facilities, and commercial buildings. This board is equipped with sensors, relays, and communication interfaces to facilitate seamless integration with other IoT devices.
Technical Specifications
Microcontroller: ESP32
 Operating Voltage: 5V
 Communication Interfaces: Wi-Fi, UART, I2C
 Sensors: Infrared proximity sensor, Reed switch
 Relays: 2x SPDT relays (for pump and valve control)
 Power Consumption: 50mA (average), 100mA (peak)
Programming the Control Board
The Automatic Sanitizer Dispenser Control Board can be programmed using the Arduino IDE or ESP32's native SDK. The following code examples demonstrate how to use this component in various contexts:
Example 1: Basic Automatic Dispensing
In this example, we will demonstrate how to use the control board to automatically dispense sanitizer when someone approaches the dispenser.
```c
#include <WiFi.h>
#include <Arduino.h>
#define PROXIMITY_SENSOR_PIN 32
#define RELAY_PIN 15
#define DISPENSE_TIME 500 // milliseconds
void setup() {
  // Initialize the proximity sensor pin as an input
  pinMode(PROXIMITY_SENSOR_PIN, INPUT);
  
  // Initialize the relay pin as an output
  pinMode(RELAY_PIN, OUTPUT);
  
  // Initialize Wi-Fi (optional)
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to Wi-Fi...");
  }
  Serial.println("Connected to Wi-Fi");
}
void loop() {
  // Read the proximity sensor value
  int sensorValue = digitalRead(PROXIMITY_SENSOR_PIN);
  
  // If someone is near, dispense sanitizer
  if (sensorValue == HIGH) {
    digitalWrite(RELAY_PIN, HIGH);
    delay(DISPENSE_TIME);
    digitalWrite(RELAY_PIN, LOW);
  }
  
  // Optional: Send a notification to a central server or IoT hub
  // WiFiClient client;
  // client.setServer("http://example.com/sanitizer_api", 80);
  // client.println("Dispensed sanitizer!");
  // client.stop();
}
```
Example 2: IoT-Enabled Sanitizer Dispenser with Real-Time Monitoring
In this example, we will demonstrate how to use the control board to connect to a cloud-based IoT platform and monitor the sanitizer dispenser's status in real-time.
```c
#include <WiFi.h>
#include <Arduino.h>
#include <HTTPClient.h>
#define RELAY_PIN 15
#define DISPENSE_TIME 500 // milliseconds
const char ssid = "your_wifi_ssid";
const char password = "your_wifi_password";
const char iotHubUrl = "https://your_iot_hub.com/api/sanitizer";
WiFiClient client;
HTTPClient http;
void setup() {
  // Initialize the relay pin as an output
  pinMode(RELAY_PIN, OUTPUT);
  
  // Initialize Wi-Fi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to Wi-Fi...");
  }
  Serial.println("Connected to Wi-Fi");
}
void loop() {
  // Dispense sanitizer every 10 seconds
  digitalWrite(RELAY_PIN, HIGH);
  delay(DISPENSE_TIME);
  digitalWrite(RELAY_PIN, LOW);
  
  // Send a POST request to the IoT hub with the dispenser's status
  http.begin(client, iotHubUrl);
  http.addHeader("Content-Type", "application/json");
  int httpResponseCode = http.POST("{""status"":""dispensed""}");
  
  // Check the response code
  if (httpResponseCode > 0) {
    Serial.println("Sent data to IoT hub successfully");
  } else {
    Serial.println("Error sending data to IoT hub");
  }
  http.end();
  
  // Wait for 10 seconds before the next dispense cycle
  delay(10000);
}
```
Example 3: Integration with a Cloud-Based Dashboard
In this example, we will demonstrate how to use the control board to integrate with a cloud-based dashboard, enabling remote monitoring and control of the sanitizer dispenser.
```c
#include <WiFi.h>
#include <Arduino.h>
#include <WiFiClient.h>
#include <ArduinoJson.h>
#define RELAY_PIN 15
#define DISPENSE_TIME 500 // milliseconds
const char ssid = "your_wifi_ssid";
const char password = "your_wifi_password";
const char dashboardUrl = "https://your_cloud_dashboard.com/api/sanitizer";
WiFiClient client;
DynamicJsonDocument jsonDoc(2048);
void setup() {
  // Initialize the relay pin as an output
  pinMode(RELAY_PIN, OUTPUT);
  
  // Initialize Wi-Fi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to Wi-Fi...");
  }
  Serial.println("Connected to Wi-Fi");
}
void loop() {
  // Read the dispenser's status
  bool isDispenserEmpty = false; // Replace with actual sensor reading
  
  // Create a JSON object to send to the dashboard
  jsonDoc["dispenser_status"] = isDispenserEmpty ? "empty" : "full";
  jsonDoc["last_dispense_time"] = millis();
  
  // Convert the JSON object to a string
  String jsonString;
  jsonDoc.printTo(jsonString);
  
  // Send a POST request to the dashboard with the dispenser's status
  client.setServer(dashboardUrl, 80);
  client.println("POST /api/sanitizer HTTP/1.1");
  client.println("Host: your_cloud_dashboard.com");
  client.println("Content-Type: application/json");
  client.println("Content-Length: " + String(jsonString.length()));
  client.println();
  client.print(jsonString);
  
  // Check the response code
  int httpResponseCode = client.responseStatusCode();
  if (httpResponseCode == 200) {
    Serial.println("Sent data to dashboard successfully");
  } else {
    Serial.println("Error sending data to dashboard");
  }
  
  // Wait for 10 seconds before the next update cycle
  delay(10000);
}
```
These code examples demonstrate how the Automatic Sanitizer Dispenser Control Board can be used in various IoT applications. By integrating this board with other IoT devices and cloud-based services, you can create a comprehensive sanitation management system that ensures a clean and healthy environment.