کوڈ تلاش کریں

آرڈوینو کوڈ اور ویڈیو شارپ آئی آر ڈسٹنس ماجیول کے لیے ٹی ایم 1637 ڈسپلے کے ساتھ

آرڈوینو کوڈ اور ویڈیو شارپ آئی آر ڈسٹنس ماجیول کے لیے ٹی ایم 1637 ڈسپلے کے ساتھ

اس ٹیوٹوریل میں، ہم دریافت کریں گے کہ Sharp انفراریڈ فاصلہ ماجیول کو TM1637 ڈسپلے کے ساتھ ملا کر فاصلوں کی پیمائش اور بصری طور پر نمائندگی کیسے کی جائے۔ یہ سیٹ اپ آپ کو فاصلوں کی درست پیمائش کرنے اور انہیں TM1637 ماجیول پر حقیقی وقت میں ظاہر کرنے کی اجازت دیتا ہے۔ اس گائیڈ کے اختتام تک، آپ کے پاس ایک کام کرنے والا پروجیکٹ ہوگا جو فاصلوں کی پیمائش کر سکتا ہے اور انہیں ڈسپلے پر دکھا سکتا ہے۔

Sharpt IR distance sensor

اس پروجیکٹ کے لیے، آپ کو وائرنگ اور کوڈ کو سمجھنے کی ضرورت ہوگی جو اجزاء کے درمیان تعامل کو چلاتا ہے۔ Sharp IR فاصلہ سینسر ماپا گیا فاصلہ Arduino تک پہنچاتا ہے، جو بدلے میں TM1637 ڈسپلے کو اپڈیٹ کرتا ہے۔ یہ ٹیوٹوریل وائرنگ کی ہدایات کی تفصیل دے گا اور کوڈ کے بارے میں بصیرت فراہم کرے گا جو سب کچھ آسانی سے کام کرتا ہے (ویڈیو میں 00:00 پر)۔

ہارڈویئر کی وضاحت

اس پروجیکٹ کے اہم اجزاء Sharp IR فاصلہ ماجیول اور TM1637 ڈسپلے ہیں۔ Sharp IR ماجیول کسی چیز تک فاصلہ ماپنے کے لیے انفراریڈ روشنی استعمال کرتا ہے، خارج شدہ روشنی کے واپس منعکس ہونے میں لگنے والے وقت کا حساب لگا کر۔ یہ ایک اینالاگ آؤٹ پٹ فراہم کرتا ہے جو ماپے گئے فاصلے کی بنیاد پر مختلف ہوتا ہے۔

TM1637 ڈسپلے ایک چار ہندسوں والا 7-سیگمنٹ ڈسپلے ہے جو دو پنوں کے ذریعے کنٹرول کیا جاتا ہے: ایک کلاک پن اور ایک ڈیٹا ان پٹ/آؤٹ پٹ پن۔ یہ ڈسپلے Sharp IR ماجیول سے فاصلے کی ریڈنگز کی آسان تصور کی اجازت دیتا ہے، جو اسے مختلف ایپلیکیشنز کے لیے صارف دوست اور عملی بناتا ہے۔

ڈیٹاشیٹ کی تفصیلات

مینوفیکچررSharp
پارٹ نمبرGP2Y0A41SK0F
لاجک/IO وولٹیج5 V
سپلائی وولٹیج4.5–15 V
آؤٹ پٹ کرنٹ (فی چینل)10 mA
پیک کرنٹ (فی چینل)60 mA
PWM فریکوئنسی رہنمائیN/A
ان پٹ لاجک تھریشولڈز0.8 V (کم)، 2.0 V (زیادہ)
وولٹیج ڈراپ / RDS(on) / سیچوریشنN/A
تھرمل حدود–10 سے 60 °C
پیکیجپلاسٹک کیس
نوٹس / مختلف اقسامفاصلہ پیمائش کی حد: 10–80 سینٹی میٹر

  • سینسر کو نقصان پہنچانے سے بچنے کے لیے مناسب پاور سپلائی (4.5–15 V) یقینی بنائیں۔
  • استحکام کے لیے پاور پنوں کے قریب ڈیکپلنگ کیپسیٹرز استعمال کریں۔
  • مداخلت سے بچنے کے لیے سینسر کو براہ راست سورج کی روشنی سے دور رکھیں۔
  • درست فاصلہ ریڈنگز کے لیے سینسر کو کیلیبریٹ کریں۔
  • غلط مواصلت سے بچنے کے لیے TM1637 ڈسپلے کو درست طریقے سے وائر کریں۔
  • زیادہ کرنٹ پر کام کرتے وقت ہیٹ سنکنگ پر غور کریں۔

وائرنگ ہدایات

Sharp IR فاصلہ ماجیول اور TM1637 ڈسپلے کو Arduino سے وائر کرنے کے لیے، ان مراحل پر عمل کریں:

Sharp IR ماجیول کی سرخ تار کو Arduino پر 5V پن سے جوڑیں۔ پھر، سیاہ تار کو Arduino پر گراؤنڈ (GND) پن سے جوڑیں۔ پیلی تار، جو آؤٹ پٹ ہے، کو Arduino پر اینالاگ پن A0 سے جوڑا جانا چاہیے۔ TM1637 ڈسپلے کے لیے، CLK پن کو ڈیجیٹل پن 2 سے اور DIO پن کو Arduino کے ڈیجیٹل پن 3 سے جوڑیں۔ یہ سیٹ اپ Arduino کو Sharp IR ماجیول سے فاصلہ پڑھنے اور ڈیٹا TM1637 ڈسپلے کو بھیجنے کی اجازت دیتا ہے۔

کسی بھی وقفے وقفے سے مسائل سے بچنے کے لیے تمام کنکشنز محفوظ ہونے کو یقینی بنائیں۔ اگر آپ جمپر تار استعمال کر رہے ہیں، تو یقینی بنائیں کہ وہ ڈھیلے کنکشن سے بچنے کے لیے مناسب طریقے سے جڑے ہوئے ہیں۔

کوڈ مثالیں اور واک تھرو

درج ذیل اقتباس دکھاتا ہے کہ ڈسپلے اور سینسر کیسے ترتیب دیے گئے ہیں:

#define CLK 2 // CLK کو پن 2 سے جوڑیں
#define DIO 3 // DIO کو پن 3 سے جوڑیں

SharpIR SharpIR(A0, model); // Sharp IR سینسر کو انیشیالائز کریں

اس حصے میں، ہم TM1637 ڈسپلے کے لیے پنوں کی وضاحت کرتے ہیں اور اینالاگ پن A0 کی وضاحت کرکے Sharp IR سینسر کو انیشیالائز کرتے ہیں۔ یہ Arduino کے لیے یہ جاننا ضروری ہے کہ IR سینسر سے ڈیٹا کہاں سے پڑھنا ہے۔

لوپ فنکشن فاصلہ پیمائش حاصل کرتا ہے اور اسے ظاہر کرتا ہے:

int dis = SharpIR.distance();  // فاصلہ حاصل کریں
display.showNumberDec(dis, false, 3, 1); // فاصلہ ظاہر کریں

یہاں، فاصلہ متغیر dis میں محفوظ کیا جاتا ہے، اور TM1637 ڈسپلے اس قدر کو دکھانے کے لیے اپڈیٹ ہوتا ہے۔ showNumberDec میں پیرامیٹرز کنٹرول کرتے ہیں کہ نمبر کیسے ظاہر ہوتا ہے، اس بات کو یقینی بناتے ہوئے کہ یہ درست طریقے سے فارمیٹ ہوا ہے۔

مظاہرہ / کیا توقع کریں

ایک بار جب آپ سب کچھ وائر کر لیں اور کوڈ اپ لوڈ کر لیں، تو آپ کو TM1637 پر فاصلہ ظاہر ہوتا دیکھنا چاہیے۔ جیسے ہی آپ کسی چیز کو سینسر کے قریب یا دور منتقل کرتے ہیں، ڈسپلے حقیقی وقت میں اپڈیٹ ہوگا۔ تاہم، زیادہ فاصلوں پر ممکنہ غلطیوں سے آگاہ رہیں، جیسا کہ ویڈیو میں نوٹ کیا گیا ہے (ویڈیو میں 12:00 پر)۔

عام مسائل میں پاور کنکشنز پر الٹی پولیرٹی اور سینسر پر فلوٹنگ ان پٹ شامل ہیں، جو بے ترتیب ریڈنگز کا باعث بن سکتے ہیں۔ اہم پیمائشوں کے لیے انحصار کرنے سے پہلے اپنے سیٹ اپ کو اچھی طرح جانچنا یقینی بنائیں۔

ویڈیو ٹائم اسٹیمپس

  • 00:00 - پروجیکٹ کا تعارف
  • 01:30 - وائرنگ ہدایات
  • 03:00 - کوڈ واک تھرو
  • 05:30 - فاصلہ پیمائش کا مظاہرہ
  • 08:00 - عام مسائل اور ٹربل شوٹنگ

تصاویر

Sharpt IR distance sensor GP2Y0A21YK0F
Sharpt IR distance sensor GP2Y0A21YK0F
Sharpt IR distance sensor
Sharpt IR distance sensor GP2Y0A21YK0F
68-Sharp IR (infrared) module with TM1637 Display for Arduino
زبان: C++
/*
 * Sharp IR (infrared) distance measurement module with TM1637 Display for Arduino
 * Measures the distance in cm.

 * Original library: https://github.com/guillaume-rico/SharpIR
  * Original code for TM1637 from https://github.com/avishorp/TM1637
  
 * Watch video instructions for this code: https://youtu.be/dnjY9n927HI

 * Written by Ahmad Shamshiri on Feb 03, 2018 at 12:32
 * in Ajax, Ontario, Canada. www.robojax.com
 * 

 * Get this code and other Arduino codes from Robojax.com
Learn Arduino step by step in a structured course with all material, wiring diagrams, and libraries
all in one place. 

If you found this tutorial helpful, please support me so I can continue creating 
content like this. 

or make a donation using PayPal http://robojax.com/L/?id=64

 *  * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.* 
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

*/
#include <Arduino.h>
#include <TM1637Display.h>

// Display Module connection pins (Digital Pins)
#define CLK 2 // connect CLK to pin 2
#define DIO 3 // connect DIO to pin 3

// The amount of time (in milliseconds) between display
#define TEST_DELAY   100  
  uint8_t blank[] = { 0x0, 0x0, 0x0, 0x0 };// blank screen

TM1637Display display(CLK, DIO);

///////////////////***** start of Sharp IR
#include <SharpIR.h>

#define IR A0 // define Sharp IR signal pin
#define model 430 // the model of the IR module
// Sharp IR code for Robojax.com
// ir: the pin where your sensor is attached
// model: an int that determines your sensor:
/*
 * GP2Y0A02YK0F --> "20150"
 GP2Y0A21YK --> "1080"
 GP2Y0A710K0F --> "100500"
  GP2YA41SK0F --> "430"
 */

SharpIR SharpIR(IR, model);
/////////////////////**** end of Sharp IR


void setup()
{
  // Sharp IR with TM1637 Display code for Robojax.com
   display.setBrightness(0x0f);// set the brightness at max
}

void loop()
{
  // Sharp IR with TM1637 Display code for Robojax.com
  display.setSegments(blank);// clear the screen
  
  int dis=SharpIR.distance();  // this returns the distance to the object you're measuring

  display.showNumberDec(dis, false, 3, 1);// display the distance
  delay(TEST_DELAY);//delay between display
 // Sharp IR with TM1637 Display code for Robojax.com


}

آپ کو جن چیزوں کی ضرورت ہو سکتی ہے

وسائل اور حوالہ جات

فائلیں📁

آرڈوینو لائبریریاں (زپ)

ڈیٹا شیٹ (پی ڈی ایف)

فریٹزنگ فائل

صارف کا دستی کتاب

دیگر فائلیں