Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.
स्मार्ट डस्टबिन: the finished build
UnoStudent projects

टच-फ़्री स्मार्ट डस्टबिन (Arduino Uno + HC-SR04 + servo)

हाथ हिलाइए, ढक्कन खुल जाएगा — 3 सेकंड बाद अपने-आप बंद।

कठिनाई
Easy
समय
1.5 घंटे
पार्ट्स की लागत
₹1,060 · $12
Verified — core avr 1.8.8, Servo 1.3.0, 3 Nov 2026Compile-only

सामुदायिक ड्राफ़्ट — गलती बताएं

पार्ट्स लिस्ट

पार्टसंख्यालगभगखरीदें
Arduino Uno R3 (CH340 clone)1₹450खरीदें Arduino Uno R3 (CH340 clone)
HC-SR04 ultrasonic sensor1₹90खरीदें HC-SR04 ultrasonic sensor
SG90 micro servo1₹110खरीदें SG90 micro servo
470 µF / 16 V capacitor (servo supply)1₹10खरीदें 470 µF / 16 V capacitor (servo supply)
Dustbin with a hinged lid + a stiff wire or ice-cream stick arm1₹200खरीदें Dustbin with a hinged lid + a stiff wire or ice-cream stick arm
5 V 2 A adapter or USB power bank1₹200खरीदें 5 V 2 A adapter or USB power bank
कुल₹1,060

एफ़िलिएट सूचना: “खरीदें” लिंक से FlashReady को बिना अतिरिक्त लागत के छोटा कमीशन मिल सकता है। कीमतें अनुमानित हैं।

वायरिंग

Arduino Uno R3Only the pins used are shown · 5 V logicHC-SR04 ultrasonic sensorSG90 micro servo (9 g)5VGNDD6D9D10VCCTrigEchoGNDSIGVCCGND
Every connection
Arduino Uno R3Part · pinWireNotes
D9HC-SR04 ultrasonic sensor · Trigpurple
D10HC-SR04 ultrasonic sensor · Echogreen5 V वाले Uno पर 5 V echo सीधे लगाना ठीक है
5VHC-SR04 ultrasonic sensor · VCCred
GNDHC-SR04 ultrasonic sensor · GNDblack
D6SG90 micro servo (9 g) · SIGorange
5VSG90 micro servo (9 g) · VCCred5V/GND के बीच 470 µF कैपेसिटर के साथ एक SG90 के लिए ठीक है; बड़े servo के लिए अलग 5 V सप्लाई लें
GNDSG90 micro servo (9 g) · GNDblack

बोर्ड की ख़ास बातें: HC-SR04 को ढक्कन के आगे ऊपर या बाहर की तरफ़ मुँह करके लगाएँ। यह लगभग 15° चौड़े cone में देखता है, इसलिए ठीक ऊपर रखा हाथ सबसे अच्छे से पकड़ में आता है। Servo लाइब्रेरी Timer1 इस्तेमाल करती है, जिससे पिन 9 और 10 पर PWM बंद हो जाता है। यहाँ कोई दिक्कत नहीं — ये सेंसर के लिए सादे digital पिन की तरह चल रहे हैं। SG90 चलना शुरू करते समय कई सौ mA खींचता है। ढक्कन हिलते ही Uno रीसेट हो जाए, तो कैपेसिटर लगाएँ या servo को अलग 5 V सप्लाई से चलाएँ (GND दोनों का साझा रखें)।

कोड

smart-dustbin.inoArduino C++Open in PlaygroundOpen in PlaygroundFlash
// Touch-free smart dustbin — Arduino Uno R3 + HC-SR04 + SG90 servo
// HC-SR04 TRIG D9, ECHO D10; SG90 signal D6. The lid opens when a hand comes within 20 cm.
#include <Servo.h>

constexpr uint8_t TRIG_PIN = 9;
constexpr uint8_t ECHO_PIN = 10;
constexpr uint8_t SERVO_PIN = 6;
constexpr int LID_CLOSED = 0;     // servo angles — adjust for how the arm is mounted
constexpr int LID_OPEN = 100;
constexpr float OPEN_BELOW_CM = 20.0;
constexpr unsigned long STAY_OPEN_MS = 3000;

Servo lid;
bool open = false;
unsigned long openedAt = 0;

float distanceCm() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  unsigned long us = pulseIn(ECHO_PIN, HIGH, 25000UL);  // ~4 m max
  return us ? us * 0.0343f / 2.0f : 999.0f;
}

void setup() {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  lid.attach(SERVO_PIN);
  lid.write(LID_CLOSED);
  Serial.begin(9600);
}

void loop() {
  float d = distanceCm();
  if (d < OPEN_BELOW_CM) {
    if (!open) {
      lid.write(LID_OPEN);
      open = true;
      Serial.println(F("Lid open"));
    }
    openedAt = millis();  // keep it open while the hand is still there
  } else if (open && millis() - openedAt > STAY_OPEN_MS) {
    lid.write(LID_CLOSED);
    open = false;
    Serial.println(F("Lid closed"));
  }
  delay(100);
}

Compiled for uno on avr 1.8.8 with Servo 1.3.0 · 3 Nov 2026

यह कैसे काम करता है

हाथ लगाए बिना खुलने वाला डस्टबिन स्कूल प्रदर्शनी का पुराना पसंदीदा प्रोजेक्ट है — और रसोई में सच में काम का भी। डिब्बे के ऊपर हाथ रखिए, ढक्कन खुल जाएगा; हाथ हटाइए, तीन सेकंड बाद ढक्कन बंद।

HC-SR04 40 kHz की अल्ट्रासोनिक पिंग भेजकर और उसकी गूँज (echo) लौटने का समय नापकर दूरी निकालता है। स्केच इसे D9 से trigger करता है, D10 पर pulseIn से echo पल्स नापता है, और माइक्रोसेकंड को सेंटीमीटर में बदलता है। 25 ms का timeout रेंज को लगभग 4 m तक सीमित रखता है, ताकि echo न आने पर loop अटके नहीं।

जब कोई चीज़ 20 cm से पास आती है, तो D6 पर लगा SG90 servo खुलने वाले कोण पर घूम जाता है। हर नई पहचान बंद होने का समय आगे खिसका देती है, इसलिए जब तक हाथ वहाँ है, ढक्कन खुला रहता है। तीन सेकंड तक कुछ न दिखे, तो ढक्कन बंद हो जाता है।

Servo के कोण इस पर निर्भर करते हैं कि arm ढक्कन से कैसे जुड़ी है। LID_CLOSED और LID_OPEN तब तक बदलें जब तक ढक्कन पूरा खुले और servo अपने आख़िरी सिरे पर ज़ोर न लगाए।

समस्या समाधान

ढक्कन अपने-आप खुल जाता है

सेंसर को ढक्कन या डिब्बे का किनारा दिख रहा है। उसे थोड़ा तिरछा करें, या OPEN_BELOW_CM को 15 cm कर दें।

रुके हुए servo में झटके (jitter) आते हैं

सप्लाई में noise है। 470 µF कैपेसिटर servo के पास लगाएँ, उसके तार छोटे रखें, और ज़रूरत हो तो उसे अलग पावर दें।

ढक्कन कभी खुलता ही नहीं

देखें कि Trig और Echo आपस में बदले तो नहीं गए। Serial Monitor खोलें और distanceCm() का print जोड़कर देखें कि सेंसर क्या पढ़ रहा है।

आगे क्या करें

  • ढक्कन के अंदर दूसरा HC-SR04 लगाकर नापें कि डिब्बा कितना भरा है।
  • डिब्बा भरने पर LED जलाएँ, या ESP32 वाले वर्ज़न से Wi-Fi अलर्ट भेजें।
  • दूसरा खाना और दो servo लगाकर सूखा और गीला कचरा अलग करें।

↑↓ to move · Enter to open