Skip to content

aarush0101/Ascle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Ascle - Intelligent Trash Can System

An Arduino-based intelligent trash can system with automatic lid control, ultrasonic sensors for proximity detection, and support for multiple motor types.

License: MIT C++ PlatformIO

πŸ“‹ Table of Contents

✨ Features

  • Automatic Lid Control: Supports DC, Servo, Stepper, and BLDC motors
  • Proximity Detection: Five ultrasonic sensors (front, back, left, right, top)
  • Motor Auto-Detection: Automatically detects connected motor type
  • FreeRTOS Support: Optional RTOS integration for ESP32 platforms
  • Cross-Platform: Compatible with AVR (Arduino Uno/Mega) and ESP32
  • Interrupt-Driven Sensors: Non-blocking ultrasonic sensor readings
  • Modular Design: Easy to extend and customize

πŸ”§ Hardware Requirements

Microcontroller

  • Arduino Uno/Mega (AVR)
  • ESP32 (recommended for FreeRTOS support)
  • Or any compatible Arduino board

Sensors

  • 5Γ— HC-SR04 Ultrasonic Sensors (or compatible)

Motor Options (choose one)

  • DC Motor: H-bridge driver (L298N/L293D)
  • Servo Motor: Standard hobby servo (180Β°)
  • Stepper Motor: Stepper driver (A4988/DRV8825)
  • BLDC Motor: ESC (Electronic Speed Controller)

Additional Components

  • Status LED (pin 13)
  • Power supply (5V for logic, motor voltage as required)
  • Jumper wires and breadboard

πŸ’» Software Requirements

Required Libraries

πŸ“₯ Installation

Using PlatformIO (Recommended)

  1. Clone the repository:

    git clone https://github.com/aarush0101/Ascle.git
    cd Ascle
  2. Open in PlatformIO:

    pio run
  3. Upload to board:

    pio run --target upload

Using Arduino IDE

  1. Clone the repository:

    git clone https://github.com/aarush0101/Ascle.git
  2. Copy libraries:

    • Copy include/AccelStepper to Arduino libraries folder
    • Copy include/Servo to Arduino libraries folder
  3. Open src/main.cpp in Arduino IDE

  4. Select your board and upload

πŸŽ›οΈ Motor Types

DC Motor

Servo Motor

  • Pin: SERVO_PIN
  • Type: Standard hobby servo (0-180Β°)
  • Control: Angle-based (90Β° = neutral)

Stepper Motor

BLDC Motor

  • Pin: SERVO_PIN (PWM for ESC)
  • Controller: Standard ESC
  • Control: Pulse width (1000-2000ΞΌs)

πŸ“‘ Configuration

🀝 Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch:
    git checkout -b feature/YourFeature
  3. Follow coding standards (see .github/copilot-instructions.md and .rules)
  4. Add file header comments to all new files
  5. Test thoroughly on target hardware
  6. Submit a pull request

See CONTRIBUTING.md for detailed guidelines.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Third-Party Licenses

πŸ“§ Contact

Author: AARUSH MASTER

πŸ™ Acknowledgments

πŸ”„ Changelog

v1.1.0 - 31/10/2025

  • Added BLDC motor support
  • Implemented FreeRTOS compatibility layer
  • Enhanced sensor reading with interrupts
  • Improved motor auto-detection

v1.0.0 - 31/10/2025

  • Initial release
  • DC, Servo, and Stepper motor support
  • Five ultrasonic sensors
  • Basic lid control functionality

⭐ Star this repository if you find it useful!

About

Automatic trash collector implemented with Arudino and sensor arrays.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published