Digital Foot Ruler (0-9 Feet) Robotic Kit

Digital Foot Ruler (0-9 Feet) Robotic Kit

Icon Concept (For Designer)

Ek Ultrasonic Sensor kisi cheez ki doori naap raha hai. Paas mein 7-Segment Display par number '4' likha hai. Neeche ek Ruler (Scale) bana ho.

What It Does (Yeh Kya Karta Hai?)

Yeh robot aapko batayega ke koi cheez kitni door hai.

  • Agar aap haath 5 feet door rakhenge, toh screen par '5' likha aayega.
  • Agar 2 feet door rakhenge, toh '2' likha aayega. (Kyunki humare paas sirf 1 digit hai, hum sirf 0 se 9 feet tak hi dikha sakte hain).

Components Required

  • Microcontroller: Arduino Uno
  • 7-Segment Display (1 Digit, 10 Pins wala)
  • Ultrasonic Sensor (HC-SR04).
  • Jumper Wires (Kam se kam 8)

Wiring (Taarein Jorna)

Step 1: Common Connection (Resistor Yahan Lagega)

Display ki Neeche wali line mein jo Beech wala Pin (Pin 3) hai:

  • Us Pin se Resistor jodein.
  • Resistor ka doosra sira Arduino GND mein lagayen. (Is se sab LEDs safe rahengi).

Step 2: Segments Connection (A to G)

🔻 Neeche Wali Line (Left se shuru karein):

  1. Pehli Pin (E): → Arduino Pin 6
  2. Dusri Pin (D): → Arduino Pin 5
  3. Teesri (Common): → Yeh humne Resistor/GND se jod di hai.
  4. Chothi Pin (C): → Arduino Pin 4
  5. Paanchvi (Dot): → Khali chhor dein.

🔺 Upar Wali Line (Left se shuru karein):

  1. Pehli Pin (G): → Arduino Pin 8
  2. Dusri Pin (F): → Arduino Pin 7
  3. Teesri (Common): → Khali chhor dein (Neeche wali ground kaafi hai).
  4. Chothi Pin (A): → Arduino Pin 2
  5. Paanchvi Pin (B): → Arduino Pin 3

Ultrasonic Sensor (Naya Connection):

  • VCC: → Arduino 5V.
  • GND: → Arduino GND.
  • Trig: → Arduino Pin 10.
  • Echo: → Arduino Pin 11.
🛒 Buy This Robotic Kit Now

Code

// PlzPapa Project: Digital Foot Ruler (Final Version)
// Wiring: A=2, B=3, C=4, D=5, E=6, F=7, G=8
// Ultrasonic: Trig=10, Echo=11

const int trigPin = 10;
const int echoPin = 11;

// 7-Segment Patterns (0-9 aur Dash)
// A, B, C, D, E, F, G (1 = ON, 0 = OFF)
byte numbers[11][7] = {
  {1,1,1,1,1,1,0}, // 0
  {0,1,1,0,0,0,0}, // 1
  {1,1,0,1,1,0,1}, // 2
  {1,1,1,1,0,0,1}, // 3
  {0,1,1,0,0,1,1}, // 4
  {1,0,1,1,0,1,1}, // 5
  {1,0,1,1,1,1,1}, // 6
  {1,1,1,0,0,0,0}, // 7
  {1,1,1,1,1,1,1}, // 8
  {1,1,1,1,0,1,1}, // 9
  {0,0,0,0,0,0,1}  // 10 (Dash '-' for empty/out of range)
};

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
 
  // Segment Pins 2 se 8 tak Output set karein
  for(int i=2; i<=8; i++) {
    pinMode(i, OUTPUT);
  }
  Serial.begin(9600);
}

// Function to display number on 7-segment
void showDigit(int num) {
  int pin = 2; // Starting from Pin 2 (Segment A)
  for(int i=0; i<7; i++) {
    digitalWrite(pin, numbers[num][i]);
    pin++;
  }
}

void loop() {
  long duration;
  int distanceCm;
  int feet;

  // Ultrasonic Trigger
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Read Echo
  duration = pulseIn(echoPin, HIGH);
 
  // Convert to CM
  distanceCm = duration * 0.034 / 2;
 
  // Convert CM to Feet (1 Foot = 30.48 cm)
  // Example: Agar 185 cm hai to 185 / 30.48 = 6.06 (Screen par 6 ayega)
  feet = distanceCm / 30.48;

  // --- Serial Monitor Debugging ---
  Serial.print("Distance CM: ");
  Serial.print(distanceCm);
  Serial.print("  --->  FEET: ");
  Serial.println(feet); // Yeh check karein monitor par

  // --- Display Logic ---
  // Agar 9 feet se zyada ho ya sensor bohot qareeb ho (error) -> Dash (-)
  if (feet > 9 || distanceCm > 300 || distanceCm < 2) {
    showDigit(10); // Show Dash
  } else {
    showDigit(feet); // Show Feet Number (0-9)
  }

  delay(250); // Thora wait taake numbers jaldi jaldi change na hon
}


Test Kaise Karein:

  • Code upload karein.
  • Ab Sensor ke aage haath bohot qareeb rakhein -> '0' aayega.
  • Thoda peeche jayen (taqreeban 1 foot/12 inch) -> '1' aayega.
  • Aur peeche jayen -> 2, 3, 4... aata jayega.
  • 9 Feet se door hote hi '-' aa jayega.
Back to blog