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

اس پروجیکٹ کے لیے، آپ کو وائرنگ اور کوڈ کو سمجھنے کی ضرورت ہوگی جو اجزاء کے درمیان تعامل کو چلاتا ہے۔ 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 - عام مسائل اور ٹربل شوٹنگ
/*
* 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
}
آپ کو جن چیزوں کی ضرورت ہو سکتی ہے
-
ایمیزون
وسائل اور حوالہ جات
-
باہرونیSharp IR GP2Y0A51SK0F Datasheet (PDF)global.sharp
فائلیں📁
آرڈوینو لائبریریاں (زپ)
-
TM1637 Arduino Library
TM1637_library.zip1.36 MB -
Arduino library for sharp IR distance sensor
robojax-sharp_IR-master.zip
ڈیٹا شیٹ (پی ڈی ایف)
-
Sharp IR GP2Y0A21YK Infrared distance sensor datasheet
robojax_sharp_IR_GP2Y0A21YK_datasheet.pdf0.36 MB
فریٹزنگ فائل
-
TM1637 Seven Segment module
TM1637.fzpz0.01 MB -
sharp ir sensor GP2Y0A02YK0F
sharp ir sensor GP2Y0A02YK0F .fzz
صارف کا دستی کتاب
-
TM1637 ڈسپلے دستی
robojax-TM1637_display_manual.pdf0.31 MB
دیگر فائلیں
-
Sharp GP2Y0A41SK0F Infrared distance sensor datasheet
robojax_sharp_IR_GP2Y0A41SK0F_datasheet.pdf0.84 MB -
Sharp GP2Y0A710K0F Infrared distance sensor datashee
robojax_sharp_IR_GP2Y0A710K0F_datasheet.pdf0.33 MB